Coder Social home page Coder Social logo

webb-tools / tangle Goto Github PK

View Code? Open in Web Editor NEW
47.0 4.0 23.0 185.77 MB

Modular restaking infrastructure for developers, restakers, and operators.

Home Page: https://www.tangle.tools/

License: GNU General Public License v3.0

Dockerfile 0.03% Rust 76.21% Shell 0.05% TypeScript 22.20% JavaScript 0.47% Nix 0.03% Solidity 0.92% Handlebars 0.07% Python 0.02%
blockchain mpc rust substrate threshold-signatures tss zero-knowledge

tangle's Introduction

The Tangle Network

An modular restaking infrastructure for complex services.

Twitter Telegram Discord

Table of Contents

Table of Contents

Getting Started

Tangle is restaking network focused around complex offchain computations, such as MPC (multi party computation), zero-knowledge proof generation, AI services, and more.

If you would like to familiarize yourself with Tangle Network check out following repo and docs:

Prerequisites

This guide uses https://rustup.rs installer and the rustup tool to manage the Rust toolchain.

First install and configure rustup:

# Install
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
# Configure
source ~/.cargo/env

Great! Now your Rust environment is ready!

Note: You may need additional dependencies, checkout substrate.io for more information.

Installation using Nix

If you want to use Nix for development, please follow following instructions
  1. Install Nix
  2. Enable Flakes (if you are not already see here: Flakes)
  3. If you have direnv installed, everything should work out of the box.
  4. Alternatively, you can run nix flake develop in the root of this repo to get a shell with all the dependencies installed.

Run Tangle Testnet

  1. Build tangle node.
  cargo build --release --features testnet
  1. Execute tangle network setup script to run it locally.
./scripts/run-standalone-local.sh --clean

This should start the local testnet, you can view the logs in /tmp directory for all the authorities and use polkadotJS to view the running testnet.

  1. To Start validating on the live testnet please visit Starting a validator on Tangle docs.

Troubleshooting

The linking phase may fail due to not finding libgmp (i.e., "could not find library -lgmp") when building on apple silicon. To fix this problem, run:

brew install gmp
# make sure to run the commands below each time when starting a new env, or, append them to .zshrc
export LIBRARY_PATH=$LIBRARY_PATH:/opt/homebrew/lib
export INCLUDE_PATH=$INCLUDE_PATH:/opt/homebrew/include

Contributing

Interested in contributing to the Tangle Network? Thank you so much for your interest! We are always appreciative for contributions from the open-source community!

If you have a contribution in mind, please check out our Contribution Guide for information on how to do so. We are excited for your first contribution!

License

Licensed under GNU General Public License v3.0.

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in this crate by you, as defined in the GNU General Public License v3.0 license, shall be licensed as above, without any additional terms or conditions.

tangle's People

Contributors

1xstj avatar ahmedkorim avatar atelypham avatar devpavan04 avatar drewstone avatar dutterbutter avatar freddyli7 avatar ltfschoen avatar monaiuu avatar nepoche avatar nutomic avatar salman01zp avatar shekohex avatar tbraun96 avatar thomivy avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

tangle's Issues

[BUG] Calling `payment_queryFeeDetails` panics with `wasm `unreachable` instruction executed`

Overview

While using the Polkadot UI to call payment_queryFeeDetails with 0x00001054657374 as the extrinsic, it panics with the following error:

Unable to query fee details.","data":"Execution failed: Execution aborted due to trap: wasm trap: wasm `unreachable` instruction executed\nWASM backtrace:\n\n    0: 0x457a5 - <unknown>!rust_begin_unwind\n    1: 0x65cf - <unknown>!core::panicking::panic_fmt::hfe37e9ab276daaaa\n    2: 0xcd517 - <unknown>!TransactionPaymentApi_query_fee_details

RPC Call:

{"id":34,"jsonrpc":"2.0","method":"payment_queryFeeDetails","params":["0x00001054657374"]}

Response:

{"jsonrpc":"2.0","error":{"code":1,"message":"Unable to query fee details.","data":"Execution failed: Execution aborted due to trap: wasm trap: wasm `unreachable` instruction executed\nWASM backtrace:\n\n    0: 0x457a5 - <unknown>!rust_begin_unwind\n    1: 0x65cf - <unknown>!core::panicking::panic_fmt::hfe37e9ab276daaaa\n    2: 0xcd517 - <unknown>!TransactionPaymentApi_query_fee_details\n"},"id":34}

[TASK] Update docker deployment with relayer inclusion

Overview

We want to make deploying a Tangle node incredibly easy alongside a configured relayer. The intent here is to have a docker-compose file that neatly configures both the Tangle node and the relayer for easy startup.

Existing Dockerfiles

Task Checklist

  • Update Dockerfiles in Tangle
  • Add relayer Dockerfile in Tangle
  • Add docker-compose file to Tangle for Tangle node configuration and relayer configuration
  • Test docker deployment

[TASK] Deploy secure setup nodes

Overview

We will need to create a repo, and instructions on how to set up a secure node infrastructure. This will be used by ourselves to host our own nodes, and provided for future node operators.

It should largely reflect the polkadot secure setup repo and follow up with a page in our docs explaining the setup. May also make use of dkg-ops repo for secure setup template.

Tasks

  • Fork polkadot validator setup and change pointed repo to egg-net
  • Deploy three node network to test and ensure it deploys correctly
  • Document setup instructions and prepare for docs site

[BUG] InvalidKey Error

Bug:
After a few keygen/signing sessions we start to see this error on all collators

Async Proto Errored: GenericError { reason:Proceed(ProceedRound(Round2VerifyCommitments(ErrorType { error_type: \“invalid key\“, bad_actors: [0], data: [] })))}

How to reproduce:

  1. Clone and switch to tangle-error-debug branch
  2. cargo b -rp tangle-parachain
  3. Ensure to clone and build polkadot (make sure update your local polkadot path in dkg-launch.json file)
  4. Run polkadot-launch ./scripts/polkadot-launch/dkg-launch.json to start a parachain network

The session time is set to 3min, wait for a couple session rotations and the proposal signing fails with the above error

[TASK] Minimize runtime size and ensure runtime size fits with existing relay chain allowed sizes

Overview

It is recommended to use a compressed version of the runtime to lower the amount of resource consumption as much as possible for the relay chain.

It is recommended to launch a parachain with limited functionality and gradually increase it with runtime upgrades. The reason behind that is that during a runtime upgrade both the previous runtime and the new runtime are included in the PoVBlock and therefore if the changes are large enough the block might be rejected by the Relay Chain due to PoVBlock size limits.

If the runtime is included in the state proof, ensure the PoV block (i.e. the set of extrinsics, including the new runtime, the PoV state proof, potentially the old runtime) fits within the PoVBlock size limit. If the runtime is not included in the state proof, the size limit of the new runtime will be much higher.

We much check the following constraints:

  • The runtime version of the relay chain you are targeting (these may change)
  • MAX_CODE_SIZE
  • MAX_HEAD_DATA_SIZE
  • MAX_POV_SIZE

You must have your parachain fit comfortably within these maxima. You can also use the the Polkadot-JS Apps UI connected to a relay node to see these constants:

Developers -> ParachainsConfiguration -> ActiveConfiguration

Tasks

  • Determine what pallets to include on launch
  • Check if parachain fits comfortably within the maxima mentioned above
  • Make any adjustments if necessary

[TASK] Emit events on collator payout

Currently its not clear the exact amount paid to collators, it would be lot clearer if we had a single event that denoted the total amount paid to block author.

[BUG] dkg: No peers to gossip message

Issue:

  • Start a relaychain and parachain network as documented here (https://docs.substrate.io/tutorials/connect-other-chains/local-relay/)
  • Once the parachain is onboarded, the DKG produces misbehaviour reports, the source of the reports is that the DKG does not find/recognise any peers, although we have 3 collators peering and authoring blocks successfully.

Current Setup:

  • 2 relaychain nodes (running polkadot v0.9.26) (separate machines)
  • 3 parachain nodes (running stj/webb-relaychain branch) (separate machines)

Startup commands used for egg-net nodes

/usr/local/bin/egg-collator \
  --collator --chain /root/egg-net/resources/testnet/template-local-raw.json \
  --base-path /mnt/blockstorage/para \
  --port 30334 \
  --node-key-file /root/node-key \
  --force-authoring \
  --ws-port 9944 --ws-external --rpc-port 9980 \
  --rpc-cors all --rpc-external \
  --unsafe-ws-external --unsafe-rpc-external \
  --bootnodes /ip4/""/tcp/30334/p2p/"" \
  -ldkg=debug \
  -ldkg_metadata=debug \
  -lruntime::offchain=debug \
  -ldkg_proposal_handler=debug \
  -ldkg_proposals=debug \
  --log info \
  --rpc-methods=unsafe -- --execution wasm --chain /root/egg-net/resources/testnet/rococo->
  --bootnodes /ip4/""/tcp/30333/p2p/""

Debug logs from collator 1

2022-08-09 12:04:18.034 DEBUG tokio-runtime-worker dkg: Going to handle Import notification    
2022-08-09 12:04:18.034 DEBUG tokio-runtime-worker dkg: 🕸️  Processing block notification for block 99    
2022-08-09 12:04:18.034 DEBUG tokio-runtime-worker dkg: 🕸️  Latest header is now: 99    
2022-08-09 12:04:18.034  INFO tokio-runtime-worker substrate: ✨ Imported #99 (0xe484…e7a9)    
2022-08-09 12:04:18.034  INFO tokio-runtime-worker cumulus-collator: PoV size { header: 0.1796875kb, extrinsics: 2.748046875kb, storage_proof: 10.9677734375kb }
2022-08-09 12:04:18.035  INFO tokio-runtime-worker cumulus-collator: Compressed PoV size: 10.84765625kb
2022-08-09 12:04:18.035  INFO tokio-runtime-worker cumulus-collator: Produced proof-of-validity candidate. block_hash=0xe4846d2c535dd651b049dba7e7e6f1545eb1e2eea41418533543e78126f9e7a9
2022-08-09 12:04:19.773 DEBUG tokio-runtime-worker dkg_gadget::async_protocols::misbehaviour_monitor: [MisbehaviourMonitor] Performing periodic check ...    
2022-08-09 12:04:19.773 DEBUG tokio-runtime-worker dkg_gadget::async_protocols::misbehaviour_monitor: [MisbehaviourMonitor] Remote status Keygen    
2022-08-09 12:04:19.773 DEBUG tokio-runtime-worker dkg_gadget::async_protocols::misbehaviour_monitor: [MisbehaviourMonitor] Unreceived messages: CurrentRoundBlame { unreceived_messages: 1, blamed_parties: [2] }    
2022-08-09 12:04:19.773  WARN tokio-runtime-worker dkg_gadget::async_protocols::misbehaviour_monitor: [MisbehaviourMonitor] Keygen has stalled! Will determine which authorities are misbehaving ...    
2022-08-09 12:04:19.773  WARN tokio-runtime-worker dkg_gadget::async_protocols::misbehaviour_monitor: Blamed 2 for keygen stalled!    
2022-08-09 12:04:19.773 DEBUG tokio-runtime-worker dkg: Going to gossip misbehaviour    
2022-08-09 12:04:19.778 DEBUG tokio-runtime-worker dkg: 💀  (Round: 0) Sending Misbehaviour message: (219 bytes)    
2022-08-09 12:04:19.778 DEBUG tokio-runtime-worker dkg: Sending message to all peers    
2022-08-09 12:04:19.778  WARN tokio-runtime-worker dkg: No peers to gossip message 0x7266…846c    
2022-08-09 12:04:19.789 DEBUG tokio-runtime-worker dkg_gadget::async_protocols::misbehaviour_monitor: [MisbehaviourMonitor] Performing periodic check ...    
2022-08-09 12:04:19.789 DEBUG tokio-runtime-worker dkg_gadget::async_protocols::misbehaviour_monitor: [MisbehaviourMonitor] Remote status Keygen    
2022-08-09 12:04:19.789 DEBUG tokio-runtime-worker dkg_gadget::async_protocols::misbehaviour_monitor: [MisbehaviourMonitor] Unreceived messages: CurrentRoundBlame { unreceived_messages: 1, blamed_parties: [2] }    
2022-08-09 12:04:19.789  WARN tokio-runtime-worker dkg_gadget::async_protocols::misbehaviour_monitor: [MisbehaviourMonitor] Keygen has stalled! Will determine which authorities are misbehaving ...    
2022-08-09 12:04:19.789  WARN tokio-runtime-worker dkg_gadget::async_protocols::misbehaviour_monitor: Blamed 2 for keygen stalled!    
2022-08-09 12:04:19.789 DEBUG tokio-runtime-worker dkg: Going to gossip misbehaviour    
2022-08-09 12:04:19.793 DEBUG tokio-runtime-worker dkg: 💀  (Round: 1) Sending Misbehaviour message: (219 bytes)    
2022-08-09 12:04:19.793 DEBUG tokio-runtime-worker dkg: Sending message to all peers    
2022-08-09 12:04:19.793  WARN tokio-runtime-worker dkg: No peers to gossip message 0x5b01…8239    
2022-08-09 12:04:20.600  INFO tokio-runtime-worker substrate: 💤 Idle (2 peers), best: #98 (0x73c9…5f1b), finalized #96 (0x2774…47f6), ⬇ 0.1kiB/s ⬆ 2.2kiB/s    
2022-08-09 12:04:20.608  INFO tokio-runtime-worker substrate: 💤 Idle (4 peers), best: #367 (0x5134…1476), finalized #364 (0xc82b…7da3), ⬇ 2.0kiB/s ⬆ 3.9kiB/

Debug logs from collator 3

2022-08-09 11:52:43.626 DEBUG tokio-runtime-worker dkg: Going to gossip misbehaviour    
2022-08-09 11:52:43.631 DEBUG tokio-runtime-worker dkg: 💀  (Round: 0) Sending Misbehaviour message: (219 bytes)    
2022-08-09 11:52:43.631 DEBUG tokio-runtime-worker dkg: Sending message to all peers    
2022-08-09 11:52:43.631  WARN tokio-runtime-worker dkg: No peers to gossip message 0x528a…0e43    
2022-08-09 11:52:43.654 DEBUG tokio-runtime-worker dkg_gadget::async_protocols::misbehaviour_monitor: [MisbehaviourMonitor] Performing periodic check ...    
2022-08-09 11:52:43.654 DEBUG tokio-runtime-worker dkg_gadget::async_protocols::misbehaviour_monitor: [MisbehaviourMonitor] Remote status Keygen    
2022-08-09 11:52:43.654 DEBUG tokio-runtime-worker dkg_gadget::async_protocols::misbehaviour_monitor: [MisbehaviourMonitor] Unreceived messages: CurrentRoundBlame { unreceived_messages: 1, blamed_parties: [1] }    
2022-08-09 11:52:43.654  WARN tokio-runtime-worker dkg_gadget::async_protocols::misbehaviour_monitor: [MisbehaviourMonitor] Keygen has stalled! Will determine which authorities are misbehaving ...    
2022-08-09 11:52:43.654  WARN tokio-runtime-worker dkg_gadget::async_protocols::misbehaviour_monitor: Blamed 1 for keygen stalled!    
2022-08-09 11:52:43.654 DEBUG tokio-runtime-worker dkg: Going to gossip misbehaviour    
2022-08-09 11:52:43.658 DEBUG tokio-runtime-worker dkg: 💀  (Round: 1) Sending Misbehaviour message: (219 bytes)    
2022-08-09 11:52:43.658 DEBUG tokio-runtime-worker dkg: Sending message to all peers    
2022-08-09 11:52:43.658  WARN tokio-runtime-worker dkg: No peers to gossip message 0xbe55…90b3    
2022-08-09 11:52:44.751  INFO tokio-runtime-worker substrate: 💤 Idle (2 peers), best: #43 (0xf3d7…f77a), finalized #41 (0x8709…49ac), ⬇ 3.9kiB/s ⬆ 98 B/s    
2022-08-09 11:52:44.821  INFO tokio-runtime-worker substrate: 💤 Idle (4 peers), best: #251 (0xebe8…cb40), finalized #248 (0x4bc2…f2a1), ⬇ 1.8kiB/s ⬆ 1.6kiB/s    
2022-08-09 11:52:45.627 DEBUG tokio-runtime-worker dkg_gadget::async_protocols::misbehaviour_monitor: [MisbehaviourMonitor] Performing periodic check ...    
2022-08-09 11:52:45.627 DEBUG tokio-runtime-worker dkg_gadget::async_protocols::misbehaviour_monitor: [MisbehaviourMonitor] Remote status Keygen    
2022-08-09 11:52:45.627 DEBUG tokio-runtime-worker dkg_gadget::async_protocols::misbehaviour_monitor: [MisbehaviourMonitor] Unreceived messages: CurrentRoundBlame { unreceived_messages: 1, blamed_parties: [1] }    
2022-08-09 11:52:45.627  WARN tokio-runtime-worker dkg_gadget::async_protocols::misbehaviour_monitor: [MisbehaviourMonitor] Keygen has stalled! Will determine which authorities are misbehaving ...    
2022-08-09 11:52:45.627  WARN tokio-runtime-worker dkg_gadget::async_protocols::misbehaviour_monitor: Blamed 1 for keygen stalled!    
2022-08-09 11:52:45.627 DEBUG tokio-runtime-worker dkg: Going to gossip misbehaviour    
2022-08-09 11:52:45.631 DEBUG tokio-runtime-worker dkg: 💀  (Round: 0) Sending Misbehaviour message: (219 bytes)    
2022-08-09 11:52:45.631 DEBUG tokio-runtime-worker dkg: Sending message to all peers    
2022-08-09 11:52:45.631  WARN tokio-runtime-worker dkg: No peers to gossip message 0x528a…0e43    
2022-08-09 11:52:45.654 DEBUG tokio-runtime-worker dkg_gadget::async_protocols::misbehaviour_monitor: [MisbehaviourMonitor] Performing periodic check ...    
2022-08-09 11:52:45.654 DEBUG tokio-runtime-worker dkg_gadget::async_protocols::misbehaviour_monitor: [MisbehaviourMonitor] Remote status Keygen    
2022-08-09 11:52:45.654 DEBUG tokio-runtime-worker dkg_gadget::async_protocols::misbehaviour_monitor: [MisbehaviourMonitor] Unreceived messages: CurrentRoundBlame { unreceived_messages: 1, blamed_parties: [1] }    
2022-08-09 11:52:45.654  WARN tokio-runtime-worker dkg_gadget::async_protocols::misbehaviour_monitor: [MisbehaviourMonitor] Keygen has stalled! Will determine which authorities are misbehaving ...    
2022-08-09 11:52:45.654  WARN tokio-runtime-worker dkg_gadget::async_protocols::misbehaviour_monitor: Blamed 1 for keygen stalled!    
2022-08-09 11:52:45.654 DEBUG tokio-runtime-worker dkg: Going to gossip misbehaviour    
2022-08-09 11:52:45.659 DEBUG tokio-runtime-worker dkg: 💀  (Round: 1) Sending Misbehaviour message: (219 bytes)    
2022-08-09 11:52:45.659 DEBUG tokio-runtime-worker dkg: Sending message to all peers    
2022-08-09 11:52:45.659  WARN tokio-runtime-worker dkg: No peers to gossip message 0xbe55…90b3   

[TASK] Add block production and dkg rotation tests to CI

Summary :

  • Integrate tests in CI to ensure parachain and standalone produces blocks in the default chainspec configuration
  • Integrate tests in CI to ensure dkg session rotation works, this would likely require adding a special feature flag with reduced session time to speed up tests.

[TASK] Onboard to Rococo network

Overview

We will need to onboard to Rococo to further test production readiness. Once fully onboarded we should be sure to test e2e flows:

  • Once Tangle is onboarded as a parachain on Rococo, transfer ownership of the signature bridge to DKG and test the following:
    • Deposit
    • Withdraw
    • Transfer
    • Reducing / increasing network threshold
    • Reducing / increasing collator count
    • Adding / removing relayers / proposers

Tasks

  • Coordinate with team to prepare for heavy QA / testing once onboarded (everyone should have a particular role - stop/starting a node, deposits, withdraws, relayers etc.)
  • Onboard / secure Rococo slot
  • Test the migration / runtime upgrade strategy on Rococo
  • Document all issues

[TASK] Improve docker deployment usage for full and collator node usage

Overview

To make it easier for users to start and deploy a Tangle node we should improve our naming convention, tag docker images with applicable release tags, and add docker-compose files for specific use cases.

Task Checklist

  • Update the binary name from tangle-collator to tangle - Having the collator term there could cause confusion for people attempting to start a full node rather than a collator
  • Cut a release and tag applicable docker image with version number (e.g. webb-tools/tangle:v0.1.1)
  • Update GH actions docker workflow with above mentioned change
  • Add docker-compose.yml file for full node usage
  • Add docker-compose.yml file for collator node usage
  • Add docker-compose.yml file for node + relayer usage
  • Update readme instructions and docker readme

[TASK] Add support for the `bridge-registry` pallet

Overview

We need to add support for the bridge-registry pallet in the standalone & parachain runtime(s).

Example

parameter_types! {
  pub const ChainIdentifier: TypedChainId = TypedChainId::Substrate(5);
  pub const ProposalLifetime: BlockNumber = HOURS / 5;
  pub const DKGAccountId: PalletId = PalletId(*b"dw/dkgac");
  pub const RefreshDelay: Permill = Permill::from_percent(50);
  pub const TimeToRestart: BlockNumber = 3;
  pub const UnsignedProposalExpiry: BlockNumber = Period::get() * 2;
}

impl pallet_dkg_proposal_handler::Config for Runtime {
	type RuntimeEvent = RuntimeEvent;
	type OffChainAuthId = dkg_runtime_primitives::offchain::crypto::OffchainAuthId;
	type MaxSubmissionsPerBatch = frame_support::traits::ConstU16<100>;
	type UnsignedProposalExpiry = UnsignedProposalExpiry;
	type SignedProposalHandler = BridgeRegistry;
	type WeightInfo = pallet_dkg_proposal_handler::weights::WebbWeight<Runtime>;
}

parameter_types! {
	pub const MaxResources: u32 = 32;
}

type BridgeRegistryInstance = pallet_bridge_registry::Instance1;
impl pallet_bridge_registry::Config<BridgeRegistryInstance> for Runtime {
	type RuntimeEvent = RuntimeEvent;
	type BridgeIndex = u32;
	type MaxAdditionalFields = MaxAdditionalFields;
	type MaxResources = MaxResources;
	type ForceOrigin = frame_system::EnsureRoot<AccountId>;
	type WeightInfo = ();
}

// ...

	BridgeRegistry: pallet_bridge_registry::<Instance1>,

See: https://github.com/webb-tools/dkg-substrate/blob/052353713e4e855a512897818c66fac2615c5dbe/standalone/runtime/src/lib.rs#L724-L732

[TASK] Update benchmarks and use proper weights

Overview

The runtime is using default weights for many pallets, it would be ideal to write benchmarks for these pallets and execute benchmarks to generate weights that make sense for our parachain.

Use runtime benchmarking to ensure that the runtime weights are actually indicative of the resources used by the runtime.

Custom weights
If we need to diverge from benchmarks, make sure that each pallet in the runtime employs the correct weighting system.

Set block weight limit
It is recommended to have a block weight limit (block production time) of 0.5 seconds in the beginning due to uncertainties in block execution time. As the execution time of the network stabilizes the weight limit can be increased to 2 seconds.

Tasks

[BUG] `basic-block-import-worker` failed

Starting parachain fails with error

2023-01-27 11:57:47.678 ERROR tokio-runtime-worker sc_service::task_manager: [Parachain] Essential task `basic-block-import-worker` failed. Shutting down service.    
2023-01-27 11:57:47.683 ERROR tokio-runtime-worker polkadot_overseer: [Relaychain] subsystem exited with error subsystem="runtime-api-subsystem" err=Generated(Context("Signal channel is terminated and empty."))
2023-01-27 11:57:47.685 ERROR tokio-runtime-worker libp2p_mdns::behaviour: [Parachain] failed to create `InterfaceState`: A Tokio 1.x context was found, but it is being shutdown.    
2023-01-27 11:57:47.685 ERROR tokio-runtime-worker libp2p_mdns::behaviour: [Parachain] failed to create `InterfaceState`: A Tokio 1.x context was found, but it is being shutdown.    
2023-01-27 11:57:47.685 ERROR tokio-runtime-worker libp2p_mdns::behaviour: [Parachain] failed to create `InterfaceState`: A Tokio 1.x context was found, but it is being shutdown.    
Error: Service(Other("Essential task failed."))
error err=Err(Canceled)
2023-01-27 12:00:42.140  WARN tokio-runtime-worker polkadot_overseer: [Relaychain] dropping error err=Err(Canceled)
2023-01-27 12:00:42.140  WARN tokio-runtime-worker polkadot_overseer: [Relaychain] dropping error err=Err(Canceled)
2023-01-27 12:00:42.140  WARN tokio-runtime-worker polkadot_overseer: [Relaychain] dropping error err=Err(Canceled)
2023-01-27 12:00:42.140  WARN tokio-runtime-worker polkadot_overseer: [Relaychain] dropping error err=Err(Canceled)
2023-01-27 12:00:42.140  WARN tokio-runtime-worker polkadot_overseer: [Relaychain] dropping error err=Err(Canceled)
2023-01-27 12:00:42.140  WARN tokio-runtime-worker polkadot_overseer: [Relaychain] dropping error err=Err(Canceled)
2023-01-27 12:00:42.140  WARN tokio-runtime-worker polkadot_overseer: [Relaychain] dropping error err=Err(Canceled)
 tokio::runtime::task::harness::Harness<T,S>::poll
  26: tokio::runtime::blocking::pool::Inner::run
  27: std::sys_common::backtrace::__rust_begin_short_backtrace
  28: core::ops::function::FnOnce::call_once{{vtable.shim}}
  29: <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once
             at rustc/8dfb3395411555e93399671d0c41a4ac9ed62b95/library/alloc/src/boxed.rs:2000:9
      <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once
             at rustc/8dfb3395411555e93399671d0c41a4ac9ed62b95/library/alloc/src/boxed.rs:2000:9
      std::sys::unix::thread::Thread::new::thread_start
             at rustc/8dfb3395411555e93399671d0c41a4ac9ed62b95/library/std/src/sys/unix/thread.rs:108:17
  30: start_thread
  31: clone


Thread 'tokio-runtime-worker' panicked at 'A Tokio 1.x context was found, but it is being shutdown.', /home/ubuntu/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/time/entry.rs:567

This is a bug. Please report it at:

	https://github.com/paritytech/cumulus/issues/new

How to reproduce :

  1. Build the parachain binary
cargo b -rp tangle-parachain
  1. Run the parachain binary
./target/release/tangle-parachain --collator --alice --chain ./chainspecs/testnet/tangle-parachain.json --tmp --port 40335 --ws-port 9946 -- --execution wasm --chain ../../polkadot/rococo-local-cfde.json --port 30335

[TASK] DKG monitoring using Prometheus

Task summary

Currently there are not a lot of dkg specific metrics being captured, in particular regarding dkg public key generation, session disruption or message. More importantly, we need to be notified / alarmed if the dkg protocol is not working as intended so will need to capture the metrics in prometheus and then create rules for AlertManager.

Metrics will assist in understanding issues with the protocol, improve visibility into operations within the node, and allow us to debug much quicker.

Potential Alarm/Metrics to Capture:

  • Ensure the DKG public key is generated correctly
  • Ensure session rotation are not being disrupted
  • Number of inbound messages (signed || unsigned) received
  • Number of outbound message (signed || unsigned) sent

NOTE: A lot more alarms/metrics can be added here. We could also upgrade our grafana dashboard to make use of this.

Other information and links

[TASK] Secure long term Rococo / Westend parachain slot and register

Overview

In order to join the Rococo / Westend relay chain, parachains are required to secure a paraID / request a parachain slot. We want to have eggnet parachain on the Rococo relay chain to ensure everything works correctly, and that we can test / simulate various operations.

In order to secure a long term slot you need to request the slot here.

Tasks

  • Submit a request for a long term parachain slot on Rococo
  • Register the parachain on Rococo using the provided slot

[BUG] Linkable tree RPC isn't working

Overview

Client don't pickup the RPC methods for merkle tree, linkable tree
TypeError: this.inner.api.rpc.lt.getNeighborRoots is not a function

Webb vs Egg rpc methods

Webb standalone rpc.rpc.methods()

{
version: 1
methods: [
account_nextIndex
author_hasKey
author_hasSessionKeys
author_insertKey
author_pendingExtrinsics
author_removeExtrinsic
author_rotateKeys
author_submitAndWatchExtrinsic
author_submitExtrinsic
author_unwatchExtrinsic
babe_epochAuthorship
chain_getBlock
chain_getBlockHash
chain_getFinalisedHead
chain_getFinalizedHead
chain_getHead
chain_getHeader
chain_getRuntimeVersion
chain_subscribeAllHeads
chain_subscribeFinalisedHeads
chain_subscribeFinalizedHeads
chain_subscribeNewHead
chain_subscribeNewHeads
chain_subscribeRuntimeVersion
chain_unsubscribeAllHeads
chain_unsubscribeFinalisedHeads
chain_unsubscribeFinalizedHeads
chain_unsubscribeNewHead
chain_unsubscribeNewHeads
chain_unsubscribeRuntimeVersion
childstate_getKeys
childstate_getKeysPaged
childstate_getKeysPagedAt
childstate_getStorage
childstate_getStorageEntries
childstate_getStorageHash
childstate_getStorageSize
dev_getBlockStats
grandpa_proveFinality
grandpa_roundState
grandpa_subscribeJustifications
grandpa_unsubscribeJustifications
lt_getNeighborEdges
lt_getNeighborRoots
mt_getLeaves
offchain_localStorageGet
offchain_localStorageSet
payment_queryFeeDetails
payment_queryInfo
state_call
state_callAt
state_getChildReadProof
state_getKeys
state_getKeysPaged
state_getKeysPagedAt
state_getMetadata
state_getPairs
state_getReadProof
state_getRuntimeVersion
state_getStorage
state_getStorageAt
state_getStorageHash
state_getStorageHashAt
state_getStorageSize
state_getStorageSizeAt
state_queryStorage
state_queryStorageAt
state_subscribeRuntimeVersion
state_subscribeStorage
state_traceBlock
state_trieMigrationStatus
state_unsubscribeRuntimeVersion
state_unsubscribeStorage
subscribe_newHead
sync_state_genSyncSpec
system_accountNextIndex
system_addLogFilter
system_addReservedPeer
system_chain
system_chainType
system_dryRun
system_dryRunAt
system_health
system_localListenAddresses
system_localPeerId
system_name
system_nodeRoles
system_peers
system_properties
system_removeReservedPeer
system_reservedPeers
system_resetLogFilter
system_syncState
system_unstable_networkState
system_version
unsubscribe_newHead
]
}

Egg standalone rpc.rpc.methods()

{
version: 1
methods: [
account_nextIndex
author_hasKey
author_hasSessionKeys
author_insertKey
author_pendingExtrinsics
author_removeExtrinsic
author_rotateKeys
author_submitAndWatchExtrinsic
author_submitExtrinsic
author_unwatchExtrinsic
chain_getBlock
chain_getBlockHash
chain_getFinalisedHead
chain_getFinalizedHead
chain_getHead
chain_getHeader
chain_getRuntimeVersion
chain_subscribeAllHeads
chain_subscribeFinalisedHeads
chain_subscribeFinalizedHeads
chain_subscribeNewHead
chain_subscribeNewHeads
chain_subscribeRuntimeVersion
chain_unsubscribeAllHeads
chain_unsubscribeFinalisedHeads
chain_unsubscribeFinalizedHeads
chain_unsubscribeNewHead
chain_unsubscribeNewHeads
chain_unsubscribeRuntimeVersion
childstate_getKeys
childstate_getKeysPaged
childstate_getKeysPagedAt
childstate_getStorage
childstate_getStorageEntries
childstate_getStorageHash
childstate_getStorageSize
offchain_localStorageGet
offchain_localStorageSet
payment_queryFeeDetails
payment_queryInfo
state_call
state_callAt
state_getChildReadProof
state_getKeys
state_getKeysPaged
state_getKeysPagedAt
state_getMetadata
state_getPairs
state_getReadProof
state_getRuntimeVersion
state_getStorage
state_getStorageAt
state_getStorageHash
state_getStorageHashAt
state_getStorageSize
state_getStorageSizeAt
state_queryStorage
state_queryStorageAt
state_subscribeRuntimeVersion
state_subscribeStorage
state_traceBlock
state_unsubscribeRuntimeVersion
state_unsubscribeStorage
subscribe_newHead
system_accountNextIndex
system_addLogFilter
system_addReservedPeer
system_chain
system_chainType
system_dryRun
system_dryRunAt
system_health
system_localListenAddresses
system_localPeerId
system_name
system_nodeRoles
system_peers
system_properties
system_removeReservedPeer
system_reservedPeers
system_resetLogFilter
system_syncState
system_unstable_networkState
system_version
unsubscribe_newHead
]
}

[BUG] Standalone network does not generate dkg key

Description of issue

When trying to run a standalone network on main, the DKG key is never generated. I have tried with both development standalone chain and arana chainspecs, neither work as intended.

The last commit I can find where the standalone network works as intended (e.g. dkg key and queue key are generated and never stalls) is 7a13036.

Steps to reproduce

Local Development Standalone:

  1. Git checkout main
  2. Run: cargo build --release -p tangle-standalone-node
  3. Run the following script:
#!/usr/bin/env bash

set -e

echo "*** Start Tangle Standalone Node ***"
./target/release/tangle-standalone-node --dev --alice --node-key 0000000000000000000000000000000000000000000000000000000000000001 &
./target/release/tangle-standalone-node --dev --bob --port 33334 --tmp --bootnodes /ip4/127.0.0.1/tcp/30333/p2p/12D3KooWEyoppNCUx8Yx66oV9fJnriXwCcXwDDUA2kj6vnc6iDEp &
./target/release/tangle-standalone-node --dev --charlie --port 33335 --tmp --bootnodes /ip4/127.0.0.1/tcp/30333/p2p/12D3KooWEyoppNCUx8Yx66oV9fJnriXwCcXwDDUA2kj6vnc6iDEp
  1. Navigate to Polkadot UI
  2. Make sure you are connected to Local node
  3. Navigate to Developer > Chain State
  4. For selected state query select dkg and for method select dkgPublicKey(): (u64, Bytes)

Current Response:

dkg.dkgPublicKey: (u64,Bytes)
[
  0
  
]

Expected Response:

dkg.dkgPublicKey: (u64,Bytes)
[
  10
  0x032141ce149dec3ca4b980946f23a4ce7ef9596b174d2d67c690e617e28dc5dc57
]

Arana Standalone Node Setup:

  1. Git checkout db/arana-standalone
  2. Run: cargo build --release -p tangle-standalone-node
  3. Run the following command:
./scripts/arana-standalone/insert-keys.sh

NOTE: This will insert the required keys for each node in /tmp/standalone/dkg-*

  1. Run the following command:
./scripts/arana-standalone/run-arana-standalone.sh

NOTE: This will start three nodes where the base path is /tmp/standalone/dkg-*

  1. Navigate to Polkadot UI and proceed with the same steps (e.g. 4-7) described above.

[BUG] Error in chainspec, wasm and state file generation

After pulling latest updates from protocol-substrate(#71), the string Created tree with id: 3, 1 is inserted to all generated chainspec and wasm files. This causes the genesis block decoding to fail.

How to recreate

cargo b -rp tangle-collator
./target/release/tangle-collator build-spec --disable-default-bootnode --raw > template-local-raw.json
./target/release/tangle-collator export-genesis-state > genesis-state-local
./target/release/tangle-collator export-genesis-wasm > genesis-wasm-local

All files are prefixed with string Created tree with id: 3, 1

[TASK] Set a unique protocol Id for parachain launch

Overview

The runtime constraints on a parachain are much stricter than a solochain, as you must coordinate with the relay chain to finalize state transitions. When launching a parachain to production, it is critically important to make sure a chain's runtime is properly configured and tested.

All chains should use a unique protocolId that no other network (testnets, relay chain, parachains, etc) uses. This ensures your nodes do not incorrectly peer with nodes from other libp2p networks. You want to isolate them to a distinct peer group with this ID. Protocol ID collisions will cause many issues for the nodes.

You can see the existing protocolID in the chain spec file.

Tasks

  • Set unique protocol Id

[TASK] Define collator rewards and inflation strategy

Inflationary rewards

We want to allocate a fraction of genesis tokens to collators over a 2 year period as well as define a mechanism for inflationary rewards once this amount of tokens runs out.

We’d like to target 1-5% inflation for

  • collators
  • treasury

Desired Outcome

  • Every block payout
  • The pallet account will receive an amount of tokens at genesis
  • These tokens will be distributed at configured RewardAmount to the collators (block author)
  • Once the genesis amount of tokens are depleted, the pallet will create new tokens
  • New amount of tokens created every block according to inflation rate

Docs

[TASK] Profile collator nodes for potential memory leaks

Overview

It is highly recommended to profile collators to analyze memory leaks, identify where memory consumption is happening, define temporary allocations, and investigate excessive memory fragmentation within applications.

Task

  • Follow memory profiling instructions outlined here
  • Report any memory leaks, excessive memory consumption etc.

[TASK] Update chain spec

Overview

The current chain spec configuration looks like the following:

Parachain

fn load_spec(id: &str) -> std::result::Result<Box<dyn sc_service::ChainSpec>, String> {
	Ok(match id {
		"dev" => Box::new(chain_spec::development_config(2000.into())),
		"template-rococo" => Box::new(chain_spec::local_testnet_config(2000.into())),
		"dkg-rococo" => Box::new(chain_spec::rococo::dkg_config(4006.into())), /* Rococo para-id */
		// 4006
		"" | "local" => Box::new(chain_spec::local_testnet_config(2000.into())),
		path => Box::new(chain_spec::ChainSpec::from_json_file(std::path::PathBuf::from(path))?),
	})
}

Standalone

fn load_spec(&self, id: &str) -> Result<Box<dyn sc_service::ChainSpec>, String> {
  Ok(match id {
	  "dev" => Box::new(chain_spec::development_config()?),
	  "" | "local" => Box::new(chain_spec::local_testnet_config()?),
	  "testnet-conf" => Box::new(chain_spec::arana_testnet_config()?),
	  path =>
		  Box::new(chain_spec::ChainSpec::from_json_file(std::path::PathBuf::from(path))?),
     })
}

We need to update the above chain configurations to reflect a more production-ready state. We should have the following different chain specs available:

Parachain

  • tangle-local
  • tangle-dev
  • tangle-alpha
  • tangle

Standalone

  • arana-local
  • arana-dev
  • arana-alpha
  • arana

Task Checklist

  • Update chainspec commands to reflect different dev environments
  • Update key configuration
  • Update documentation / readme - we should outline pre-seeded keys for dev / local environments

[BUG] Proposing failed: Import failed: Error at calling runtime api: Execution failed: Execution aborted due to trap: wasm trap: wasm `unreachable` instruction executed

How to reproduce

  • Run relaychain and egg-net parachain
  • Register egg-net parachain on relaychain and wait for onboarding
  • Once onboarded, the parachain fails to produce blocks with the following error
2022-06-29 20:38:27.945  INFO tokio-runtime-worker substrate: ✨ Imported #61 (0x4191…730b)    
2022-06-29 20:38:27.953  INFO tokio-runtime-worker cumulus-collator: Starting collation. relay_parent=0xc28963e0454ee949a2ce7cc191a0244dfed15d058628d284c822c277ba017bc6 at=0xa50e2c6fc68d17edb1d66665d934fc3372f98de4423abbe1e2948a0eae27a0a8
2022-06-29 20:38:27.957  INFO tokio-runtime-worker sc_basic_authorship::basic_authorship: 🙌 Starting consensus session on top of parent 0xa50e2c6fc68d17edb1d66665d934fc3372f98de4423abbe1e2948a0eae27a0a8    
2022-06-29 20:38:27.958  INFO tokio-runtime-worker cumulus-collator: Starting collation. relay_parent=0x419149254027010152792b541a34af703d924408239e5eb7a3c1b270d2c3730b at=0xa50e2c6fc68d17edb1d66665d934fc3372f98de4423abbe1e2948a0eae27a0a8
2022-06-29 20:38:27.961 ERROR tokio-runtime-worker runtime: panicked at 'attempt to calculate the remainder with a divisor of zero', /rustc/4ca19e09d302a4cbde14f9cb1bc109179dc824cd/library/core/src/ops/arith.rs:609:1    
2022-06-29 20:38:27.961  WARN tokio-runtime-worker aura: Proposing failed: Import failed: Error at calling runtime api: Execution failed: Execution aborted due to trap: wasm trap: wasm `unreachable` instruction executed
WASM backtrace:

    0: 0x2b436a - <unknown>!rust_begin_unwind
    
2022-06-29 20:38:27.964  INFO tokio-runtime-worker sc_basic_authorship::basic_authorship: 🙌 Starting consensus session on top of parent 0xa50e2c6fc68d17edb1d66665d934fc3372f98de4423abbe1e2948a0eae27a0a8    
2022-06-29 20:38:27.967 ERROR tokio-runtime-worker runtime: panicked at 'attempt to calculate the remainder with a divisor of zero', /rustc/4ca19e09d302a4cbde14f9cb1bc109179dc824cd/library/core/src/ops/arith.rs:609:1    
2022-06-29 20:38:27.967  WARN tokio-runtime-worker aura: Proposing failed: Import failed: Error at calling runtime api: Execution failed: Execution aborted due to trap: wasm trap: wasm `unreachable` instruction executed
WASM backtrace:

    0: 0x2b436a - <unknown>!rust_begin_unwind
    
2022-06-29 20:38:27.968  INFO tokio-runtime-worker parachain::approval-voting: Advanced session window for approvals update=Advanced { prev_window_start: 0, prev_window_end: 5, new_window_start: 1, new_window_end: 6 }
2022-06-29 20:38:30.024 DEBUG tokio-runtime-worker runtime::inclusion-inherent: [enter_inner] parent_header=0x419149254027010152792b541a34af703d924408239e5eb7a3c1b270d2c3730b bitfields.len(): 2, backed_candidates.len(): 0, disputes.len(): 0    
2022-06-29 20:38:30.025 DEBUG tokio-runtime-worker runtime::system: [62] length: 780 (normal 0%, op: 0%, mandatory 0%) / normal weight: 0 (0%) / op weight 0 (0%) / mandatory weight 10408424000 (0%)    

[BUG] Invalid transaction validity: InvalidTransaction::ExhaustsResources

Im-online transactions ocassionaly fail with the error

2023-04-12 14:46:24.022  INFO      offchain-worker runtime::im-online: [index: 1] Reporting im-online at block: 9261 (session: 4): <stripped>    
2023-04-12 14:46:24.022  WARN      offchain-worker txpool::api: (offchain call) Error submitting a transaction to the pool: Transaction pool error: Invalid transaction validity: InvalidTransaction::ExhaustsResources    

[BUG] Investigate collator rewards when session has unpredictable block count

We have observed that sometimes DKG can lag with key upload, also considering that session does not rotate until dkgkey and nextDkgKey are updated this can lead to different block counts for some sessions.

Our collator reward logic depends/assumes all sessions having an equal number of blocks, we need to investigate what sideeffect this new session rotation logic has on collator rewards and maybe redesign the rewards logic.

[TASK] Implement scripts for scraping crowdloan contribution data for setting genesis distribution

Overview

We want to run a mock crowdloan and go through the steps of mock launching the tangle network. Top of mind here is ensuring we're ready and have run through the flow of assigning genesis distributions and vesting schedules for different token holders.

Checklist

  • Run a mock crowdloan
  • Write a script to pull the crowdloan data and convert it into Balance / Vesting genesis chain spec configurations

[BUG] Keygen has stalled, unreceived messages

Issue:

  • After the generation of dkg key, in the periodic misbehaviour checks the authorities report unreceived message and file misbehaviour reports.

How to reproduce :

  1. Start a relaychain and parachain network as documented here (https://docs.substrate.io/tutorials/connect-other-chains/local-relay/)
  2. Once the parachain is onboarded, in the periodic misbehaviour checks the authorities report unreceived message and file misbehaviour reports.

Current Setup:
2 relaychain nodes (running polkadot v0.9.26) (separate machines)
3 parachain nodes (running stj/webb-relaychain branch) (separate machines)

Startup command :

/usr/local/bin/egg-collator \
  --collator --chain /root/egg-net/resources/testnet/template-local-raw.json \
  --base-path /mnt/blockstorage/para \
  --port 30334 \
  --node-key-file /root/node-key \
  --force-authoring \
  --ws-port 9944 --ws-external --rpc-port 9980 \
  --rpc-cors all --rpc-external \
  --unsafe-ws-external --unsafe-rpc-external \
  --bootnodes /ip4/""/tcp/30334/p2p/"" \
  -ldkg=debug \
  -ldkg_metadata=debug \
  -lruntime::offchain=debug \
  -ldkg_proposal_handler=debug \
  -ldkg_proposals=debug \
  --log info \
  --rpc-methods=unsafe -- --execution wasm --chain /root/egg-net/resources/testnet/rococo->
  --bootnodes /ip4/""/tcp/30333/p2p/""

Collator 1 logs

2022-08-09 18:35:24.035  INFO tokio-runtime-worker cumulus-collator: Starting collation. relay_parent=0x00694d49fc01077b42863bcda40fa26980aa8044d1775f548d47c106b8bb1ca3 at=0xeb3345f4f450604c12c9a31e6c44c4766cc08dbe3115dd7ce67c5cd48ea8b142
2022-08-09 18:35:24.060  INFO tokio-runtime-worker sc_basic_authorship::basic_authorship: 🎁 Prepared block for proposing at 1 (6 ms) [hash: 0x49b12d330d7c033b669d960a3203cfc3a329836503d96ca4d19f6d786a55e08f; parent_hash: 0xeb33…b142; extrinsics (2): [0x8d42…3492, 0x3dd6…fba6]]    
2022-08-09 18:35:24.063  INFO tokio-runtime-worker aura: 🔖 Pre-sealed block for proposal at 1. Hash now 0x739a83013262f4dce994a38e49aabb317ef90b16ae052746c5ad7505781a58a3, previously 0x49b12d330d7c033b669d960a3203cfc3a329836503d96ca4d19f6d786a55e08f.    
2022-08-09 18:35:24.064  INFO tokio-runtime-worker substrate: ✨ Imported #1 (0x739a…58a3)    
2022-08-09 18:35:24.067  INFO tokio-runtime-worker cumulus-collator: PoV size { header: 0.1787109375kb, extrinsics: 2.5634765625kb, storage_proof: 3.9111328125kb }
2022-08-09 18:35:24.067  INFO tokio-runtime-worker cumulus-collator: Compressed PoV size: 5.8603515625kb
2022-08-09 18:35:24.073  INFO tokio-runtime-worker cumulus-collator: Produced proof-of-validity candidate. block_hash=0x739a83013262f4dce994a38e49aabb317ef90b16ae052746c5ad7505781a58a3
2022-08-09 18:35:24.079  INFO tokio-runtime-worker sc_basic_authorship::basic_authorship: 🙌 Starting consensus session on top of parent 0xeb3345f4f450604c12c9a31e6c44c4766cc08dbe3115dd7ce67c5cd48ea8b142    
2022-08-09 18:35:24.089 DEBUG tokio-runtime-worker dkg: 🕸️  Processing block notification for block 1    
2022-08-09 18:35:24.089 DEBUG tokio-runtime-worker dkg: 🕸️  Latest header is now: 1    
2022-08-09 18:35:24.105  INFO tokio-runtime-worker sc_basic_authorship::basic_authorship: 🎁 Prepared block for proposing at 1 (6 ms) [hash: 0x90723758a199c11629773f4d6c0a47af8d46156988cdf7b6a7270fc4757e73a7; parent_hash: 0xeb33…b142; extrinsics (2): [0x3605…9735, 0xc27f…c8ec]]    
2022-08-09 18:35:24.107  INFO tokio-runtime-worker aura: 🔖 Pre-sealed block for proposal at 1. Hash now 0xd1973a5cf680e2b88b5365d5a0e0020253c3aeeadf05783e1147a5ee26a8dcb0, previously 0x90723758a199c11629773f4d6c0a47af8d46156988cdf7b6a7270fc4757e73a7.    
2022-08-09 18:35:24.107  INFO tokio-runtime-worker substrate: ✨ Imported #1 (0xd197…dcb0)    
2022-08-09 18:35:24.108  INFO tokio-runtime-worker cumulus-collator: PoV size { header: 0.1787109375kb, extrinsics: 2.5634765625kb, storage_proof: 3.9111328125kb }
2022-08-09 18:35:24.108  INFO tokio-runtime-worker cumulus-collator: Compressed PoV size: 5.8623046875kb
2022-08-09 18:35:24.114  INFO tokio-runtime-worker cumulus-collator: Produced proof-of-validity candidate. block_hash=0xd1973a5cf680e2b88b5365d5a0e0020253c3aeeadf05783e1147a5ee26a8dcb0
2022-08-09 18:35:24.120 DEBUG tokio-runtime-worker dkg: 🕸️  GENESIS ROUND_ID 0    
2022-08-09 18:35:24.135  INFO tokio-runtime-worker dkg: 🕸️  IN THE SET OF BEST GENESIS AUTHORITIES: round 0    
2022-08-09 18:35:24.146 DEBUG tokio-runtime-worker dkg: Starting genesis protocol    
2022-08-09 18:35:24.147  INFO tokio-runtime-worker dkg: Will execute keygen since local is in best authority set    
2022-08-09 18:35:24.147 DEBUG tokio-runtime-worker dkg_gadget::async_protocols::state_machine_wrapper: Trying to proceed: round 0, blame: (0, [])    
2022-08-09 18:35:24.151  INFO tokio-runtime-worker dkg: 🕸️  IN THE SET OF BEST NEXT AUTHORITIES: round 1    
2022-08-09 18:35:24.153 DEBUG tokio-runtime-worker dkg_gadget::async_protocols::misbehaviour_monitor: [MisbehaviourMonitor] Performing periodic check ...    
2022-08-09 18:35:24.153 DEBUG tokio-runtime-worker dkg_gadget::async_protocols::misbehaviour_monitor: [MisbehaviourMonitor] Remote status Keygen    
2022-08-09 18:35:24.153 DEBUG tokio-runtime-worker dkg_gadget::async_protocols::misbehaviour_monitor: [MisbehaviourMonitor] Unreceived messages: CurrentRoundBlame { unreceived_messages: 0, blamed_parties: [] }    
2022-08-09 18:35:24.163 DEBUG tokio-runtime-worker dkg: Starting queued protocol    
2022-08-09 18:35:24.163 DEBUG tokio-runtime-worker dkg: Initialization complete    
2022-08-09 18:35:24.163 DEBUG tokio-runtime-worker dkg: Starting DKG Iteration loop    
2022-08-09 18:35:24.163  INFO tokio-runtime-worker dkg: Will execute keygen since local is in best authority set    
2022-08-09 18:35:24.163 DEBUG tokio-runtime-worker dkg_gadget::async_protocols::state_machine_wrapper: Trying to proceed: round 0, blame: (0, [])    
2022-08-09 18:35:24.164 DEBUG tokio-runtime-worker dkg_gadget::async_protocols::misbehaviour_monitor: [MisbehaviourMonitor] Performing periodic check ...    
2022-08-09 18:35:24.164 DEBUG tokio-runtime-worker dkg_gadget::async_protocols::misbehaviour_monitor: [MisbehaviourMonitor] Remote status Keygen    
2022-08-09 18:35:24.164 DEBUG tokio-runtime-worker dkg_gadget::async_protocols::misbehaviour_monitor: [MisbehaviourMonitor] Unreceived messages: CurrentRoundBlame { unreceived_messages: 0, blamed_parties: [] }    
2022-08-09 18:35:24.317 DEBUG tokio-runtime-worker dkg_gadget::async_protocols::state_machine_wrapper: Proceeded: round 1, blame: (1, [2])    
2022-08-09 18:35:24.317  INFO tokio-runtime-worker dkg: Async proto sent outbound request on node=1 to: None |(ty: Keygen: (i, t, n) = (1, 1, 2))    
2022-08-09 18:35:24.329 DEBUG tokio-runtime-worker dkg: Sending message to all peers    
2022-08-09 18:35:24.329  INFO tokio-runtime-worker dkg: 🕸️  Async proto sent outbound message: Keygen: (i, t, n) = (1, 1, 2)    
2022-08-09 18:35:24.331 DEBUG tokio-runtime-worker dkg_gadget::async_protocols::state_machine_wrapper: Proceeded: round 1, blame: (1, [2])    
2022-08-09 18:35:24.331  INFO tokio-runtime-worker dkg: Async proto sent outbound request on node=1 to: None |(ty: Keygen: (i, t, n) = (1, 1, 2))    
2022-08-09 18:35:24.333 DEBUG tokio-runtime-worker dkg: Sending message to all peers    
2022-08-09 18:35:24.333  INFO tokio-runtime-worker dkg: 🕸️  Async proto sent outbound message: Keygen: (i, t, n) = (1, 1, 2)    
2022-08-09 18:35:26.147 DEBUG tokio-runtime-worker dkg_gadget::async_protocols::misbehaviour_monitor: [MisbehaviourMonitor] Performing periodic check ...    
2022-08-09 18:35:26.147 DEBUG tokio-runtime-worker dkg_gadget::async_protocols::misbehaviour_monitor: [MisbehaviourMonitor] Remote status Keygen    
2022-08-09 18:35:26.147 DEBUG tokio-runtime-worker dkg_gadget::async_protocols::misbehaviour_monitor: [MisbehaviourMonitor] Unreceived messages: CurrentRoundBlame { unreceived_messages: 1, blamed_parties: [2] }    
2022-08-09 18:35:26.164 DEBUG tokio-runtime-worker dkg_gadget::async_protocols::misbehaviour_monitor: [MisbehaviourMonitor] Performing periodic check ...    
2022-08-09 18:35:26.164 DEBUG tokio-runtime-worker dkg_gadget::async_protocols::misbehaviour_monitor: [MisbehaviourMonitor] Remote status Keygen    
2022-08-09 18:35:26.164 DEBUG tokio-runtime-worker dkg_gadget::async_protocols::misbehaviour_monitor: [MisbehaviourMonitor] Unreceived messages: CurrentRoundBlame { unreceived_messages: 1, blamed_parties: [2] }    
2022-08-09 18:35:26.215  INFO tokio-runtime-worker jsonrpsee_ws_server::server: Accepting new connection, 1/100
2022-08-09 18:35:26.389  INFO tokio-runtime-worker substrate: 💤 Idle (4 peers), best: #72 (0xb2fd…df68), finalized #69 (0x8999…60c5), ⬇ 2.2kiB/s ⬆ 4.5kiB/s    
2022-08-09 18:35:26.389  INFO tokio-runtime-worker substrate: 💤 Idle (2 peers), best: #0 (0xeb33…b142), finalized #0 (0xeb33…b142), ⬇ 24 B/s ⬆ 11.4kiB/s    
2022-08-09 18:35:26.443  INFO tokio-runtime-worker jsonrpsee_ws_server::server: Accepting new connection, 1/100
2022-08-09 18:35:28.147 DEBUG tokio-runtime-worker dkg_gadget::async_protocols::misbehaviour_monitor: [MisbehaviourMonitor] Performing periodic check ...    
2022-08-09 18:35:28.147 DEBUG tokio-runtime-worker dkg_gadget::async_protocols::misbehaviour_monitor: [MisbehaviourMonitor] Remote status Keygen    
2022-08-09 18:35:28.147 DEBUG tokio-runtime-worker dkg_gadget::async_protocols::misbehaviour_monitor: [MisbehaviourMonitor] Unreceived messages: CurrentRoundBlame { unreceived_messages: 1, blamed_parties: [2] }    
2022-08-09 18:35:28.164 DEBUG tokio-runtime-worker dkg_gadget::async_protocols::misbehaviour_monitor: [MisbehaviourMonitor] Performing periodic check ...    
2022-08-09 18:35:28.164 DEBUG tokio-runtime-worker dkg_gadget::async_protocols::misbehaviour_monitor: [MisbehaviourMonitor] Remote status Keygen    
2022-08-09 18:35:28.164 DEBUG tokio-runtime-worker dkg_gadget::async_protocols::misbehaviour_monitor: [MisbehaviourMonitor] Unreceived messages: CurrentRoundBlame { unreceived_messages: 1, blamed_parties: [2] }    
2022-08-09 18:35:28.796 DEBUG tokio-runtime-worker dkg: Received message from 12D3KooWFKFK3PCFSKm2WRkvqdJLtgC8wtXLCfNjqDH4SVVJw1BJ from gossiping    
2022-08-09 18:35:28.796 DEBUG tokio-runtime-worker dkg: Received a signed DKG messages from 12D3KooWFKFK3PCFSKm2WRkvqdJLtgC8wtXLCfNjqDH4SVVJw1BJ @ block 1, round 1    
2022-08-09 18:35:28.796 DEBUG tokio-runtime-worker dkg: NEW DKG MESSAGE FROM 12D3KooWFKFK3PCFSKm2WRkvqdJLtgC8wtXLCfNjqDH4SVVJw1BJ    
2022-08-09 18:35:28.796 DEBUG tokio-runtime-worker dkg: Message sent to 1 DKG controller listeners    
2022-08-09 18:35:28.797 DEBUG tokio-runtime-worker dkg: Streaming message from the Gossip Engine (is okay? true)    
2022-08-09 18:35:28.797 DEBUG tokio-runtime-worker dkg: Going to handle dkg message    
2022-08-09 18:35:28.805 DEBUG tokio-runtime-worker dkg: Received message from 12D3KooWFKFK3PCFSKm2WRkvqdJLtgC8wtXLCfNjqDH4SVVJw1BJ from gossiping    
2022-08-09 18:35:28.805 DEBUG tokio-runtime-worker dkg: Received a signed DKG messages from 12D3KooWFKFK3PCFSKm2WRkvqdJLtgC8wtXLCfNjqDH4SVVJw1BJ @ block 1, round 0    
2022-08-09 18:35:28.805 DEBUG tokio-runtime-worker dkg: NEW DKG MESSAGE FROM 12D3KooWFKFK3PCFSKm2WRkvqdJLtgC8wtXLCfNjqDH4SVVJw1BJ    
2022-08-09 18:35:28.805 DEBUG tokio-runtime-worker dkg: Streaming message from the Gossip Engine (is okay? true)    
2022-08-09 18:35:28.805 DEBUG tokio-runtime-worker dkg: Going to handle dkg message    
2022-08-09 18:35:28.805 DEBUG tokio-runtime-worker dkg: Message sent to 1 DKG controller listeners    
2022-08-09 18:35:28.805 DEBUG tokio-runtime-worker dkg: Received message from 12D3KooWFKFK3PCFSKm2WRkvqdJLtgC8wtXLCfNjqDH4SVVJw1BJ from gossiping    
2022-08-09 18:35:28.805 DEBUG tokio-runtime-worker dkg: Received a signed DKG messages from 12D3KooWFKFK3PCFSKm2WRkvqdJLtgC8wtXLCfNjqDH4SVVJw1BJ @ block 1, round 0    
2022-08-09 18:35:28.805 DEBUG tokio-runtime-worker dkg: NEW DKG MESSAGE FROM 12D3KooWFKFK3PCFSKm2WRkvqdJLtgC8wtXLCfNjqDH4SVVJw1BJ    
2022-08-09 18:35:28.805 DEBUG tokio-runtime-worker dkg: Streaming message from the Gossip Engine (is okay? true)    
2022-08-09 18:35:28.805 DEBUG tokio-runtime-worker dkg: Going to handle dkg message    
2022-08-09 18:35:28.805 DEBUG tokio-runtime-worker dkg: Message sent to 1 DKG controller listeners    
2022-08-09 18:35:28.807  INFO tokio-runtime-worker dkg: Handling Keygen inbound message from id=2    
2022-08-09 18:35:28.807  INFO tokio-runtime-worker dkg: Async proto sent outbound request on node=1 to: None |(ty: Keygen: (i, t, n) = (1, 1, 2))    
2022-08-09 18:35:28.809 DEBUG tokio-runtime-worker dkg: Sending message to all peers    
2022-08-09 18:35:28.809  INFO tokio-runtime-worker dkg: 🕸️  Async proto sent outbound message: Keygen: (i, t, n) = (1, 1, 2)    
2022-08-09 18:35:28.819  INFO tokio-runtime-worker dkg: Handling Keygen inbound message from id=2    
2022-08-09 18:35:28.832  INFO tokio-runtime-worker dkg: Handling Keygen inbound message from id=2    
2022-08-09 18:35:28.832  INFO tokio-runtime-worker dkg: Async proto sent outbound request on node=1 to: None |(ty: Keygen: (i, t, n) = (1, 1, 2))    
2022-08-09 18:35:28.832 DEBUG tokio-runtime-worker dkg_gadget::async_protocols::state_machine_wrapper: Trying to proceed: round 2, blame: (0, [])    
2022-08-09 18:35:28.842 DEBUG tokio-runtime-worker dkg: Sending message to all peers    
2022-08-09 18:35:28.842  INFO tokio-runtime-worker dkg: 🕸️  Async proto sent outbound message: Keygen: (i, t, n) = (1, 1, 2)    
2022-08-09 18:35:28.905 DEBUG tokio-runtime-worker dkg_gadget::async_protocols::state_machine_wrapper: Proceeded: round 3, blame: (1, [2])    
2022-08-09 18:35:28.905  INFO tokio-runtime-worker dkg: Async proto sent outbound request on node=1 to: Some(2) |(ty: Keygen: (i, t, n) = (1, 1, 2))    
2022-08-09 18:35:28.907 DEBUG tokio-runtime-worker dkg: Sending message to all peers    
2022-08-09 18:35:28.907  INFO tokio-runtime-worker dkg: 🕸️  Async proto sent outbound message: Keygen: (i, t, n) = (1, 1, 2)    
2022-08-09 18:35:28.916 DEBUG tokio-runtime-worker dkg: Received message from 12D3KooWKLqLfRCskai6hkrNpXMk116k3v96Wd64VTQtGsExcyRb from gossiping    
2022-08-09 18:35:28.916 DEBUG tokio-runtime-worker dkg: Received a signed DKG messages from 12D3KooWKLqLfRCskai6hkrNpXMk116k3v96Wd64VTQtGsExcyRb @ block 1, round 1    
2022-08-09 18:35:28.916 DEBUG tokio-runtime-worker dkg: OLD DKG MESSAGE FROM 12D3KooWKLqLfRCskai6hkrNpXMk116k3v96Wd64VTQtGsExcyRb    
2022-08-09 18:35:28.916 DEBUG tokio-runtime-worker dkg: Received message from 12D3KooWKLqLfRCskai6hkrNpXMk116k3v96Wd64VTQtGsExcyRb from gossiping    
2022-08-09 18:35:28.916 DEBUG tokio-runtime-worker dkg: Received a signed DKG messages from 12D3KooWKLqLfRCskai6hkrNpXMk116k3v96Wd64VTQtGsExcyRb @ block 1, round 0    
2022-08-09 18:35:28.916 DEBUG tokio-runtime-worker dkg: OLD DKG MESSAGE FROM 12D3KooWKLqLfRCskai6hkrNpXMk116k3v96Wd64VTQtGsExcyRb    
2022-08-09 18:35:28.916 DEBUG tokio-runtime-worker dkg: Received message from 12D3KooWKLqLfRCskai6hkrNpXMk116k3v96Wd64VTQtGsExcyRb from gossiping    
2022-08-09 18:35:28.916 DEBUG tokio-runtime-worker dkg: Received a signed DKG messages from 12D3KooWKLqLfRCskai6hkrNpXMk116k3v96Wd64VTQtGsExcyRb @ block 1, round 1    
2022-08-09 18:35:28.916 DEBUG tokio-runtime-worker dkg: NEW DKG MESSAGE FROM 12D3KooWKLqLfRCskai6hkrNpXMk116k3v96Wd64VTQtGsExcyRb    
2022-08-09 18:35:28.916 DEBUG tokio-runtime-worker dkg: Message sent to 1 DKG controller listeners    
2022-08-09 18:35:28.916 DEBUG tokio-runtime-worker dkg: Streaming message from the Gossip Engine (is okay? true)    
2022-08-09 18:35:28.916 DEBUG tokio-runtime-worker dkg: Going to handle dkg message    
2022-08-09 18:35:28.941 DEBUG tokio-runtime-worker dkg: Received message from 12D3KooWFKFK3PCFSKm2WRkvqdJLtgC8wtXLCfNjqDH4SVVJw1BJ from gossiping    
2022-08-09 18:35:28.941 DEBUG tokio-runtime-worker dkg: Received a signed DKG messages from 12D3KooWFKFK3PCFSKm2WRkvqdJLtgC8wtXLCfNjqDH4SVVJw1BJ @ block 1, round 0    
2022-08-09 18:35:28.941 DEBUG tokio-runtime-worker dkg: NEW DKG MESSAGE FROM 12D3KooWFKFK3PCFSKm2WRkvqdJLtgC8wtXLCfNjqDH4SVVJw1BJ    
2022-08-09 18:35:28.941 DEBUG tokio-runtime-worker dkg: Message sent to 1 DKG controller listeners    
2022-08-09 18:35:28.941 DEBUG tokio-runtime-worker dkg: Streaming message from the Gossip Engine (is okay? true)    
2022-08-09 18:35:28.941 DEBUG tokio-runtime-worker dkg: Going to handle dkg message    
2022-08-09 18:35:28.943 DEBUG tokio-runtime-worker dkg: Received message from 12D3KooWFKFK3PCFSKm2WRkvqdJLtgC8wtXLCfNjqDH4SVVJw1BJ from gossiping    
2022-08-09 18:35:28.943 DEBUG tokio-runtime-worker dkg: Received a signed DKG messages from 12D3KooWFKFK3PCFSKm2WRkvqdJLtgC8wtXLCfNjqDH4SVVJw1BJ @ block 1, round 0    
2022-08-09 18:35:28.943 DEBUG tokio-runtime-worker dkg: NEW DKG MESSAGE FROM 12D3KooWFKFK3PCFSKm2WRkvqdJLtgC8wtXLCfNjqDH4SVVJw1BJ    
2022-08-09 18:35:28.943 DEBUG tokio-runtime-worker dkg: Message sent to 1 DKG controller listeners    
2022-08-09 18:35:28.943 DEBUG tokio-runtime-worker dkg: Streaming message from the Gossip Engine (is okay? true)    
2022-08-09 18:35:28.943 DEBUG tokio-runtime-worker dkg: Going to handle dkg message    
2022-08-09 18:35:28.951  INFO tokio-runtime-worker dkg: Handling Keygen inbound message from id=2    
2022-08-09 18:35:28.959  INFO tokio-runtime-worker dkg: Handling Keygen inbound message from id=2    
2022-08-09 18:35:28.959 DEBUG tokio-runtime-worker dkg_gadget::async_protocols::state_machine_wrapper: Trying to proceed: round 3, blame: (0, [])    
2022-08-09 18:35:28.962 DEBUG tokio-runtime-worker dkg_gadget::async_protocols::state_machine_wrapper: Proceeded: round 4, blame: (1, [2])    
2022-08-09 18:35:28.962  INFO tokio-runtime-worker dkg: Async proto sent outbound request on node=1 to: None |(ty: Keygen: (i, t, n) = (1, 1, 2))    
2022-08-09 18:35:28.962 DEBUG tokio-runtime-worker dkg_gadget::async_protocols::state_machine_wrapper: Trying to proceed: round 4, blame: (0, [])    
2022-08-09 18:35:28.962 DEBUG tokio-runtime-worker dkg_gadget::async_protocols::state_machine_wrapper: Proceeded: round 5, blame: (0, [])    
2022-08-09 18:35:28.964 DEBUG tokio-runtime-worker dkg: Sending message to all peers    
2022-08-09 18:35:28.964  INFO tokio-runtime-worker dkg: 🕸️  Async proto sent outbound message: Keygen: (i, t, n) = (1, 1, 2)    
2022-08-09 18:35:28.964  INFO tokio-runtime-worker dkg: Completed keygen stage successfully!    
2022-08-09 18:35:28.967 DEBUG tokio-runtime-worker dkg: Sending message to all peers    
2022-08-09 18:35:28.967 DEBUG tokio-runtime-worker dkg: Gossiping local node KWES7kfi4t69BV8uxgqjtBxX4VnaubeBf63vbK5dEHMgewuF6 public key and signature    
2022-08-09 18:35:28.967 DEBUG tokio-runtime-worker dkg_persistence: Storing local key for "/mnt/blockstorage/para/dkg_local_key"    
2022-08-09 18:35:28.969 DEBUG tokio-runtime-worker dkg_persistence: Successfully stored local key for "/mnt/blockstorage/para/dkg_local_key"    
2022-08-09 18:35:28.969  INFO tokio-runtime-worker dkg: 🕸️  Protocol Keygen: (i, t, n) = (1, 1, 2) Ended: Ok(LocalKey { paillier_dk: DecryptionKey { p: 145167520359312019111778372065619908155449004755872073258978354192974857980546762620115161245231546132953736620893919507379121125027270474578174471555290551315202287067417846237300813730266566944974912738627196893849964494102159879985368768199070496379366031903843150096392523944779696040518608793745255633507, q: 91842686578395927198445190512268928816361862908935260608484271711696432186357044563044660668193587862922726278644089328638444328179351566449797849586981333818270447834918824992133188862766591792022048221071613247794616852844763172840056000271014584825874128249179324038254616806766080194886088808387470231177 }, pk_vec: [Secp256k1Point { purpose: "generator_mul", ge: Some(PK(PublicKey(ba62d59f3a9257d6a4ef2203e6bfebb8a3ccf1c57cc8cf2c1c2e44c0b35a384d7a8a9581fe9bb964333839e6aee9e587de8411c1eb852ad1a06a66faab6d18b9))) }, Secp256k1Point { purpose: "from_bytes", ge: Some(PK(PublicKey(8b813e43ee70137e38cba6fad42fdff978824ff9dfc6dbdf44399031b51ea141e787f0f3652ff9f73fd48c45d4bbf7a9de4f779719bb599ff0f61e583518a266))) }], keys_linear: SharedKeys { y: Secp256k1Point { purpose: "add", ge: Some(PK(PublicKey(2ea2e041708e8bf4432ea5f05a1a7db15e9115e70aa2819b5575a630af79b687f17f3be666fa80cea0d2d8701edf59e518cd70c7b1392b7c2b07cf4b2a8d9996))) }, x_i: Secp256k1Scalar { purpose: "add", fe: Zeroizing(Some(SK(SecretKey(a26b31e3d23c305ade0cea0b41f7faab9b766ba1efd746d7f101a6349e4a7f89)))) } }, paillier_key_vec: [EncryptionKey { n: 13332575073723203484632504537510020804827534224789453571573959826657462154034893200404683266447522290706689213102880751287533832209590642751061195491528228007893716426360693417453796094232887951280415008457482839891398812289229951279114184704246393861856647086795014078863251418683313733873312539117275522331676189853835666138301612083360493752567447359403488010028513725211443461002664755605613755600818867764006169714581133650826912806974170993508131469840537632840904741391607133115354272927329251603003888672676543745710616633140219763139993534096190118901537052332600567409280915962223788590401801617918877247739, nn: 177757558096465284833359160404915590967056135190862773579605275321191564134839280539278389762871072328923342339718764004913459986112452277026891412458733785690688594231277008396628414628474340271276166305606167691461822931678668733221174394601634366384570615519691525961664743849760762426771911840689919290110169357827906626059090852422744549514282946026781406982045152435665586084063591252943199997674449878164239848217666880644274395178161448308017801880291862028954786086608706627413528920062095064843511701699048857413894433873910525443076026473809528599789462870935926074270344518527675905905350664503111734986474905400060133688518580923420305127697536611020688642821480218104142387786026635675877158064365034249775836502874132956947989664315211919267259827175244408017467966997512277560282632202721890076700341933425760049483162846214591736008212278512773908873184959055016241116584499708446609083220061962502379251654591656104777200003350523009094312265682450311282286915766196933151406526789348765088056597033591534559865176538021280893898942345331931237860063861786943045528900508615213714045569197454176408193418037015673826633552311998052414505752628230320360406693812985679025691748040107307410413796414984338399580612121 }, EncryptionKey { n: 16727380369456519170140423688172314521549962795267066755771727013156934132764210961839420614143738547900306887342213621580279021851986629556113052209352265519525998275551564470536989495308577533483155024401931617848915163137090796039008568081132716398280735074654030250350342518530129780378428902700779831039480361699396315829213374000462705318798479443587283930662811529699511488963017679156555211084042394890214209642542651858823596060076600902343162369691225537302075292330054721177469394028203469888055839507542686191941502988290271475133155895688233221595445682371350102340574232091274434867296812479511643291053, nn: 279805254024479315770566598102458003945302196725375184808323105055860986018424482410766106073335847078410580828950084730351438633032422656261170382361545208653775712760939064035149326248210240692146639364407766149419761055383823158478418157996488280847109082075792865145393967105881920436401581729442130651788271034989394443467918898911257042250535519126606512596577145195910097225817777796617427728017468366601829449570151375292675292341637854362300610956761096955931680984657514713406084521311686911947904744104637143172252436253052986045799781632730663786665120836251774938529466203083394254433657595503533906891646447401852465603539582517928389112880658035376907164045709082606376224478147384829404661696509438408342653227161803098366630597478161293650680864095353947056782482042886030671939729474398715626072555779867348145077511056395866541357672919950467008947441157780557645295820653171283197957094302042147368156085314563344009152427123568542441969112013559907283072355928627812808020515962053462635359046628111222121171169208263472625045581388568408599855093719991754815282503866525777469730077446708700757194659215253243469445515795110826913414341920344056953930889571792089862975540505314702994358326097758053544869848809 }], y_sum_s: Secp256k1Point { purpose: "add", ge: Some(PK(PublicKey(2ea2e041708e8bf4432ea5f05a1a7db15e9115e70aa2819b5575a630af79b687f17f3be666fa80cea0d2d8701edf59e518cd70c7b1392b7c2b07cf4b2a8d9996))) }, h1_h2_n_tilde_vec: [DLogStatement { N: 26648122007972257094581988063957562699663306859773321869836227852301418479277527714422401018986579843191413793858569278651111254018727437105540013368331961409081410264827198575756049090675044152392463962447164519236464632785537162507886119064914226251643970986419059172309207902729698469094775423531659418348241631224327340411278364940383679599568856835612714026393030752907096157978929029741881247417097091045867773970811131804572136377953007499483901203032597298231723853280003578897616957364538767761686482667084220503992706727286442256313028554644128630120505945088048590356992612854260492388709498437189025566547, g: 6485758486409403979323538691587640748417034636475625755342516037258904538154412596301308302517472509991170706134069910848744883536676331554088333269698489339915201212070625831215733500629693529547494632260338464701208888148922621259556237282719193950448442055241648202918075035093570822508697399688605621212443562790276831626575085119968601710412145462572204865907520581276953832485937582336752598300544965137665659637515525985060633259095469710065532991828185063315951447010823782955978705448518610766452392461359021186035589625553247347794992847973385265404728672936449158201426510987120882436652347661626612420880, ni: 8981902244674469991660914589594473432674889960579563269979773359346307623398590969381529055027946274434352325205811037110632286483924551429695920303204365085738964439390584673544384224775055771162893229144879435489293991466528908062192158479810667450594884609946933164239424909507414368743139310655891293418990659225382829562568121367650705268387588782431249852984842665656276900371976799947074168842317640221024194392635261565432689818925978147513053962011970199053079373204783854629703667531456730810897107552097345620127730054410742157463463616610743977804810948846552514687288935266575007695073554328177968833788 }, DLogStatement { N: 21856767323888656440188503068417770403075496759389637114972630735390985955142531075068886239124609727968567728170258930856072360860182865430311390090347849816905437731993782814610727727428142523819782218655937405979169424124853241536039081929969122369895692000204648240684482275734744230944635486618605028009032255732551168049202874152030939328644227386381006373786393159880780976087844231165954121275974813027141691692401662026015234352979605307782061314533857285102354427342292801234324742205118881779435715496274691020014606722358324645836489299972896177574925126191259146436725702644448277781693611790532009104921, g: 4087627864136350956856127983251534943906274803111097652023553716684102235006980331887109896064343449263372203135284669899901079027013845804756669512226794269832166161042262486374039426816457569675737116796419869003806670152419746304150865614737100298467496722764759670798811198864290535152500749923912215270169317264866858641270120165397408688734966172464981266154740294630428713792653664003297800285412848864763699568433020795242511520418060842859497723087516790053728125826216239103179329558722587919947991445750815954232672431377320040595978651464722622537862349101189850716806037960325834232922502277754655361599, ni: 3387838568196933577948802478156797880499243063932372974825747206227258198847425557785742585434704199219647473986741188014180029747459363664973403032164939489501309098929155876950332071406594224710902547824722870372570548236425576760316351074503185777223213435939044206193139114666551548291405936046406283251185048003797469086667522964717805047192436014813425766041753350481371330681582709641726604665899669427542766741699178891975369487940584548315980699831666071506922649423449556269480973948722726952228846053317978182839176783799718907957853723005660153003995059514507919694277548313988856962623040265630794550600 }], vss_scheme: VerifiableSS { parameters: ShamirSecretSharing { threshold: 1, share_count: 2 }, commitments: [Secp256k1Point { purpose: "generator_mul", ge: Some(PK(PublicKey(27f5238cc0bac3389d944c3655c53541c1c1cdfdb40a099dc538b84332365d14257ba6b9c4e41463a1d507caa311da9da11ac858b07a7367fb154bd663c9b548))) }, Secp256k1Point { purpose: "generator_mul", ge: Some(PK(PublicKey(8330c0936a38f8fb9b995dd28594cc565deda9031bcce2edf20f3a97929a6a2425688c4caec661ab7d1efe257d673496cf3e4389b9cbb5ba5d5e34ede3927b5c))) }] }, i: 1, t: 1, n: 2 })    
2022-08-09 18:35:28.969 DEBUG tokio-runtime-worker dkg: Keygen stage complete!    
2022-08-09 18:35:28.969  INFO tokio-runtime-worker dkg: 🕸️  Keygen GenericAsyncHandler completed    
2022-08-09 18:35:28.969  INFO tokio-runtime-worker dkg: The meta handler has executed successfully    
2022-08-09 18:35:28.987 DEBUG tokio-runtime-worker dkg: Received message from 12D3KooWFKFK3PCFSKm2WRkvqdJLtgC8wtXLCfNjqDH4SVVJw1BJ from gossiping    
2022-08-09 18:35:28.987 DEBUG tokio-runtime-worker dkg: Received a signed DKG messages from 12D3KooWFKFK3PCFSKm2WRkvqdJLtgC8wtXLCfNjqDH4SVVJw1BJ @ block 1, round 0    
2022-08-09 18:35:28.987 DEBUG tokio-runtime-worker dkg: NEW DKG MESSAGE FROM 12D3KooWFKFK3PCFSKm2WRkvqdJLtgC8wtXLCfNjqDH4SVVJw1BJ    
2022-08-09 18:35:28.987 DEBUG tokio-runtime-worker dkg: Message sent to 1 DKG controller listeners    
2022-08-09 18:35:28.987 DEBUG tokio-runtime-worker dkg: Streaming message from the Gossip Engine (is okay? true)    
2022-08-09 18:35:28.987 DEBUG tokio-runtime-worker dkg: Going to handle dkg message    
2022-08-09 18:35:29.006 DEBUG tokio-runtime-worker dkg: ROUND 0 | Received public key broadcast    
2022-08-09 18:35:29.010 DEBUG tokio-runtime-worker dkg: ROUND 0 | Threshold 1 | Aggregated pubkeys 2    
2022-08-09 18:35:29.016 DEBUG tokio-runtime-worker dkg: Received message from 12D3KooWKLqLfRCskai6hkrNpXMk116k3v96Wd64VTQtGsExcyRb from gossiping    
2022-08-09 18:35:29.016 DEBUG tokio-runtime-worker dkg: Received a signed DKG messages from 12D3KooWKLqLfRCskai6hkrNpXMk116k3v96Wd64VTQtGsExcyRb @ block 1, round 0    
2022-08-09 18:35:29.016 DEBUG tokio-runtime-worker dkg: OLD DKG MESSAGE FROM 12D3KooWKLqLfRCskai6hkrNpXMk116k3v96Wd64VTQtGsExcyRb    
2022-08-09 18:35:29.061 DEBUG tokio-runtime-worker dkg: Received message from 12D3KooWKLqLfRCskai6hkrNpXMk116k3v96Wd64VTQtGsExcyRb from gossiping    
2022-08-09 18:35:29.061 DEBUG tokio-runtime-worker dkg: Received a signed DKG messages from 12D3KooWKLqLfRCskai6hkrNpXMk116k3v96Wd64VTQtGsExcyRb @ block 1, round 0    
2022-08-09 18:35:29.061 DEBUG tokio-runtime-worker dkg: OLD DKG MESSAGE FROM 12D3KooWKLqLfRCskai6hkrNpXMk116k3v96Wd64VTQtGsExcyRb    
2022-08-09 18:35:30.032  INFO tokio-runtime-worker substrate: ✨ Imported #73 (0x7aa2…fb4f)    
2022-08-09 18:35:30.164 DEBUG tokio-runtime-worker dkg_gadget::async_protocols::misbehaviour_monitor: [MisbehaviourMonitor] Performing periodic check ...    
2022-08-09 18:35:30.164 DEBUG tokio-runtime-worker dkg_gadget::async_protocols::misbehaviour_monitor: [MisbehaviourMonitor] Remote status Keygen    
2022-08-09 18:35:30.164 DEBUG tokio-runtime-worker dkg_gadget::async_protocols::misbehaviour_monitor: [MisbehaviourMonitor] Unreceived messages: CurrentRoundBlame { unreceived_messages: 1, blamed_parties: [2] }    
2022-08-09 18:35:31.389  INFO tokio-runtime-worker substrate: 💤 Idle (2 peers), best: #0 (0xeb33…b142), finalized #0 (0xeb33…b142), ⬇ 10.1kiB/s ⬆ 11.0kiB/s    
2022-08-09 18:35:31.390  INFO tokio-runtime-worker substrate: 💤 Idle (4 peers), best: #73 (0x7aa2…fb4f), finalized #69 (0x8999…60c5), ⬇ 2.0kiB/s ⬆ 1.6kiB/s    
2022-08-09 18:35:32.165 DEBUG tokio-runtime-worker dkg_gadget::async_protocols::misbehaviour_monitor: [MisbehaviourMonitor] Performing periodic check ...    
2022-08-09 18:35:32.165 DEBUG tokio-runtime-worker dkg_gadget::async_protocols::misbehaviour_monitor: [MisbehaviourMonitor] Remote status Keygen    
2022-08-09 18:35:32.165 DEBUG tokio-runtime-worker dkg_gadget::async_protocols::misbehaviour_monitor: [MisbehaviourMonitor] Unreceived messages: CurrentRoundBlame { unreceived_messages: 1, blamed_parties: [2] }    
2022-08-09 18:35:34.164 DEBUG tokio-runtime-worker dkg_gadget::async_protocols::misbehaviour_monitor: [MisbehaviourMonitor] Performing periodic check ...    
2022-08-09 18:35:34.164 DEBUG tokio-runtime-worker dkg_gadget::async_protocols::misbehaviour_monitor: [MisbehaviourMonitor] Remote status Keygen    
2022-08-09 18:35:34.164 DEBUG tokio-runtime-worker dkg_gadget::async_protocols::misbehaviour_monitor: [MisbehaviourMonitor] Unreceived messages: CurrentRoundBlame { unreceived_messages: 1, blamed_parties: [2] }    
2022-08-09 18:35:36.023  INFO tokio-runtime-worker substrate: ✨ Imported #74 (0x2bb9…142f)    
2022-08-09 18:35:36.024 DEBUG tokio-runtime-worker dkg: Going to handle Import notification    
2022-08-09 18:35:36.024 DEBUG tokio-runtime-worker dkg: 🕸️  Processing block notification for block 1    
2022-08-09 18:35:36.024 DEBUG tokio-runtime-worker dkg: 🕸️  Latest header is greater than or equal to current header, returning...    
2022-08-09 18:35:36.028  INFO tokio-runtime-worker cumulus-collator: Starting collation. relay_parent=0x2bb9e70368f51df046d1656f1c9aff15408273a07ce7dbbbdc66dd99e751142f at=0x739a83013262f4dce994a38e49aabb317ef90b16ae052746c5ad7505781a58a3
2022-08-09 18:35:36.165 DEBUG tokio-runtime-worker dkg_gadget::async_protocols::misbehaviour_monitor: [MisbehaviourMonitor] Performing periodic check ...    
2022-08-09 18:35:36.165 DEBUG tokio-runtime-worker dkg_gadget::async_protocols::misbehaviour_monitor: [MisbehaviourMonitor] Remote status Keygen    
2022-08-09 18:35:36.165 DEBUG tokio-runtime-worker dkg_gadget::async_protocols::misbehaviour_monitor: [MisbehaviourMonitor] Unreceived messages: CurrentRoundBlame { unreceived_messages: 1, blamed_parties: [2] }    
2022-08-09 18:35:36.390  INFO tokio-runtime-worker substrate: 💤 Idle (2 peers), best: #1 (0x739a…58a3), finalized #0 (0xeb33…b142), ⬇ 24 B/s ⬆ 37 B/s    
2022-08-09 18:35:36.390  INFO tokio-runtime-worker substrate: 💤 Idle (4 peers), best: #74 (0x2bb9…142f), finalized #70 (0x7123…44ce), ⬇ 1.5kiB/s ⬆ 1.4kiB/s    
2022-08-09 18:35:36.470 DEBUG tokio-runtime-worker dkg: Going to handle Import notification    
2022-08-09 18:35:36.471 DEBUG tokio-runtime-worker dkg: 🕸️  Processing block notification for block 2    
2022-08-09 18:35:36.471 DEBUG tokio-runtime-worker dkg: 🕸️  Latest header is now: 2    
2022-08-09 18:35:36.471  INFO tokio-runtime-worker substrate: ✨ Imported #2 (0xe11e…7f46)    
2022-08-09 18:35:38.164 DEBUG tokio-runtime-worker dkg_gadget::async_protocols::misbehaviour_monitor: [MisbehaviourMonitor] Performing periodic check ...    
2022-08-09 18:35:38.164 DEBUG tokio-runtime-worker dkg_gadget::async_protocols::misbehaviour_monitor: [MisbehaviourMonitor] Remote status Keygen    
2022-08-09 18:35:38.165 DEBUG tokio-runtime-worker dkg_gadget::async_protocols::misbehaviour_monitor: [MisbehaviourMonitor] Unreceived messages: CurrentRoundBlame { unreceived_messages: 1, blamed_parties: [2] }    
2022-08-09 18:35:40.164 DEBUG tokio-runtime-worker dkg_gadget::async_protocols::misbehaviour_monitor: [MisbehaviourMonitor] Performing periodic check ...    
2022-08-09 18:35:40.164 DEBUG tokio-runtime-worker dkg_gadget::async_protocols::misbehaviour_monitor: [MisbehaviourMonitor] Remote status Keygen    
2022-08-09 18:35:40.164 DEBUG tokio-runtime-worker dkg_gadget::async_protocols::misbehaviour_monitor: [MisbehaviourMonitor] Unreceived messages: CurrentRoundBlame { unreceived_messages: 1, blamed_parties: [2] }    
2022-08-09 18:35:41.390  INFO tokio-runtime-worker substrate: 💤 Idle (2 peers), best: #1 (0x739a…58a3), finalized #0 (0xeb33…b142), ⬇ 0.8kiB/s ⬆ 0.8kiB/s    
2022-08-09 18:35:41.391  INFO tokio-runtime-worker substrate: 💤 Idle (4 peers), best: #74 (0x2bb9…142f), finalized #70 (0x7123…44ce), ⬇ 0.9kiB/s ⬆ 1.0kiB/s    
2022-08-09 18:35:41.549  INFO tokio-runtime-worker afg: 👴 Applying authority set change scheduled at block #71    
2022-08-09 18:35:41.549  INFO tokio-runtime-worker afg: 👴 Applying GRANDPA set change to new set [(Public(88dc3417d5058ec4b4503e0c12ea1a0a89be200fe98922423d4334014fa6b0ee (5FA9nQDV...)), 1), (Public(d17c2d7823ebf260fd138f2d7e27d114c0145d968b5ff5006125f2414fadae69 (5GoNkf6W...)), 1)]    
2022-08-09 18:35:42.025  INFO tokio-runtime-worker substrate: ✨ Imported #75 (0x6ef7…bd0e)    
2022-08-09 18:35:42.164 DEBUG tokio-runtime-worker dkg_gadget::async_protocols::misbehaviour_monitor: [MisbehaviourMonitor] Performing periodic check ...    
2022-08-09 18:35:42.164 DEBUG tokio-runtime-worker dkg_gadget::async_protocols::misbehaviour_monitor: [MisbehaviourMonitor] Remote status Keygen    
2022-08-09 18:35:42.164 DEBUG tokio-runtime-worker dkg_gadget::async_protocols::misbehaviour_monitor: [MisbehaviourMonitor] Unreceived messages: CurrentRoundBlame { unreceived_messages: 1, blamed_parties: [2] }    
2022-08-09 18:35:44.164 DEBUG tokio-runtime-worker dkg_gadget::async_protocols::misbehaviour_monitor: [MisbehaviourMonitor] Performing periodic check ...    
2022-08-09 18:35:44.164 DEBUG tokio-runtime-worker dkg_gadget::async_protocols::misbehaviour_monitor: [MisbehaviourMonitor] Remote status Keygen    
2022-08-09 18:35:44.164 DEBUG tokio-runtime-worker dkg_gadget::async_protocols::misbehaviour_monitor: [MisbehaviourMonitor] Unreceived messages: CurrentRoundBlame { unreceived_messages: 1, blamed_parties: [2] }    
2022-08-09 18:35:46.164 DEBUG tokio-runtime-worker dkg_gadget::async_protocols::misbehaviour_monitor: [MisbehaviourMonitor] Performing periodic check ...    
2022-08-09 18:35:46.164 DEBUG tokio-runtime-worker dkg_gadget::async_protocols::misbehaviour_monitor: [MisbehaviourMonitor] Remote status Keygen    
2022-08-09 18:35:46.164 DEBUG tokio-runtime-worker dkg_gadget::async_protocols::misbehaviour_monitor: [MisbehaviourMonitor] Unreceived messages: CurrentRoundBlame { unreceived_messages: 1, blamed_parties: [2] }    
2022-08-09 18:35:46.391  INFO tokio-runtime-worker substrate: 💤 Idle (4 peers), best: #75 (0x6ef7…bd0e), finalized #71 (0xccf6…dca1), ⬇ 1.5kiB/s ⬆ 1.4kiB/s    
2022-08-09 18:35:46.391  INFO tokio-runtime-worker substrate: 💤 Idle (2 peers), best: #1 (0x739a…58a3), finalized #0 (0xeb33…b142), ⬇ 0 ⬆ 0    
2022-08-09 18:35:48.022  INFO tokio-runtime-worker substrate: ✨ Imported #76 (0x72f4…64c2)    
2022-08-09 18:35:48.023 DEBUG tokio-runtime-worker dkg: Going to handle Import notification    
2022-08-09 18:35:48.023 DEBUG tokio-runtime-worker dkg: 🕸️  Processing block notification for block 2    
2022-08-09 18:35:48.023 DEBUG tokio-runtime-worker dkg: 🕸️  Latest header is greater than or equal to current header, returning...    
2022-08-09 18:35:48.025  INFO tokio-runtime-worker cumulus-collator: Starting collation. relay_parent=0x72f465d9c5b989116aef60a0f50d957200f948508c1a7336aecb9fd91d2364c2 at=0xe11ed9f92259f4da5c95de43a49ba3f4af8ed843cbb48fa2a807a64588327f46
2022-08-09 18:35:48.165 DEBUG tokio-runtime-worker dkg_gadget::async_protocols::misbehaviour_monitor: [MisbehaviourMonitor] Performing periodic check ...    
2022-08-09 18:35:48.165 DEBUG tokio-runtime-worker dkg_gadget::async_protocols::misbehaviour_monitor: [MisbehaviourMonitor] Remote status Keygen    
2022-08-09 18:35:48.165 DEBUG tokio-runtime-worker dkg_gadget::async_protocols::misbehaviour_monitor: [MisbehaviourMonitor] Unreceived messages: CurrentRoundBlame { unreceived_messages: 1, blamed_parties: [2] }    
2022-08-09 18:35:50.164 DEBUG tokio-runtime-worker dkg_gadget::async_protocols::misbehaviour_monitor: [MisbehaviourMonitor] Performing periodic check ...    
2022-08-09 18:35:50.164 DEBUG tokio-runtime-worker dkg_gadget::async_protocols::misbehaviour_monitor: [MisbehaviourMonitor] Remote status Keygen    
2022-08-09 18:35:50.164 DEBUG tokio-runtime-worker dkg_gadget::async_protocols::misbehaviour_monitor: [MisbehaviourMonitor] Unreceived messages: CurrentRoundBlame { unreceived_messages: 1, blamed_parties: [2] }    
2022-08-09 18:35:51.392  INFO tokio-runtime-worker substrate: 💤 Idle (4 peers), best: #76 (0x72f4…64c2), finalized #73 (0x7aa2…fb4f), ⬇ 2.2kiB/s ⬆ 1.8kiB/s    
2022-08-09 18:35:51.392  INFO tokio-runtime-worker substrate: 💤 Idle (2 peers), best: #2 (0xe11e…7f46), finalized #0 (0xeb33…b142), ⬇ 0.2kiB/s ⬆ 0.2kiB/s    
2022-08-09 18:35:52.164 DEBUG tokio-runtime-worker dkg_gadget::async_protocols::misbehaviour_monitor: [MisbehaviourMonitor] Performing periodic check ...    
2022-08-09 18:35:52.164 DEBUG tokio-runtime-worker dkg_gadget::async_protocols::misbehaviour_monitor: [MisbehaviourMonitor] Remote status Keygen    
2022-08-09 18:35:52.164 DEBUG tokio-runtime-worker dkg_gadget::async_protocols::misbehaviour_monitor: [MisbehaviourMonitor] Unreceived messages: CurrentRoundBlame { unreceived_messages: 1, blamed_parties: [2] }    
2022-08-09 18:35:53.625 DEBUG tokio-runtime-worker dkg: Going to handle Import notification    
2022-08-09 18:35:53.625 DEBUG tokio-runtime-worker dkg: 🕸️  Processing block notification for block 3    
2022-08-09 18:35:53.625 DEBUG tokio-runtime-worker dkg: 🕸️  Latest header is now: 3    
2022-08-09 18:35:53.625  INFO tokio-runtime-worker substrate: ✨ Imported #3 (0xb8d5…0077)    
2022-08-09 18:35:54.022  INFO tokio-runtime-worker substrate: ✨ Imported #77 (0x065a…d69b)    
2022-08-09 18:35:54.027  INFO tokio-runtime-worker substrate: ✨ Imported #77 (0x30b8…fb3c)    
2022-08-09 18:35:54.164 DEBUG tokio-runtime-worker dkg_gadget::async_protocols::misbehaviour_monitor: [MisbehaviourMonitor] Performing periodic check ...    
2022-08-09 18:35:54.164 DEBUG tokio-runtime-worker dkg_gadget::async_protocols::misbehaviour_monitor: [MisbehaviourMonitor] Remote status Keygen    
2022-08-09 18:35:54.164 DEBUG tokio-runtime-worker dkg_gadget::async_protocols::misbehaviour_monitor: [MisbehaviourMonitor] Unreceived messages: CurrentRoundBlame { unreceived_messages: 1, blamed_parties: [2] }    
2022-08-09 18:35:56.164 DEBUG tokio-runtime-worker dkg_gadget::async_protocols::misbehaviour_monitor: [MisbehaviourMonitor] Performing periodic check ...    
2022-08-09 18:35:56.164 DEBUG tokio-runtime-worker dkg_gadget::async_protocols::misbehaviour_monitor: [MisbehaviourMonitor] Remote status Keygen    
2022-08-09 18:35:56.164 DEBUG tokio-runtime-worker dkg_gadget::async_protocols::misbehaviour_monitor: [MisbehaviourMonitor] Unreceived messages: CurrentRoundBlame { unreceived_messages: 1, blamed_parties: [2] }    
2022-08-09 18:35:56.392  INFO tokio-runtime-worker substrate: 💤 Idle (2 peers), best: #2 (0xe11e…7f46), finalized #0 (0xeb33…b142), ⬇ 1.0kiB/s ⬆ 0.1kiB/s    
2022-08-09 18:35:56.392  INFO tokio-runtime-worker substrate: 💤 Idle (4 peers), best: #77 (0x065a…d69b), finalized #73 (0x7aa2…fb4f), ⬇ 1.9kiB/s ⬆ 1.5kiB/s    
2022-08-09 18:35:57.560 DEBUG tokio-runtime-worker dkg: Going to handle Finality notification    
2022-08-09 18:35:57.560 DEBUG tokio-runtime-worker dkg: 🕸️  Processing block notification for block 1    
2022-08-09 18:35:57.560 DEBUG tokio-runtime-worker dkg: 🕸️  Latest header is greater than or equal to current header, returning...    
2022-08-09 18:35:58.165 DEBUG tokio-runtime-worker dkg_gadget::async_protocols::misbehaviour_monitor: [MisbehaviourMonitor] Performing periodic check ...    
2022-08-09 18:35:58.165 DEBUG tokio-runtime-worker dkg_gadget::async_protocols::misbehaviour_monitor: [MisbehaviourMonitor] Remote status Keygen    
2022-08-09 18:35:58.165 DEBUG tokio-runtime-worker dkg_gadget::async_protocols::misbehaviour_monitor: [MisbehaviourMonitor] Unreceived messages: CurrentRoundBlame { unreceived_messages: 1, blamed_parties: [2] }    
2022-08-09 18:36:00.022  INFO tokio-runtime-worker substrate: ✨ Imported #78 (0x3e05…8209)    
2022-08-09 18:36:00.026 DEBUG tokio-runtime-worker dkg: Going to handle Import notification    
2022-08-09 18:36:00.026 DEBUG tokio-runtime-worker dkg: 🕸️  Processing block notification for block 3    
2022-08-09 18:36:00.026 DEBUG tokio-runtime-worker dkg: 🕸️  Latest header is greater than or equal to current header, returning...    
2022-08-09 18:36:00.027  INFO tokio-runtime-worker cumulus-collator: Starting collation. relay_parent=0x3e057c608c0615abc70fdd13b7f6b730d8a1fb4500d9d48b5478d204f2fa8209 at=0xb8d55eeab475cd5fcb6bcfd8e6f1b7f58f64110129d5ae4eedf8f0e70b8a0077
2022-08-09 18:36:00.028  INFO tokio-runtime-worker sc_basic_authorship::basic_authorship: 🙌 Starting consensus session on top of parent 0xb8d55eeab475cd5fcb6bcfd8e6f1b7f58f64110129d5ae4eedf8f0e70b8a0077    
2022-08-09 18:36:00.031  INFO tokio-runtime-worker sc_basic_authorship::basic_authorship: 🎁 Prepared block for proposing at 4 (0 ms) [hash: 0x73311ee94a7233979a54abe2c64041014943649ec2441749934c505f1122415d; parent_hash: 0xb8d5…0077; extrinsics (2): [0x7f62…8603, 0x2707…d219]]    
2022-08-09 18:36:00.031  INFO tokio-runtime-worker sc_informant: ♻️  Reorg on #78,0x3e05…8209 to #78,0x7159…70c8, common ancestor #77,0x065a…d69b    
2022-08-09 18:36:00.031  INFO tokio-runtime-worker substrate: ✨ Imported #78 (0x7159…70c8)    
2022-08-09 18:36:00.035  INFO tokio-runtime-worker cumulus-collator: Starting collation. relay_parent=0x71593cd14a23743a0da90571d734bb57610c7c894cc9a4b86e8d9212019b70c8 at=0xb8d55eeab475cd5fcb6bcfd8e6f1b7f58f64110129d5ae4eedf8f0e70b8a0077
2022-08-09 18:36:00.037  INFO tokio-runtime-worker aura: 🔖 Pre-sealed block for proposal at 4. Hash now 0xe6561d4234471bce8d0b1b6d25ce41f3edef7bfd20ee2e6cc5d449bd5299a4a0, previously 0x73311ee94a7233979a54abe2c64041014943649ec2441749934c505f1122415d.    
2022-08-09 18:36:00.037  INFO tokio-runtime-worker substrate: ✨ Imported #4 (0xe656…a4a0)    
2022-08-09 18:36:00.037 DEBUG tokio-runtime-worker dkg: Going to handle Import notification    
2022-08-09 18:36:00.037 DEBUG tokio-runtime-worker dkg: 🕸️  Processing block notification for block 4    
2022-08-09 18:36:00.037 DEBUG tokio-runtime-worker dkg: 🕸️  Latest header is now: 4    
2022-08-09 18:36:00.037  INFO tokio-runtime-worker cumulus-collator: PoV size { header: 0.1787109375kb, extrinsics: 2.7470703125kb, storage_proof: 7.6201171875kb }
2022-08-09 18:36:00.038  INFO tokio-runtime-worker cumulus-collator: Compressed PoV size: 7.7138671875kb
2022-08-09 18:36:00.038  INFO tokio-runtime-worker cumulus-collator: Produced proof-of-validity candidate. block_hash=0xe6561d4234471bce8d0b1b6d25ce41f3edef7bfd20ee2e6cc5d449bd5299a4a0
2022-08-09 18:36:00.039  INFO tokio-runtime-worker sc_basic_authorship::basic_authorship: 🙌 Starting consensus session on top of parent 0xb8d55eeab475cd5fcb6bcfd8e6f1b7f58f64110129d5ae4eedf8f0e70b8a0077    
2022-08-09 18:36:00.041  INFO tokio-runtime-worker sc_basic_authorship::basic_authorship: 🎁 Prepared block for proposing at 4 (0 ms) [hash: 0x90c0c80af3efe3e232a45eeab56d5161008c399fc19c5b15e0fc6a983302b5e6; parent_hash: 0xb8d5…0077; extrinsics (2): [0xda49…67a6, 0xf937…f23b]]    
2022-08-09 18:36:00.043  INFO tokio-runtime-worker aura: 🔖 Pre-sealed block for proposal at 4. Hash now 0x8181d847b88671eda2a67cb965fc1af952afba4d61843579e0a7526e8963fa40, previously 0x90c0c80af3efe3e232a45eeab56d5161008c399fc19c5b15e0fc6a983302b5e6.    
2022-08-09 18:36:00.043 DEBUG tokio-runtime-worker dkg: Going to handle Import notification    
2022-08-09 18:36:00.043 DEBUG tokio-runtime-worker dkg: 🕸️  Processing block notification for block 4    
2022-08-09 18:36:00.043 DEBUG tokio-runtime-worker dkg: 🕸️  Latest header is greater than or equal to current header, returning...    
2022-08-09 18:36:00.043  INFO tokio-runtime-worker cumulus-collator: PoV size { header: 0.1787109375kb, extrinsics: 2.7470703125kb, storage_proof: 7.6201171875kb }
2022-08-09 18:36:00.043  INFO tokio-runtime-worker cumulus-collator: Compressed PoV size: 7.7080078125kb
2022-08-09 18:36:00.043  INFO tokio-runtime-worker cumulus-collator: Produced proof-of-validity candidate. block_hash=0x8181d847b88671eda2a67cb965fc1af952afba4d61843579e0a7526e8963fa40
2022-08-09 18:36:00.044  INFO tokio-runtime-worker substrate: ✨ Imported #4 (0x8181…fa40)    
2022-08-09 18:36:00.164 DEBUG tokio-runtime-worker dkg_gadget::async_protocols::misbehaviour_monitor: [MisbehaviourMonitor] Performing periodic check ...    
2022-08-09 18:36:00.164 DEBUG tokio-runtime-worker dkg_gadget::async_protocols::misbehaviour_monitor: [MisbehaviourMonitor] Remote status Keygen    
2022-08-09 18:36:00.164 DEBUG tokio-runtime-worker dkg_gadget::async_protocols::misbehaviour_monitor: [MisbehaviourMonitor] Unreceived messages: CurrentRoundBlame { unreceived_messages: 1, blamed_parties: [2] }    
2022-08-09 18:36:00.164  WARN tokio-runtime-worker dkg_gadget::async_protocols::misbehaviour_monitor: [MisbehaviourMonitor] Keygen has stalled! Will determine which authorities are misbehaving ...    
2022-08-09 18:36:00.164  WARN tokio-runtime-worker dkg_gadget::async_protocols::misbehaviour_monitor: Blamed 2 for keygen stalled!    
2022-08-09 18:36:00.164 DEBUG tokio-runtime-worker dkg: Going to gossip misbehaviour    
2022-08-09 18:36:00.169 DEBUG tokio-runtime-worker dkg: 💀  (Round: 1) Sending Misbehaviour message: (219 bytes)    
2022-08-09 18:36:00.169 DEBUG tokio-runtime-worker dkg: Sending message to all peers    
2022-08-09 18:36:00.169 DEBUG tokio-runtime-worker dkg: Gossiping misbehaviour report and signature    
2022-08-09 18:36:00.169 DEBUG tokio-runtime-worker dkg: DKG threshold: 1, reports: 1    
2022-08-09 18:36:00.604 DEBUG tokio-runtime-worker dkg: Received message from 12D3KooWFKFK3PCFSKm2WRkvqdJLtgC8wtXLCfNjqDH4SVVJw1BJ from gossiping    
2022-08-09 18:36:00.604 DEBUG tokio-runtime-worker dkg: Received a signed DKG messages from 12D3KooWFKFK3PCFSKm2WRkvqdJLtgC8wtXLCfNjqDH4SVVJw1BJ @ block 4, round 1    
2022-08-09 18:36:00.604 DEBUG tokio-runtime-worker dkg: NEW DKG MESSAGE FROM 12D3KooWFKFK3PCFSKm2WRkvqdJLtgC8wtXLCfNjqDH4SVVJw1BJ    
2022-08-09 18:36:00.604 DEBUG tokio-runtime-worker dkg: Message sent to 1 DKG controller listeners    
2022-08-09 18:36:00.604 DEBUG tokio-runtime-worker dkg: Streaming message from the Gossip Engine (is okay? true)    
2022-08-09 18:36:00.604 DEBUG tokio-runtime-worker dkg: Going to handle dkg message    
2022-08-09 18:36:00.605 DEBUG tokio-runtime-worker dkg: Received misbehaviour report    
2022-08-09 18:36:00.605 DEBUG tokio-runtime-worker dkg: Is main round: false    
2022-08-09 18:36:00.605 DEBUG tokio-runtime-worker dkg: Reporter: Public(03ae1a02a91d59ff20ece458640afbbb672b9335f7da4c9f7d699129d431680ae9 (KWCeb4NP...))    
2022-08-09 18:36:00.605 DEBUG tokio-runtime-worker dkg: Reports: AggregatedMisbehaviourReports { misbehaviour_type: Keygen, round_id: 1, offender: Public(03fd0f9d6e4ef6eeb0718866a43c04764177f3fc03203e9ff7ed4dd2885cb52943 (KWES7kfi...)), reporters: [], signatures: [] }    
2022-08-09 18:36:00.605 DEBUG tokio-runtime-worker dkg: DKG threshold: 1, reports: 1    
2022-08-09 18:36:00.678 DEBUG tokio-runtime-worker dkg: Received message from 12D3KooWKLqLfRCskai6hkrNpXMk116k3v96Wd64VTQtGsExcyRb from gossiping    
2022-08-09 18:36:00.678 DEBUG tokio-runtime-worker dkg: Received a signed DKG messages from 12D3KooWKLqLfRCskai6hkrNpXMk116k3v96Wd64VTQtGsExcyRb @ block 4, round 1    
2022-08-09 18:36:00.678 DEBUG tokio-runtime-worker dkg: OLD DKG MESSAGE FROM 12D3KooWKLqLfRCskai6hkrNpXMk116k3v96Wd64VTQtGsExcyRb    
2022-08-09 18:36:01.392  INFO tokio-runtime-worker substrate: 💤 Idle (2 peers), best: #3 (0xb8d5…0077), finalized #1 (0x739a…58a3), ⬇ 0.3kiB/s ⬆ 3.8kiB/s    
2022-08-09 18:36:01.393  INFO tokio-runtime-worker substrate: 💤 Idle (4 peers), best: #78 (0x7159…70c8), finalized #74 (0x2bb9…142f), ⬇ 1.9kiB/s ⬆ 5.1kiB/s    
2022-08-09 18:36:02.164 DEBUG tokio-runtime-worker dkg_gadget::async_protocols::misbehaviour_monitor: [MisbehaviourMonitor] Performing periodic check ...    
2022-08-09 18:36:02.164 DEBUG tokio-runtime-worker dkg_gadget::async_protocols::misbehaviour_monitor: [MisbehaviourMonitor] Remote status Keygen    
2022-08-09 18:36:02.164 DEBUG tokio-runtime-worker dkg_gadget::async_protocols::misbehaviour_monitor: [MisbehaviourMonitor] Unreceived messages: CurrentRoundBlame { unreceived_messages: 1, blamed_parties: [2] }    
2022-08-09 18:36:02.164  WARN tokio-runtime-worker dkg_gadget::async_protocols::misbehaviour_monitor: [MisbehaviourMonitor] Keygen has stalled! Will determine which authorities are misbehaving ...    
2022-08-09 18:36:02.164  WARN tokio-runtime-worker dkg_gadget::async_protocols::misbehaviour_monitor: Blamed 2 for keygen stalled!    
2022-08-09 18:36:02.164 DEBUG tokio-runtime-worker dkg: Going to gossip misbehaviour    
2022-08-09 18:36:02.169 DEBUG tokio-runtime-worker dkg: 💀  (Round: 1) Sending Misbehaviour message: (219 bytes)    
2022-08-09 18:36:02.169 DEBUG tokio-runtime-worker dkg: Sending message to all peers    
2022-08-09 18:36:04.164 DEBUG tokio-runtime-worker dkg_gadget::async_protocols::misbehaviour_monitor: [MisbehaviourMonitor] Performing periodic check ...    
2022-08-09 18:36:04.164 DEBUG tokio-runtime-worker dkg_gadget::async_protocols::misbehaviour_monitor: [MisbehaviourMonitor] Remote status Keygen    
2022-08-09 18:36:04.164 DEBUG tokio-runtime-worker dkg_gadget::async_protocols::misbehaviour_monitor: [MisbehaviourMonitor] Unreceived messages: CurrentRoundBlame { unreceived_messages: 1, blamed_parties: [2] }    
2022-08-09 18:36:04.164  WARN tokio-runtime-worker dkg_gadget::async_protocols::misbehaviour_monitor: [MisbehaviourMonitor] Keygen has stalled! Will determine which authorities are misbehaving ...    
2022-08-09 18:36:04.165  WARN tokio-runtime-worker dkg_gadget::async_protocols::misbehaviour_monitor: Blamed 2 for keygen stalled!    
2022-08-09 18:36:04.165 DEBUG tokio-runtime-worker dkg: Going to gossip misbehaviour    
2022-08-09 18:36:04.169 DEBUG tokio-runtime-worker dkg: 💀  (Round: 1) Sending Misbehaviour message: (219 bytes)    
2022-08-09 18:36:04.169 DEBUG tokio-runtime-worker dkg: Sending message to all peers    
2022-08-09 18:36:05.564 DEBUG tokio-runtime-worker dkg: Going to handle Finality notification    
2022-08-09 18:36:05.565 DEBUG tokio-runtime-worker dkg: 🕸️  Processing block notification for block 2    
2022-08-09 18:36:05.565 DEBUG tokio-runtime-worker dkg: 🕸️  Latest header is greater than or equal to current header, returning...    
2022-08-09 18:36:06.024  INFO tokio-runtime-worker substrate: ✨ Imported #79 (0x4faa…584e)    
2022-08-09 18:36:06.164 DEBUG tokio-runtime-worker dkg_gadget::async_protocols::misbehaviour_monitor: [MisbehaviourMonitor] Performing periodic check ...    
2022-08-09 18:36:06.164 DEBUG tokio-runtime-worker dkg_gadget::async_protocols::misbehaviour_monitor: [MisbehaviourMonitor] Remote status Keygen    
2022-08-09 18:36:06.164 DEBUG tokio-runtime-worker dkg_gadget::async_protocols::misbehaviour_monitor: [MisbehaviourMonitor] Unreceived messages: CurrentRoundBlame { unreceived_messages: 1, blamed_parties: [2] }    
2022-08-09 18:36:06.165  WARN tokio-runtime-worker dkg_gadget::async_protocols::misbehaviour_monitor: [MisbehaviourMonitor] Keygen has stalled! Will determine which authorities are misbehaving ...    
2022-08-09 18:36:06.165  WARN tokio-runtime-worker dkg_gadget::async_protocols::misbehaviour_monitor: Blamed 2 for keygen stalled!

[BUG] Issue with AranaAlpha DKG pubic key generation

Overview

Looks like the DKG public key has stalled at session 2:

[
  2
  0x035341c6cfd19cdd89160ca6783b9749e724364f1435198af3eee36de9b0939e9a
]

Yet we are on session 18. We need to investigate the issue and this is where those DKG specific alerts would be helpful.

[CHECKLIST] Alpha Network | Tangle parachain launch

Overview

The goal of this checklist is to outline all requirements to have the DKG running as a parachain on the Kusama network. This is an essential step to ensure the Tangle/DKG is launch-ready before securing a slot on Kusama / Polkadot.

Testing

Infrastructure

Bugs

Chain / Genesis Specification

  • #86
  • [TASK] Update sudo key
  • [TASK] Update genesis token distribution & vesting

Feature Considerations

Completed Tasks

[CHECKLIST] Create a tangle runtime for launch

We currently have a rococo runtime, we need to create a tangle runtime that we would submit for the crowdloan, this would be identical to the current rococo runtime but with two changes, more stricter/safer fee calculation and call filters on the pallets we dont use initially. Before we make this runtime, we need to

[TASK] Handle nominator rewards on-chain

Currently in the parachain-staking pallet we have reward distribution for collators and on-chain snapshot of all the nominators that have nominated/contributed to the collator. This means the collator has to use the snapshot to reward collators off-chain, we can handle this onchain, ie maybe create a pallet to reward all nominators when a collator is rewarded.

[BUG] dkg_gadget::worker panics on `start_keygen`

Describe the bug

When attempting to run a second collator to begin dkg-keygen, it immediately panics. The parachain connects to the relaychain and other collator fine.

To Reproduce
Steps to reproduce the behavior:

  1. Follow README.md instructions.

Log output

Log Output
Version: 3.0.0-76409c2-aarch64-macos

 0: backtrace::backtrace::trace
 1: backtrace::capture::Backtrace::new
 2: sp_panic_handler::set::{{closure}}
 3: std::panicking::rust_panic_with_hook
           at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/panicking.rs:610:17
 4: std::panicking::begin_panic_handler::{{closure}}
           at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/panicking.rs:500:13
 5: std::sys_common::backtrace::__rust_end_short_backtrace
           at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/sys_common/backtrace.rs:139:18
 6: rust_begin_unwind
           at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/panicking.rs:498:5
 7: core::panicking::panic_fmt
           at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/core/src/panicking.rs:107:14
 8: core::panicking::panic
           at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/core/src/panicking.rs:48:5
 9: dkg_gadget::worker::DKGWorker<B,C,BE>::process_block_notification
10: <core::future::from_generator::GenFuture<T> as core::future::future::Future>::poll
11: <futures_util::future::future::map::Map<Fut,F> as core::future::future::Future>::poll
12: <sc_service::task_manager::prometheus_future::PrometheusFuture<T> as core::future::future::Future>::poll
13: <futures_util::future::select::Select<A,B> as core::future::future::Future>::poll
14: <tracing_futures::Instrumented<T> as core::future::future::Future>::poll
15: tokio::park::thread::CachedParkThread::block_on
16: tokio::runtime::handle::Handle::block_on
17: tokio::runtime::task::core::CoreStage<T>::poll
18: tokio::runtime::task::harness::Harness<T,S>::poll
19: tokio::runtime::blocking::pool::Inner::run
20: std::sys_common::backtrace::__rust_begin_short_backtrace
21: core::ops::function::FnOnce::call_once{{vtable.shim}}
22: <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once
           at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/alloc/src/boxed.rs:1694:9
    <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once
           at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/alloc/src/boxed.rs:1694:9
    std::sys::unix::thread::Thread::new::thread_start
           at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/sys/unix/thread.rs:106:17
23: __pthread_deallocate


Thread 'tokio-runtime-worker' panicked at 'called `Option::unwrap()` on a `None` value', /Users/dut/.cargo/git/checkouts/dkg-substrate-0264706d690306a8/73a23c4/dkg-gadget/src/worker.rs:430

Expected behaviour

Upon starting a second collator, I expect the collator to connect with the first collator and being the dkg keygen process.

Screenshots

Environment (please complete the following information):

  • OS: - aarch64-macos
  • Rust version(e.g. rustc --version): nightly-2021-11-20-aarch64-apple-darwin
  • Branch/commit: main

Other information and links

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.