Update to latest Polkadot & Substrate (#75)

* Start fixing compilation errors

* Switch to git version of `WasmBuilder`

* Fix compilation

* More updates

* Adapt to latest Substrate/Polkadot changes
This commit is contained in:
Bastian Köcher authored and GitHub committed 2020-04-06 21:55:32 +02:00
1 parent f54a6e8b4d
commit d4562c3a48
14 files changed
+2176 -1881

No files matched your search

+2032 -1769
View File
File diff suppressed because it is too large. Load diff
+1
View File
@@ -457,6 +457,7 @@ mod tests {
NativeExecutor::<polkadot_service::PolkadotExecutor>::new(
Interpreted,
None,
1,
)
)
)
+1
View File
@@ -11,6 +11,7 @@ sc-client = { git = "https://github.com/paritytech/substrate", branch = "cumulus
sp-blockchain = { git = "https://github.com/paritytech/substrate", branch = "cumulus-branch" }
sp-consensus = { git = "https://github.com/paritytech/substrate", branch = "cumulus-branch" }
sp-runtime = { git = "https://github.com/paritytech/substrate", branch = "cumulus-branch" }
sp-api = { git = "https://github.com/paritytech/substrate", branch = "cumulus-branch" }
# polkadot deps
polkadot-primitives = { git = "https://github.com/paritytech/polkadot", branch = "cumulus-branch" }
+24 -8
View File
@@ -18,18 +18,22 @@
//!
//! Contains message send between collators and logic to process them.
use sp_api::ProvideRuntimeApi;
use sp_blockchain::Error as ClientError;
use sp_consensus::block_validation::{BlockAnnounceValidator, Validation};
use sp_runtime::traits::Block as BlockT;
use sp_runtime::{generic::BlockId, traits::Block as BlockT};
use polkadot_network::legacy::gossip::{GossipMessage, GossipStatement};
use polkadot_primitives::parachain::ValidatorId;
use polkadot_primitives::{
parachain::{ParachainHost, ValidatorId},
Block as PBlock,
};
use polkadot_statement_table::{SignedStatement, Statement};
use polkadot_validation::check_statement;
use codec::{Decode, Encode};
use std::marker::PhantomData;
use std::{marker::PhantomData, sync::Arc};
/// Validate that data is a valid justification from a relay-chain validator that the block is a
/// valid parachain-block candidate.
@@ -37,21 +41,27 @@ use std::marker::PhantomData;
/// the justification.
///
/// Note: if no justification is provided the annouce is considered valid.
pub struct JustifiedBlockAnnounceValidator<B> {
pub struct JustifiedBlockAnnounceValidator<B, P> {
authorities: Vec<ValidatorId>,
phantom: PhantomData<B>,
polkadot_client: Arc<P>,
}
impl<B: BlockT> JustifiedBlockAnnounceValidator<B> {
pub fn new(authorities: Vec<ValidatorId>) -> Self {
impl<B, P> JustifiedBlockAnnounceValidator<B, P> {
pub fn new(authorities: Vec<ValidatorId>, polkadot_client: Arc<P>) -> Self {
Self {
authorities,
phantom: Default::default(),
polkadot_client,
}
}
}
impl<B: BlockT> BlockAnnounceValidator<B> for JustifiedBlockAnnounceValidator<B> {
impl<B: BlockT, P> BlockAnnounceValidator<B> for JustifiedBlockAnnounceValidator<B, P>
where
P: ProvideRuntimeApi<PBlock>,
P::Api: ParachainHost<PBlock>,
{
fn validate(
&mut self,
header: &B::Header,
@@ -89,6 +99,12 @@ impl<B: BlockT> BlockAnnounceValidator<B> for JustifiedBlockAnnounceValidator<B>
},
} = gossip_statement;
let signing_context = self
.polkadot_client
.runtime_api()
.signing_context(&BlockId::Hash(relay_chain_leaf))
.map_err(|e| Box::new(ClientError::Msg(format!("{:?}", e))) as Box<_>)?;
// Check that the signer is a legit validator.
let signer = self.authorities.get(sender as usize).ok_or_else(|| {
Box::new(ClientError::BadJustification(
@@ -98,7 +114,7 @@ impl<B: BlockT> BlockAnnounceValidator<B> for JustifiedBlockAnnounceValidator<B>
})?;
// Check statement is correctly signed.
if !check_statement(&statement, &signature, signer.clone(), &relay_chain_leaf) {
if !check_statement(&statement, &signature, signer.clone(), &signing_context) {
return Err(Box::new(ClientError::BadJustification(
"block announced justification signature is invalid".to_string(),
)) as Box<_>);
@@ -54,10 +54,12 @@ fn call_validate_block(
Some(1024),
sp_io::SubstrateHostFunctions::host_functions(),
false,
1,
);
executor.call_in_wasm(
&WASM_BINARY,
None,
"validate_block",
&params,
&mut ext_ext,
+1 -1
View File
@@ -35,7 +35,7 @@ sc-transaction-pool = { git = "https://github.com/paritytech/substrate", branch
sp-transaction-pool = { git = "https://github.com/paritytech/substrate", branch = "cumulus-branch" }
sc-network = { git = "https://github.com/paritytech/substrate", branch = "cumulus-branch" }
sc-client = { git = "https://github.com/paritytech/substrate", branch = "cumulus-branch" }
sc-basic-authorship = { git = "https://github.com/paritytech/substrate", branch = "cumulus-branch" }
sc-basic-authorship = { git = "https://github.com/paritytech/substrate", branch = "cumulus-branch", version = "0.8.0-alpha.5" }
sp-timestamp = { git = "https://github.com/paritytech/substrate", branch = "cumulus-branch" }
sc-finality-grandpa = { git = "https://github.com/paritytech/substrate", branch = "cumulus-branch" }
@@ -11,79 +11,83 @@
"genesis": {
"raw": {
"top": {
"0xf2794c22e353e9a839f12faab03a911bbdcb0c5143a8617ed38ae3810dd45bc6": "0x00000000",
"0x1cb6f36e027abb2091cfb5110ab5087f66e8f035c8adbe7f1547b43c51e6f8a4": "0x00000000",
"0x26aa394eea5630e07c48ae0c9558cef780d41e5e16056765bc8461851072c9d7": "0x3000000000000003d43593c715fdd31c61141abd04a99fd6822c8558854ccde39a5684e7a56da27d00000000000000038eaf04151687736326c9fea17e25fc5287613693c912909cb226aa4794f26a48000000000000000390b5ab205c6974c9ea841be688864633dc9ca8a357843eeacf2314649965fe220000000000000003306721211d5404bd9da88e0204360a1a9ab8b87c66c1bc2fcdd37f3c2222cc200000000000000003e659a7a1628cdd93febc04a4e0646ea20e9f5f0ce097d9a05290d4a9e054df4e00000000000000031cbd2d43530a44705ad088af313e18f80b53ef16b36177cd4b77b846f2a5f07c0000000000000003be5ddb1579b72e84524fc29e78609e3caf42e85aa118ebfe0b0ad404b5bdd25f0000000000000003fe65717dad0447d715f660a0a58411de509b42e6efb8375f562f58a554d5860e00000000000000031e07379407fecc4b89eb7dbd287c2c781cfb1907a96947a3eb18e4f8e71986250000000000000003e860f1b1c7227f7c22602f53f15af80747814dffd839719731ee3bba6edc126c00000000000000038ac59e11963af19174d0b94d5d78041c233f55d2e19324665bafdfb62925af2d0000000000000003101191192fc877c24d725b337120fa3edc63d227bbc92705db1e2cb65f56981a00",
"0x26aa394eea5630e07c48ae0c9558cef7b99d880ec681799c0cf30e8886371da99ea52149af6b15f4d523ad4342f63089646e29232a1777737159c7bc84173597": "0x00000000000064a7b3b6e00d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
"0x5f3e4907f716ac89b6347d15ececedca88dcde934c658227ee1dfafcd6e169039a9304efeee429067b2e8dfbcfd8a22d96f9d996a5d6daa02899b96bd7a667b1": "0x000001be5ddb1579b72e84524fc29e78609e3caf42e85aa118ebfe0b0ad404b5bdd25f",
"0xc2261276cc9d1f8598ea4b6a74b15c2f218f26c73add634897550b4003b26bc64724e5390fcf0d08afc9608ff4c45df257266ae599ac7a32baba26155dcf4402": "0x047374616b696e672000407a10f35a0000000000000000000002",
"0x3a65787472696e7369635f696e646578": "0x00000000",
"0x1cb6f36e027abb2091cfb5110ab5087f5e0621c4869aa60c02be9adcc98a0d1d": "0x088eaf04151687736326c9fea17e25fc5287613693c912909cb226aa4794f26a480100000000000000d43593c715fdd31c61141abd04a99fd6822c8558854ccde39a5684e7a56da27d0100000000000000",
"0x2099d7f109d6e535fb000bba623fd4409f99a2ce711f3a31b2fc05604c93f179": "0x088eaf04151687736326c9fea17e25fc5287613693c912909cb226aa4794f26a48d43593c715fdd31c61141abd04a99fd6822c8558854ccde39a5684e7a56da27d",
"0x5f3e4907f716ac89b6347d15ececedca5579297f4dfb9609e7e4c2ebab9ce40a": "0x08be5ddb1579b72e84524fc29e78609e3caf42e85aa118ebfe0b0ad404b5bdd25ffe65717dad0447d715f660a0a58411de509b42e6efb8375f562f58a554d5860e",
"0x5f3e4907f716ac89b6347d15ececedca83e585bbc5fdcec57219c0dc81ef5ff44724e5390fcf0d08afc9608ff4c45df257266ae599ac7a32baba26155dcf4402": "0x0b00407a10f35a0b00407a10f35a00",
"0x5f3e4907f716ac89b6347d15ececedca9220e172bed316605f73f1ff7b4ade984724e5390fcf0d08afc9608ff4c45df257266ae599ac7a32baba26155dcf4402": "0x00",
"0x26aa394eea5630e07c48ae0c9558cef7b99d880ec681799c0cf30e8886371da9024cd62ab7726e039438193d4bbd915427f2d7de85afbcf00bd16fadbcad6aed": "0x00000000000064a7b3b6e00d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
"0x5f3e4907f716ac89b6347d15ececedcab49a2738eeb30896aacb8b3fb46471bd": "0x01000000",
"0xcec5070d609dd3497f72bde07fc96ba0726380404683fc89e8233450c8aa19509fe6329cc0b39e09343a73657373696f6e3a6b65797379b1148d2eef14114c422e7d0647dde06e73c1ab283dce7d8a383ae6f948faf1": "0xfe65717dad0447d715f660a0a58411de509b42e6efb8375f562f58a554d5860e",
"0xf2794c22e353e9a839f12faab03a911b7f17cdfbfa73331856cca0acddd7842e": "0x00000000",
"0x5f3e4907f716ac89b6347d15ececedca88dcde934c658227ee1dfafcd6e169034724e5390fcf0d08afc9608ff4c45df257266ae599ac7a32baba26155dcf4402": "0x0001fe65717dad0447d715f660a0a58411de509b42e6efb8375f562f58a554d5860e00",
"0x26aa394eea5630e07c48ae0c9558cef7b99d880ec681799c0cf30e8886371da965d0de2c1f75d898c078307a00486016783280c8f3407db41dc9547d3e3d651e": "0x00000000000064a7b3b6e00d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
"0x26aa394eea5630e07c48ae0c9558cef7b99d880ec681799c0cf30e8886371da9927407fbcfe5afa14bcfb44714a843c532f291a9c33612677cb9e0ae5e2bd5de": "0x00000000000064a7b3b6e00d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
"0x5f3e4907f716ac89b6347d15ececedca83e585bbc5fdcec57219c0dc81ef5ff49a9304efeee429067b2e8dfbcfd8a22d96f9d996a5d6daa02899b96bd7a667b1": "0x0b00407a10f35a0b00407a10f35a00",
"0xc2261276cc9d1f8598ea4b6a74b15c2f218f26c73add634897550b4003b26bc69a9304efeee429067b2e8dfbcfd8a22d96f9d996a5d6daa02899b96bd7a667b1": "0x047374616b696e672000407a10f35a0000000000000000000002",
"0x3fba98689ebed1138735e0e7a5a790ab0b76934f4cc08dee01012d059e1b83ee": "0x00",
"0x5f3e4907f716ac89b6347d15ececedca3ed14b45ed20d054f05e37e2542cfe704724e5390fcf0d08afc9608ff4c45df257266ae599ac7a32baba26155dcf4402": "0xd43593c715fdd31c61141abd04a99fd6822c8558854ccde39a5684e7a56da27d",
"0xcec5070d609dd3497f72bde07fc96ba088dcde934c658227ee1dfafcd6e16903": "0x08fe65717dad0447d715f660a0a58411de509b42e6efb8375f562f58a554d5860ebe5ddb1579b72e84524fc29e78609e3caf42e85aa118ebfe0b0ad404b5bdd25f",
"0xc2261276cc9d1f8598ea4b6a74b15c2fe3fd8df72970bc82e5267ea01eddd949": "0x01",
"0x5f3e4907f716ac89b6347d15ececedca3ed14b45ed20d054f05e37e2542cfe709a9304efeee429067b2e8dfbcfd8a22d96f9d996a5d6daa02899b96bd7a667b1": "0x8eaf04151687736326c9fea17e25fc5287613693c912909cb226aa4794f26a48",
"0x26aa394eea5630e07c48ae0c9558cef7b99d880ec681799c0cf30e8886371da977d14a2289dda9bbb32dd9313db096ef628101ac5bbb3b19301ede2c61915b89": "0x00000000000064a7b3b6e00d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
"0xcec5070d609dd3497f72bde07fc96ba0726380404683fc89e8233450c8aa19509fe6329cc0b39e09343a73657373696f6e3a6b65797303ab9ef4e6c4b0eea2939ffa571bac1fde2ed0137bd64339758ce9a753a4af0c": "0xfe65717dad0447d715f660a0a58411de509b42e6efb8375f562f58a554d5860e",
"0xcec5070d609dd3497f72bde07fc96ba0e0cdd062e6eaf24295ad4ccfc41d4609": "0x08fe65717dad0447d715f660a0a58411de509b42e6efb8375f562f58a554d5860ed17c2d7823ebf260fd138f2d7e27d114c0145d968b5ff5006125f2414fadae698eaf04151687736326c9fea17e25fc5287613693c912909cb226aa4794f26a488eaf04151687736326c9fea17e25fc5287613693c912909cb226aa4794f26a488eaf04151687736326c9fea17e25fc5287613693c912909cb226aa4794f26a488eaf04151687736326c9fea17e25fc5287613693c912909cb226aa4794f26a48be5ddb1579b72e84524fc29e78609e3caf42e85aa118ebfe0b0ad404b5bdd25f88dc3417d5058ec4b4503e0c12ea1a0a89be200fe98922423d4334014fa6b0eed43593c715fdd31c61141abd04a99fd6822c8558854ccde39a5684e7a56da27dd43593c715fdd31c61141abd04a99fd6822c8558854ccde39a5684e7a56da27dd43593c715fdd31c61141abd04a99fd6822c8558854ccde39a5684e7a56da27dd43593c715fdd31c61141abd04a99fd6822c8558854ccde39a5684e7a56da27d",
"0xcec5070d609dd3497f72bde07fc96ba0726380404683fc89e8233450c8aa19509fe6329cc0b39e09343a73657373696f6e3a6b6579734d2dcad73929f2afb5515ffc71c2142294a1e3f04d440e4a8de86030a47b0093": "0xbe5ddb1579b72e84524fc29e78609e3caf42e85aa118ebfe0b0ad404b5bdd25f",
"0xcec5070d609dd3497f72bde07fc96ba0726380404683fc89e8233450c8aa19509fe6329cc0b39e09343a73657373696f6e3a6b65797342a1d578558b434ecac1371dde376dca0109923708bad2f9b39a39fe726cba7e": "0xfe65717dad0447d715f660a0a58411de509b42e6efb8375f562f58a554d5860e",
"0x9c5d795d0297be56027a4b2464e33397f43d6436dec51f09c3b71287a8fc9d48": "0x00000000000000000000000000000000",
"0x26aa394eea5630e07c48ae0c9558cef7b99d880ec681799c0cf30e8886371da9a315ee9e56d2f3bb24992a1cff6617b0f7510628a15722b680c42c2be8bb7452": "0x00000000000064a7b3b6e00d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
"0xcec5070d609dd3497f72bde07fc96ba0726380404683fc89e8233450c8aa19509fe6329cc0b39e09343a73657373696f6e3a6b6579733b07ae43d4d18b2f6a5ce4eabef01ad3860523243fb4bb3a6a4922750c1d7e4b": "0xbe5ddb1579b72e84524fc29e78609e3caf42e85aa118ebfe0b0ad404b5bdd25f",
"0x26aa394eea5630e07c48ae0c9558cef7b99d880ec681799c0cf30e8886371da9c4a80eb5e32005323fb878ca749473d7e5f40d60ed5e74e887bc125a3659f258": "0x00000000000064a7b3b6e00d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
"0x26aa394eea5630e07c48ae0c9558cef7a44704b568d21667356a5a050c11874611da6d1f761ddf9bdb4c9d6e5303ebd41f61858d0a5647a1a7bfe089bf921be9": "0x4545454545454545454545454545454545454545454545454545454545454545",
"0x5f3e4907f716ac89b6347d15ececedcaea07de2b8f010516dca3f7ef52f7ac5a": "0x040000000000000000",
"0x3a6772616e6470615f617574686f726974696573": "0x0108d17c2d7823ebf260fd138f2d7e27d114c0145d968b5ff5006125f2414fadae69010000000000000088dc3417d5058ec4b4503e0c12ea1a0a89be200fe98922423d4334014fa6b0ee0100000000000000",
"0x5f3e4907f716ac89b6347d15ececedcaf7dad0317324aecae8744b87fc95f2f3": "0x00",
"0x5f3e4907f716ac89b6347d15ececedca138e71612491192d68deab7e6f563fe1": "0x02000000",
"0x5f3e4907f716ac89b6347d15ececedca28dccb559b95c40168a1b2696581b5a7": "0x00000000000000000000000000000000",
"0x26aa394eea5630e07c48ae0c9558cef7b99d880ec681799c0cf30e8886371da94724e5390fcf0d08afc9608ff4c45df257266ae599ac7a32baba26155dcf4402": "0x00000000000064a7b3b6e00d00000000000000000000000000000000000000000000000000407a10f35a0000000000000000000000407a10f35a00000000000000000000",
"0xcec5070d609dd3497f72bde07fc96ba0726380404683fc89e8233450c8aa19509fe6329cc0b39e09343a73657373696f6e3a6b657973538a5b67f2b6e2a4e04e3a0121d75f4d0efb5bd14689ab4a07cbff45b88e7f7d": "0xbe5ddb1579b72e84524fc29e78609e3caf42e85aa118ebfe0b0ad404b5bdd25f",
"0xcec5070d609dd3497f72bde07fc96ba0726380404683fc89e8233450c8aa19509fe6329cc0b39e09343a73657373696f6e3a6b657973bac7529970f762c176f48cd3fbb3ba96612765c95390df59eaf282193664c85e": "0xbe5ddb1579b72e84524fc29e78609e3caf42e85aa118ebfe0b0ad404b5bdd25f",
"0x5f3e4907f716ac89b6347d15ececedca509a9b6efa93f5bb83f858f0babfd30b": "0x00000000",
"0xcec5070d609dd3497f72bde07fc96ba0726380404683fc89e8233450c8aa19509fe6329cc0b39e09343a73657373696f6e3a6b65797308219184be6a65e5100ee2c171c4c477d68940c58d3253a46259bf1014f484d9": "0xfe65717dad0447d715f660a0a58411de509b42e6efb8375f562f58a554d5860e",
"0x26aa394eea5630e07c48ae0c9558cef70a98fdbe9ce6c55837576c60c7af3850": "0x0c000000",
"0x2b06af9719ac64d755623cda8ddd9b949f99a2ce711f3a31b2fc05604c93f179": "0x088eaf04151687736326c9fea17e25fc5287613693c912909cb226aa4794f26a48d43593c715fdd31c61141abd04a99fd6822c8558854ccde39a5684e7a56da27d",
"0x3a636f6465": "0x0061736d0100000001ad022c60037f7f7f017f60027f7f017f60027f7f0060017f0060017f017e60037f7e7e0060027e7e0060017e017f60017e017e60017e0060037f7e7f017f6000017f60027f7e017f6000017e60027f7e017e60047f7e7e7e017f60017f017f60037f7f7e017e60027f7f017e60037e7e7f017e60000060037f7f7f0060057f7f7f7f7f0060027e7f017f60057f7f7f7f7f017f60047f7f7f7f017f60047f7f7f7f0060027f7e0060077f7f7f7f7f7f7f0060067f7f7f7e7e7f0060057f7f7e7e7f0060067f7f7f7f7f7f0060027e7f0060067f7e7e7f7f7f0060077f7e7e7e7e7e7e0060087e7e7e7e7e7e7e7e017f60047f7e7e7e0060077f7f7f7f7f7e7e0060047f7f7e7e0060057f7e7e7f7f0060057f7f7f7e7e0060047f7e7e7f0060057f7e7e7e7e0060067f7e7e7e7e7f0002a60b2403656e76066d656d6f727902001203656e76196578745f6c6f6767696e675f6c6f675f76657273696f6e5f31000503656e76196578745f73746f726167655f7365745f76657273696f6e5f31000603656e76206578745f68617368696e675f626c616b65325f3235365f76657273696f6e5f31000703656e761e6578745f68617368696e675f74776f785f3132385f76657273696f6e5f31000703656e76196578745f73746f726167655f6765745f76657273696f6e5f31000803656e761d6578745f6d6973635f7072696e745f757466385f76657273696f6e5f31000903656e761b6578745f73746f726167655f636c6561725f76657273696f6e5f31000903656e76226578745f73746f726167655f636c6561725f7072656669785f76657273696f6e5f31000903656e76206578745f68617368696e675f626c616b65325f3132385f76657273696f6e5f31000703656e761e6578745f73746f726167655f6e6578745f6b65795f76657273696f6e5f31000803656e76236578745f63727970746f5f656432353531395f7665726966795f76657273696f6e5f31000a03656e76236578745f63727970746f5f737232353531395f7665726966795f76657273696f6e5f31000a03656e76206578745f68617368696e675f6b656363616b5f3235365f76657273696f6e5f31000703656e761d6578745f68617368696e675f74776f785f36345f76657273696f6e5f31000703656e761c6578745f6d6973635f7072696e745f6865785f76657273696f6e5f31000903656e76236578745f6f6666636861696e5f69735f76616c696461746f725f76657273696f6e5f31000b03656e76256578745f63727970746f5f656432353531395f67656e65726174655f76657273696f6e5f31000c03656e76256578745f63727970746f5f737232353531395f67656e65726174655f76657273696f6e5f31000c03656e761a6578745f73746f726167655f726f6f745f76657273696f6e5f31000d03656e76226578745f73746f726167655f6368616e6765735f726f6f745f76657273696f6e5f31000803656e76226578745f6d6973635f72756e74696d655f76657273696f6e5f76657273696f6e5f31000803656e76286578745f6f6666636861696e5f6c6f63616c5f73746f726167655f6765745f76657273696f6e5f31000e03656e76346578745f6f6666636861696e5f6c6f63616c5f73746f726167655f636f6d706172655f616e645f7365745f76657273696f6e5f31000f03656e76286578745f6f6666636861696e5f6c6f63616c5f73746f726167655f7365745f76657273696f6e5f31000503656e762a6578745f747269655f626c616b65325f3235365f6f7264657265645f726f6f745f76657273696f6e5f31000703656e76296578745f6f6666636861696e5f7375626d69745f7472616e73616374696f6e5f76657273696f6e5f31000803656e76246578745f6f6666636861696e5f6e6574776f726b5f73746174655f76657273696f6e5f31000d03656e761e6578745f616c6c6f6361746f725f6d616c6c6f635f76657273696f6e5f31001003656e761c6578745f616c6c6f6361746f725f667265655f76657273696f6e5f31000303656e76286578745f63727970746f5f737232353531395f7075626c69635f6b6579735f76657273696f6e5f31000403656e76216578745f63727970746f5f737232353531395f7369676e5f76657273696f6e5f31001103656e762c6578745f63727970746f5f736563703235366b315f65636473615f7265636f7665725f76657273696f6e5f31001203656e76376578745f63727970746f5f736563703235366b315f65636473615f7265636f7665725f636f6d707265737365645f76657273696f6e5f31001203656e761a6578745f73746f726167655f726561645f76657273696f6e5f31001303656e761c6578745f6d6973635f7072696e745f6e756d5f76657273696f6e5f31000903e804e604101003030000101012141414150215001416000101020117030418190202001a010101020101010115010101001a010100010100000100030101020202150201020103010203021a15020202020202100303021502010202030202030202020202021001100215020202030215030302151b0115020202020303020203021515151515151c1502020202020202020202051a0302021d020206020302021515021e1d1a0302150203030202030203150302030210021f020d020215030303030202162015160202020202021501020202010101021a150203020303030215030605020303030303020202020202020119151515021a02021515100203020203031516020b10020215151a03020202021a02021503020203151503140d0201020215020202021602020215030303150202150303140202020202160302151503030203021002020302020202030303020303020202021a020201160202010321020202222301161a020202020202020202020202020215100203030303030202020303021002020203151a0302151503240303150303020202120212021614021a02031212121212021212121202150212020102011212121212120212031212121212121212030b0202021002030303020202021a0303020202032501030203020302021a1a020303030203030303030202020215150303030303030303030303030303030303030303031403150215031515030302020203260327020202031403021502020202030202152802020300010103031601000103030203031a0210030302020203020202020202160302030315151001010205011601010000000029292a2a2a2b0407017001c901c9010619037f01418080c0000b7f004198afc7000b7f004198afc7000b07a9071f195f5f696e6469726563745f66756e6374696f6e5f7461626c65010009686173685f74657374002b0c436f72655f76657273696f6e00bb0312436f72655f65786563Line truncated
"0x0b76934f4cc08dee01012d059e1b83ee5e0621c4869aa60c02be9adcc98a0d1d": "0x088eaf04151687736326c9fea17e25fc5287613693c912909cb226aa4794f26a48d43593c715fdd31c61141abd04a99fd6822c8558854ccde39a5684e7a56da27d",
"0x5f3e4907f716ac89b6347d15ececedcac29a0310e1bb45d20cace77ccb62c97d": "0x00e1f505",
"0x492a52699edf49c972c21db794cfcf57ba7fb8745735dc3be2a2c61a72c39e78": "0x00",
"0x26aa394eea5630e07c48ae0c9558cef7b99d880ec681799c0cf30e8886371da99a9304efeee429067b2e8dfbcfd8a22d96f9d996a5d6daa02899b96bd7a667b1": "0x00000000000064a7b3b6e00d00000000000000000000000000000000000000000000000000407a10f35a0000000000000000000000407a10f35a00000000000000000000",
"0xcec5070d609dd3497f72bde07fc96ba0726380404683fc89e8233450c8aa19509fe6329cc0b39e09343a73657373696f6e3a6b6579739b94324fd570688c7f3c5e3d0b90af7ae011ebcfe3e4d92e027ffbdf0db62684": "0xfe65717dad0447d715f660a0a58411de509b42e6efb8375f562f58a554d5860e",
"0x26aa394eea5630e07c48ae0c9558cef7b99d880ec681799c0cf30e8886371da92e3fb4c297a84c5cebc0e78257d213d0927ccc7596044c6ba013dd05522aacba": "0x00000000000064a7b3b6e00d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
"0x5f3e4907f716ac89b6347d15ececedca422adb579f1dbf4f3886c5cfa3bb8cc42e3fb4c297a84c5cebc0e78257d213d0927ccc7596044c6ba013dd05522aacba": "0xbe5ddb1579b72e84524fc29e78609e3caf42e85aa118ebfe0b0ad404b5bdd25f0b00407a10f35a0b00407a10f35a00",
"0x5f3e4907f716ac89b6347d15ececedca6a93112633bb3354e67952fcdd740cd5": "0xfe65717dad0447d715f660a0a58411de509b42e6efb8375f562f58a554d5860e",
"0x5f3e4907f716ac89b6347d15ececedca9cbd2f0b29a008a36009ac44cca0c969": "0x00407a10f35a00000000000000000000",
"0xf2794c22e353e9a839f12faab03a911be2f6cb0456905c189bcb0458f9440f13": "0x00000000",
"0x26aa394eea5630e07c48ae0c9558cef7b99d880ec681799c0cf30e8886371da954b75224d766c852ac60eb44e1329aec5058574ae8daf703d43bc2fbd9f33d6c": "0x00000000000064a7b3b6e00d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
"0x26aa394eea5630e07c48ae0c9558cef702a5c1b19ab7a04f536c519aca4983ac": "0x01000000",
"0x26aa394eea5630e07c48ae0c9558cef7b99d880ec681799c0cf30e8886371da994772f97f5f6b539aac74e798bc395119f39603402d0c85bc9eda5dfc5ae2160": "0x00000000000064a7b3b6e00d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
"0x5f3e4907f716ac89b6347d15ececedca422adb579f1dbf4f3886c5cfa3bb8cc494772f97f5f6b539aac74e798bc395119f39603402d0c85bc9eda5dfc5ae2160": "0xfe65717dad0447d715f660a0a58411de509b42e6efb8375f562f58a554d5860e0b00407a10f35a0b00407a10f35a00",
"0x5f3e4907f716ac89b6347d15ececedca9220e172bed316605f73f1ff7b4ade989a9304efeee429067b2e8dfbcfd8a22d96f9d996a5d6daa02899b96bd7a667b1": "0x00",
"0x5f3e4907f716ac89b6347d15ececedca0ea0ecac76457d0f9b39b981dd107012": "0x08fe65717dad0447d715f660a0a58411de509b42e6efb8375f562f58a554d5860ebe5ddb1579b72e84524fc29e78609e3caf42e85aa118ebfe0b0ad404b5bdd25f",
"0xc2261276cc9d1f8598ea4b6a74b15c2f57c875e4cff74148e4628f264b974c80": "0x0000b0d86b9088a60000000000000000",
"0xcec5070d609dd3497f72bde07fc96ba04c014e6bf8b8c2c011e7290b85696bb39fe6329cc0b39e09343a73657373696f6e3a6b6579734724e5390fcf0d08afc9608ff4c45df257266ae599ac7a32baba26155dcf4402": "0x88dc3417d5058ec4b4503e0c12ea1a0a89be200fe98922423d4334014fa6b0eed43593c715fdd31c61141abd04a99fd6822c8558854ccde39a5684e7a56da27dd43593c715fdd31c61141abd04a99fd6822c8558854ccde39a5684e7a56da27dd43593c715fdd31c61141abd04a99fd6822c8558854ccde39a5684e7a56da27dd43593c715fdd31c61141abd04a99fd6822c8558854ccde39a5684e7a56da27d",
"0x2371e21684d2fae99bcb4d579242f74a8a2d09463effcc78a22d75b9cb87dffc": "0x0000000000000000",
"0x26aa394eea5630e07c48ae0c9558cef78a42f33323cb5ced3b44dd825fda9fcc": "0x4545454545454545454545454545454545454545454545454545454545454545",
"0x26aa394eea5630e07c48ae0c9558cef7b99d880ec681799c0cf30e8886371da9007cbc1270b5b091758f9c42f5915b3e8ac59e11963af19174d0b94d5d78041c233f55d2e19324665bafdfb62925af2d": "0x0000000000000064a7b3b6e00d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
"0x26aa394eea5630e07c48ae0c9558cef7b99d880ec681799c0cf30e8886371da9f3f619a1c2956443880db9cc9a13d058e860f1b1c7227f7c22602f53f15af80747814dffd839719731ee3bba6edc126c": "0x0000000000000064a7b3b6e00d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
"0xcec5070d609dd3497f72bde07fc96ba0726380404683fc89e8233450c8aa1950246b6699fb8b8db670617261808eaf04151687736326c9fea17e25fc5287613693c912909cb226aa4794f26a48": "0xfe65717dad0447d715f660a0a58411de509b42e6efb8375f562f58a554d5860e",
"0x5f3e4907f716ac89b6347d15ececedca42982b9d6c7acc99faa9094c912372c2b4def25cfda6ef3a00000000e535263148daaf49be5ddb1579b72e84524fc29e78609e3caf42e85aa118ebfe0b0ad404b5bdd25f": "0x0b00407a10f35a0b00407a10f35a00",
"0x5f3e4907f716ac89b6347d15ececedca0b6a45321efae92aea15e0740ec7afe7": "0x00000000",
"0xcec5070d609dd3497f72bde07fc96ba0726380404683fc89e8233450c8aa19509fe6329cc0b39e09343a73657373696f6e3a6b657973cd9a09d6a67c0c3940e99786404c36c6d220e3bb8003f1ac1dda3a49b72ebc90": "0xbe5ddb1579b72e84524fc29e78609e3caf42e85aa118ebfe0b0ad404b5bdd25f",
"0xcec5070d609dd3497f72bde07fc96ba04c014e6bf8b8c2c011e7290b85696bb39fe6329cc0b39e09343a73657373696f6e3a6b6579739a9304efeee429067b2e8dfbcfd8a22d96f9d996a5d6daa02899b96bd7a667b1": "0xd17c2d7823ebf260fd138f2d7e27d114c0145d968b5ff5006125f2414fadae698eaf04151687736326c9fea17e25fc5287613693c912909cb226aa4794f26a488eaf04151687736326c9fea17e25fc5287613693c912909cb226aa4794f26a488eaf04151687736326c9fea17e25fc5287613693c912909cb226aa4794f26a488eaf04151687736326c9fea17e25fc5287613693c912909cb226aa4794f26a48",
"0x5c0d1176a568c1f92944340dbfed9e9c530ebca703c85910e7164cb7d1c9e47b": "0xd43593c715fdd31c61141abd04a99fd6822c8558854ccde39a5684e7a56da27d"
"0x5f3e4907f716ac89b6347d15ececedcaad811cd65a470ddc5f1d628ff0550982b4def25cfda6ef3a00000000": "0x00000000",
"0x492a52699edf49c972c21db794cfcf57ba7fb8745735dc3be2a2c61a72c39e78": "0x00",
"0x5f3e4907f716ac89b6347d15ececedca42982b9d6c7acc99faa9094c912372c2b4def25cfda6ef3a000000000e5be00fbc2e15b5fe65717dad0447d715f660a0a58411de509b42e6efb8375f562f58a554d5860e": "0x0b00407a10f35a0b00407a10f35a00",
"0x5f3e4907f716ac89b6347d15ececedca422adb579f1dbf4f3886c5cfa3bb8cc44f9aea1afa791265fae359272badc1cf8eaf04151687736326c9fea17e25fc5287613693c912909cb226aa4794f26a48": "0xfe65717dad0447d715f660a0a58411de509b42e6efb8375f562f58a554d5860e0b00407a10f35a0b00407a10f35a0000",
"0xcec5070d609dd3497f72bde07fc96ba0726380404683fc89e8233450c8aa19505905fe216cc5924c6772616e80d17c2d7823ebf260fd138f2d7e27d114c0145d968b5ff5006125f2414fadae69": "0xfe65717dad0447d715f660a0a58411de509b42e6efb8375f562f58a554d5860e",
"0xf2794c22e353e9a839f12faab03a911b7f17cdfbfa73331856cca0acddd7842e": "0x00000000",
"0x5f3e4907f716ac89b6347d15ececedca682db92dde20a10d96d00ff0e9e221c0b4def25cfda6ef3a000000000e5be00fbc2e15b5fe65717dad0447d715f660a0a58411de509b42e6efb8375f562f58a554d5860e": "0x00",
"0x9c5d795d0297be56027a4b2464e33397f43d6436dec51f09c3b71287a8fc9d48": "0x00000000000000000000000000000000",
"0xf2794c22e353e9a839f12faab03a911be2f6cb0456905c189bcb0458f9440f13": "0x00000000",
"0xcec5070d609dd3497f72bde07fc96ba0726380404683fc89e8233450c8aa195066b8d48da86b869b6261626580d43593c715fdd31c61141abd04a99fd6822c8558854ccde39a5684e7a56da27d": "0xbe5ddb1579b72e84524fc29e78609e3caf42e85aa118ebfe0b0ad404b5bdd25f",
"0x5c0d1176a568c1f92944340dbfed9e9c530ebca703c85910e7164cb7d1c9e47b": "0xd43593c715fdd31c61141abd04a99fd6822c8558854ccde39a5684e7a56da27d",
"0x5f3e4907f716ac89b6347d15ececedca138e71612491192d68deab7e6f563fe1": "0x02000000",
"0xc2261276cc9d1f8598ea4b6a74b15c2f218f26c73add634897550b4003b26bc66f2e33376834a63c86a195bcf685aebbfe65717dad0447d715f660a0a58411de509b42e6efb8375f562f58a554d5860e": "0x047374616b696e672000407a10f35a0000000000000000000002",
"0x26aa394eea5630e07c48ae0c9558cef7b99d880ec681799c0cf30e8886371da9b321d16960ce1d9190b61e2421cc60131e07379407fecc4b89eb7dbd287c2c781cfb1907a96947a3eb18e4f8e7198625": "0x0000000000000064a7b3b6e00d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
"0x5f3e4907f716ac89b6347d15ececedca3ed14b45ed20d054f05e37e2542cfe700e5be00fbc2e15b5fe65717dad0447d715f660a0a58411de509b42e6efb8375f562f58a554d5860e": "0x8eaf04151687736326c9fea17e25fc5287613693c912909cb226aa4794f26a48",
"0x26aa394eea5630e07c48ae0c9558cef7b99d880ec681799c0cf30e8886371da9de1e86a9a8c739864cf3cc5ec2bea59fd43593c715fdd31c61141abd04a99fd6822c8558854ccde39a5684e7a56da27d": "0x0000000000000064a7b3b6e00d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
"0x5f3e4907f716ac89b6347d15ececedca5579297f4dfb9609e7e4c2ebab9ce40a": "0x08be5ddb1579b72e84524fc29e78609e3caf42e85aa118ebfe0b0ad404b5bdd25ffe65717dad0447d715f660a0a58411de509b42e6efb8375f562f58a554d5860e",
"0x5f3e4907f716ac89b6347d15ececedca8bde0a0ea8864605e3b68ed9cb2da01bb4def25cfda6ef3a00000000e535263148daaf49be5ddb1579b72e84524fc29e78609e3caf42e85aa118ebfe0b0ad404b5bdd25f": "0x0b00407a10f35a0b00407a10f35a00",
"0x5f3e4907f716ac89b6347d15ececedcac29a0310e1bb45d20cace77ccb62c97d": "0x00e1f505",
"0xcec5070d609dd3497f72bde07fc96ba0726380404683fc89e8233450c8aa19500e3a507571a62417696d6f6e808eaf04151687736326c9fea17e25fc5287613693c912909cb226aa4794f26a48": "0xfe65717dad0447d715f660a0a58411de509b42e6efb8375f562f58a554d5860e",
"0xcec5070d609dd3497f72bde07fc96ba04c014e6bf8b8c2c011e7290b85696bb30e5be00fbc2e15b5fe65717dad0447d715f660a0a58411de509b42e6efb8375f562f58a554d5860e": "0xd17c2d7823ebf260fd138f2d7e27d114c0145d968b5ff5006125f2414fadae698eaf04151687736326c9fea17e25fc5287613693c912909cb226aa4794f26a488eaf04151687736326c9fea17e25fc5287613693c912909cb226aa4794f26a488eaf04151687736326c9fea17e25fc5287613693c912909cb226aa4794f26a488eaf04151687736326c9fea17e25fc5287613693c912909cb226aa4794f26a48",
"0x0b76934f4cc08dee01012d059e1b83ee5e0621c4869aa60c02be9adcc98a0d1d": "0x088eaf04151687736326c9fea17e25fc5287613693c912909cb226aa4794f26a48d43593c715fdd31c61141abd04a99fd6822c8558854ccde39a5684e7a56da27d",
"0x3a65787472696e7369635f696e646578": "0x00000000",
"0xc2261276cc9d1f8598ea4b6a74b15c2f308ce9615de0775a82f8a94dc3d285a1": "0x01",
"0x2099d7f109d6e535fb000bba623fd4409f99a2ce711f3a31b2fc05604c93f179": "0x088eaf04151687736326c9fea17e25fc5287613693c912909cb226aa4794f26a48d43593c715fdd31c61141abd04a99fd6822c8558854ccde39a5684e7a56da27d",
"0x3a6772616e6470615f617574686f726974696573": "0x0108d17c2d7823ebf260fd138f2d7e27d114c0145d968b5ff5006125f2414fadae69010000000000000088dc3417d5058ec4b4503e0c12ea1a0a89be200fe98922423d4334014fa6b0ee0100000000000000",
"0x5f3e4907f716ac89b6347d15ececedcab49a2738eeb30896aacb8b3fb46471bd": "0x01000000",
"0xcec5070d609dd3497f72bde07fc96ba0726380404683fc89e8233450c8aa1950f5537bdb2a1f626b6772616e8088dc3417d5058ec4b4503e0c12ea1a0a89be200fe98922423d4334014fa6b0ee": "0xbe5ddb1579b72e84524fc29e78609e3caf42e85aa118ebfe0b0ad404b5bdd25f",
"0x5f3e4907f716ac89b6347d15ececedcae1791577e4efcb083fdc3cb21e85b2e4": "0x00",
"0x5f3e4907f716ac89b6347d15ececedca422adb579f1dbf4f3886c5cfa3bb8cc4de1e86a9a8c739864cf3cc5ec2bea59fd43593c715fdd31c61141abd04a99fd6822c8558854ccde39a5684e7a56da27d": "0xbe5ddb1579b72e84524fc29e78609e3caf42e85aa118ebfe0b0ad404b5bdd25f0b00407a10f35a0b00407a10f35a0000",
"0xcec5070d609dd3497f72bde07fc96ba0726380404683fc89e8233450c8aa195079b38849014a07307061726180d43593c715fdd31c61141abd04a99fd6822c8558854ccde39a5684e7a56da27d": "0xbe5ddb1579b72e84524fc29e78609e3caf42e85aa118ebfe0b0ad404b5bdd25f",
"0x5f3e4907f716ac89b6347d15ececedca682db92dde20a10d96d00ff0e9e221c0b4def25cfda6ef3a00000000e535263148daaf49be5ddb1579b72e84524fc29e78609e3caf42e85aa118ebfe0b0ad404b5bdd25f": "0x00",
"0x2371e21684d2fae99bcb4d579242f74a8a2d09463effcc78a22d75b9cb87dffc": "0x0000000000000000",
"0x1cb6f36e027abb2091cfb5110ab5087f5e0621c4869aa60c02be9adcc98a0d1d": "0x088eaf04151687736326c9fea17e25fc5287613693c912909cb226aa4794f26a480100000000000000d43593c715fdd31c61141abd04a99fd6822c8558854ccde39a5684e7a56da27d0100000000000000",
"0x3a636f6465": "0x0061736d0100000001be022e60037f7f7f017f60027f7f017f60027f7f0060047f7f7f7f0060017f0060017f017e60017e017f60017e0060037f7e7e0060027e7e0060017e017e60037f7e7f017f60027f7e017e60047f7e7e7e017f6000017e6000017f60027f7e017f60017f017f60037e7e7f017e60027f7f017e60037f7f7e017e60000060037f7f7f0060057f7f7f7f7f0060027e7f017f60057f7f7f7f7f017f60047f7f7f7f017f60027f7e0060047f7f7e7e0060057f7e7e7f7f0060047f7e7e7e0060057f7f7f7e7e0060067f7f7f7f7f7f0060057f7f7e7e7f0060047e7e7e7e017f60077f7f7f7f7f7e7e0060067f7f7f7e7e7f0060077f7f7e7e7e7e7f0060077f7e7e7e7e7e7e0060087e7e7e7e7e7e7e7e017f60067f7e7e7f7f7f0060067f7f7f7f7e7e0060057f7e7e7e7e0060027e7f0060047f7e7e7f0060067f7e7e7e7e7f0002a60b2403656e76066d656d6f727902001303656e761e6578745f68617368696e675f74776f785f3132385f76657273696f6e5f31000603656e76226578745f73746f726167655f636c6561725f7072656669785f76657273696f6e5f31000703656e76196578745f6c6f6767696e675f6c6f675f76657273696f6e5f31000803656e761d6578745f68617368696e675f74776f785f36345f76657273696f6e5f31000603656e76196578745f73746f726167655f7365745f76657273696f6e5f31000903656e761b6578745f73746f726167655f636c6561725f76657273696f6e5f31000703656e76206578745f68617368696e675f626c616b65325f3235365f76657273696f6e5f31000603656e76206578745f68617368696e675f626c616b65325f3132385f76657273696f6e5f31000603656e76196578745f73746f726167655f6765745f76657273696f6e5f31000a03656e761d6578745f6d6973635f7072696e745f757466385f76657273696f6e5f31000703656e76226578745f6d6973635f72756e74696d655f76657273696f6e5f76657273696f6e5f31000a03656e761e6578745f73746f726167655f6e6578745f6b65795f76657273696f6e5f31000a03656e76236578745f63727970746f5f737232353531395f7665726966795f76657273696f6e5f32000b03656e76286578745f6f6666636861696e5f6c6f63616c5f73746f726167655f6765745f76657273696f6e5f31000c03656e76346578745f6f6666636861696e5f6c6f63616c5f73746f726167655f636f6d706172655f616e645f7365745f76657273696f6e5f31000d03656e76286578745f6f6666636861696e5f6c6f63616c5f73746f726167655f7365745f76657273696f6e5f31000803656e76236578745f63727970746f5f656432353531395f7665726966795f76657273696f6e5f31000b03656e761c6578745f6d6973635f7072696e745f6e756d5f76657273696f6e5f31000703656e76206578745f68617368696e675f6b656363616b5f3235365f76657273696f6e5f31000603656e761a6578745f73746f726167655f726f6f745f76657273696f6e5f31000e03656e76226578745f73746f726167655f6368616e6765735f726f6f745f76657273696f6e5f31000a03656e761c6578745f6d6973635f7072696e745f6865785f76657273696f6e5f31000703656e76236578745f6f6666636861696e5f69735f76616c696461746f725f76657273696f6e5f31000f03656e76256578745f63727970746f5f656432353531395f67656e65726174655f76657273696f6e5f31001003656e76256578745f63727970746f5f737232353531395f67656e65726174655f76657273696f6e5f31001003656e762a6578745f747269655f626c616b65325f3235365f6f7264657265645f726f6f745f76657273696f6e5f31000603656e76246578745f6f6666636861696e5f6e6574776f726b5f73746174655f76657273696f6e5f31000e03656e76296578745f6f6666636861696e5f7375626d69745f7472616e73616374696f6e5f76657273696f6e5f31000a03656e761e6578745f616c6c6f6361746f725f6d616c6c6f635f76657273696f6e5f31001103656e761c6578745f616c6c6f6361746f725f667265655f76657273696f6e5f31000403656e761a6578745f73746f726167655f726561645f76657273696f6e5f31001203656e762c6578745f63727970746f5f736563703235366b315f65636473615f7265636f7665725f76657273696f6e5f31001303656e76376578745f63727970746f5f736563703235366b315f65636473615f7265636f7665725f636f6d707265737365645f76657273696f6e5f31001303656e76286578745f63727970746f5f737232353531395f7075626c69635f6b6579735f76657273696f6e5f31000503656e76216578745f63727970746f5f737232353531395f7369676e5f76657273696f6e5f3100140391068f06111104040000111113151515160216001517000101010201180405191a02020003010101020101011601010100030101000101000100040101020216021602020001010102010204010216031616161616160216161616161616161616161616161616021616161616161616161616021102110202021602160404041616021602150216040216161602160103161616020202020202020216020202041b02020201020217161c170216020316161604160402160202161d080804020204151104020202021e1602020202020204020202020204030202190216111f02161602021620020421020202221c19040303160204040402020211161602020f0216161602020216160311161702021603161502020216021616020202020211021616160404020302020202231601020401020202020202020302040404040404040404040404040404040404040215161602160216242402020216021602161602030202021603110202161102030216030416031602021602160202021616030202250202161619040902020202020202020404020202020217151602262701042202000404040204041602160204010204021616020216161602010402030202020417010101010201010404040216010404020204170202160302020f01280202020402040402020204020202020204040202040404020204040202160302160216020216022902020216031c2a0204040404020216020202020202020402020202020102020202160200010104161704040402040402020404021a02040404040215020202020203200102021602040402020102020302020204021616040400020404040404020202020202020404020404020216020216020404040201160203020216040402022b170202021604040402020201030202010202042902040404020202020215041616040402010104030017030216020404040404040402Line truncated
"0x5f3e4907f716ac89b6347d15ececedca3ed14b45ed20d054f05e37e2542cfe70e535263148daaf49be5ddb1579b72e84524fc29e78609e3caf42e85aa118ebfe0b0ad404b5bdd25f": "0xd43593c715fdd31c61141abd04a99fd6822c8558854ccde39a5684e7a56da27d",
"0x5f3e4907f716ac89b6347d15ececedcaf7dad0317324aecae8744b87fc95f2f3": "0x00",
"0x26aa394eea5630e07c48ae0c9558cef7b99d880ec681799c0cf30e8886371da932a5935f6edc617ae178fef9eb1e211fbe5ddb1579b72e84524fc29e78609e3caf42e85aa118ebfe0b0ad404b5bdd25f": "0x0000000003000064a7b3b6e00d00000000000000000000000000000000000000000000000000407a10f35a0000000000000000000000407a10f35a00000000000000000000",
"0x26aa394eea5630e07c48ae0c9558cef7b99d880ec681799c0cf30e8886371da98578796c363c105114787203e4d93ca6101191192fc877c24d725b337120fa3edc63d227bbc92705db1e2cb65f56981a": "0x0000000000000064a7b3b6e00d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
"0xcec5070d609dd3497f72bde07fc96ba0726380404683fc89e8233450c8aa1950ed43a85541921049696d6f6e80d43593c715fdd31c61141abd04a99fd6822c8558854ccde39a5684e7a56da27d": "0xbe5ddb1579b72e84524fc29e78609e3caf42e85aa118ebfe0b0ad404b5bdd25f",
"0x5f3e4907f716ac89b6347d15ececedca8bde0a0ea8864605e3b68ed9cb2da01bb4def25cfda6ef3a000000000e5be00fbc2e15b5fe65717dad0447d715f660a0a58411de509b42e6efb8375f562f58a554d5860e": "0x0b00407a10f35a0b00407a10f35a00",
"0x5f3e4907f716ac89b6347d15ececedca9220e172bed316605f73f1ff7b4ade980e5be00fbc2e15b5fe65717dad0447d715f660a0a58411de509b42e6efb8375f562f58a554d5860e": "0x00",
"0xf2794c22e353e9a839f12faab03a911bbdcb0c5143a8617ed38ae3810dd45bc6": "0x00000000",
"0x5f3e4907f716ac89b6347d15ececedca9220e172bed316605f73f1ff7b4ade98e535263148daaf49be5ddb1579b72e84524fc29e78609e3caf42e85aa118ebfe0b0ad404b5bdd25f": "0x00",
"0xcec5070d609dd3497f72bde07fc96ba0726380404683fc89e8233450c8aa1950d62c40514b41f31962616265808eaf04151687736326c9fea17e25fc5287613693c912909cb226aa4794f26a48": "0xfe65717dad0447d715f660a0a58411de509b42e6efb8375f562f58a554d5860e",
"0x2b06af9719ac64d755623cda8ddd9b949f99a2ce711f3a31b2fc05604c93f179": "0x088eaf04151687736326c9fea17e25fc5287613693c912909cb226aa4794f26a48d43593c715fdd31c61141abd04a99fd6822c8558854ccde39a5684e7a56da27d",
"0x5f3e4907f716ac89b6347d15ececedcaa141c4fe67c2d11f4a10c6aca7a79a04b4def25cfda6ef3a00000000": "0x0080f420e6b500000000000000000000",
"0xcec5070d609dd3497f72bde07fc96ba04c014e6bf8b8c2c011e7290b85696bb3e535263148daaf49be5ddb1579b72e84524fc29e78609e3caf42e85aa118ebfe0b0ad404b5bdd25f": "0x88dc3417d5058ec4b4503e0c12ea1a0a89be200fe98922423d4334014fa6b0eed43593c715fdd31c61141abd04a99fd6822c8558854ccde39a5684e7a56da27dd43593c715fdd31c61141abd04a99fd6822c8558854ccde39a5684e7a56da27dd43593c715fdd31c61141abd04a99fd6822c8558854ccde39a5684e7a56da27dd43593c715fdd31c61141abd04a99fd6822c8558854ccde39a5684e7a56da27d",
"0x26aa394eea5630e07c48ae0c9558cef78a42f33323cb5ced3b44dd825fda9fcc": "0x4545454545454545454545454545454545454545454545454545454545454545",
"0x26aa394eea5630e07c48ae0c9558cef7f9cce9c888469bb1a0dceaa129672ef8": "0xb90f20706f6c6b61646f74",
"0x5f3e4907f716ac89b6347d15ececedca28dccb559b95c40168a1b2696581b5a7": "0x00000000000000000000000000000000",
"0x26aa394eea5630e07c48ae0c9558cef7b99d880ec681799c0cf30e8886371da94f9aea1afa791265fae359272badc1cf8eaf04151687736326c9fea17e25fc5287613693c912909cb226aa4794f26a48": "0x0000000000000064a7b3b6e00d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
"0x5f3e4907f716ac89b6347d15ececedca88dcde934c658227ee1dfafcd6e169030e5be00fbc2e15b5fe65717dad0447d715f660a0a58411de509b42e6efb8375f562f58a554d5860e": "0x00",
"0x5f3e4907f716ac89b6347d15ececedcaac0a2cbf8e355f5ea6cb2de8727bfb0c": "0x54000000",
"0x5f3e4907f716ac89b6347d15ececedcaea07de2b8f010516dca3f7ef52f7ac5a": "0x040000000000000000",
"0xc2261276cc9d1f8598ea4b6a74b15c2f57c875e4cff74148e4628f264b974c80": "0x0000b0d86b9088a60000000000000000",
"0x26aa394eea5630e07c48ae0c9558cef7b99d880ec681799c0cf30e8886371da9b0edae20838083f2cde1c4080db8cf8090b5ab205c6974c9ea841be688864633dc9ca8a357843eeacf2314649965fe22": "0x0000000000000064a7b3b6e00d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
"0x1cb6f36e027abb2091cfb5110ab5087f66e8f035c8adbe7f1547b43c51e6f8a4": "0x00000000",
"0x26aa394eea5630e07c48ae0c9558cef7b99d880ec681799c0cf30e8886371da9e5e802737cce3a54b0bc9e3d3e6be26e306721211d5404bd9da88e0204360a1a9ab8b87c66c1bc2fcdd37f3c2222cc20": "0x0000000000000064a7b3b6e00d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
"0x3fba98689ebed1138735e0e7a5a790ab0b76934f4cc08dee01012d059e1b83ee": "0x00",
"0xc2261276cc9d1f8598ea4b6a74b15c2f218f26c73add634897550b4003b26bc632a5935f6edc617ae178fef9eb1e211fbe5ddb1579b72e84524fc29e78609e3caf42e85aa118ebfe0b0ad404b5bdd25f": "0x047374616b696e672000407a10f35a0000000000000000000002",
"0x5f3e4907f716ac89b6347d15ececedca308ce9615de0775a82f8a94dc3d285a1": "0x02",
"0x5f3e4907f716ac89b6347d15ececedca487df464e44a534ba6b0cbb32407b587": "0x0000000000",
"0x26aa394eea5630e07c48ae0c9558cef7b99d880ec681799c0cf30e8886371da9edeaa42c2163f68084a988529a0e2ec5e659a7a1628cdd93febc04a4e0646ea20e9f5f0ce097d9a05290d4a9e054df4e": "0x0000000000000064a7b3b6e00d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
"0xcec5070d609dd3497f72bde07fc96ba088dcde934c658227ee1dfafcd6e16903": "0x08fe65717dad0447d715f660a0a58411de509b42e6efb8375f562f58a554d5860ebe5ddb1579b72e84524fc29e78609e3caf42e85aa118ebfe0b0ad404b5bdd25f",
"0x5f3e4907f716ac89b6347d15ececedca88dcde934c658227ee1dfafcd6e16903e535263148daaf49be5ddb1579b72e84524fc29e78609e3caf42e85aa118ebfe0b0ad404b5bdd25f": "0x00",
"0x26aa394eea5630e07c48ae0c9558cef7a44704b568d21667356a5a050c118746b4def25cfda6ef3a00000000": "0x4545454545454545454545454545454545454545454545454545454545454545",
"0x26aa394eea5630e07c48ae0c9558cef7b99d880ec681799c0cf30e8886371da96f2e33376834a63c86a195bcf685aebbfe65717dad0447d715f660a0a58411de509b42e6efb8375f562f58a554d5860e": "0x0000000003000064a7b3b6e00d00000000000000000000000000000000000000000000000000407a10f35a0000000000000000000000407a10f35a00000000000000000000",
"0xcec5070d609dd3497f72bde07fc96ba0726380404683fc89e8233450c8aa19509d4a4cfe1c2ef0b961756469808eaf04151687736326c9fea17e25fc5287613693c912909cb226aa4794f26a48": "0xfe65717dad0447d715f660a0a58411de509b42e6efb8375f562f58a554d5860e",
"0xcec5070d609dd3497f72bde07fc96ba0e0cdd062e6eaf24295ad4ccfc41d4609": "0x08fe65717dad0447d715f660a0a58411de509b42e6efb8375f562f58a554d5860ed17c2d7823ebf260fd138f2d7e27d114c0145d968b5ff5006125f2414fadae698eaf04151687736326c9fea17e25fc5287613693c912909cb226aa4794f26a488eaf04151687736326c9fea17e25fc5287613693c912909cb226aa4794f26a488eaf04151687736326c9fea17e25fc5287613693c912909cb226aa4794f26a488eaf04151687736326c9fea17e25fc5287613693c912909cb226aa4794f26a48be5ddb1579b72e84524fc29e78609e3caf42e85aa118ebfe0b0ad404b5bdd25f88dc3417d5058ec4b4503e0c12ea1a0a89be200fe98922423d4334014fa6b0eed43593c715fdd31c61141abd04a99fd6822c8558854ccde39a5684e7a56da27dd43593c715fdd31c61141abd04a99fd6822c8558854ccde39a5684e7a56da27dd43593c715fdd31c61141abd04a99fd6822c8558854ccde39a5684e7a56da27dd43593c715fdd31c61141abd04a99fd6822c8558854ccde39a5684e7a56da27d",
"0x26aa394eea5630e07c48ae0c9558cef7b99d880ec681799c0cf30e8886371da923a05cabf6d3bde7ca3ef0d11596b5611cbd2d43530a44705ad088af313e18f80b53ef16b36177cd4b77b846f2a5f07c": "0x0000000000000064a7b3b6e00d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
"0xcec5070d609dd3497f72bde07fc96ba0726380404683fc89e8233450c8aa1950c9b0c13125732d276175646980d43593c715fdd31c61141abd04a99fd6822c8558854ccde39a5684e7a56da27d": "0xbe5ddb1579b72e84524fc29e78609e3caf42e85aa118ebfe0b0ad404b5bdd25f"
},
"children": {}
}
+1 -1
View File
@@ -19,7 +19,7 @@ use wasm_builder_runner::WasmBuilder;
fn main() {
WasmBuilder::new()
.with_current_project()
.with_wasm_builder_from_crates("1.0.9")
.with_wasm_builder_from_git("https://github.com/paritytech/substrate.git", "0b30207969fdde85e0dad785750757399cd0e3e4")
.export_heap_base()
.import_memory()
.build()
+8 -6
View File
@@ -24,11 +24,10 @@ include!(concat!(env!("OUT_DIR"), "/wasm_binary.rs"));
use sp_api::impl_runtime_apis;
use sp_core::OpaqueMetadata;
use sp_runtime::traits::{
BlakeTwo256, Block as BlockT, ConvertInto, StaticLookup, Verify,
};
use sp_runtime::traits::{BlakeTwo256, Block as BlockT, ConvertInto, StaticLookup, Verify};
use sp_runtime::{
create_runtime_str, generic, impl_opaque_keys, transaction_validity::TransactionValidity,
create_runtime_str, generic, impl_opaque_keys,
transaction_validity::{TransactionSource, TransactionValidity},
AnySignature, ApplyExtrinsicResult,
};
use sp_std::prelude::*;
@@ -321,8 +320,11 @@ impl_runtime_apis! {
}
impl sp_transaction_pool::runtime_api::TaggedTransactionQueue<Block> for Runtime {
fn validate_transaction(tx: <Block as BlockT>::Extrinsic) -> TransactionValidity {
Executive::validate_transaction(tx)
fn validate_transaction(
source: TransactionSource,
tx: <Block as BlockT>::Extrinsic,
) -> TransactionValidity {
Executive::validate_transaction(source, tx)
}
}
+1 -1
View File
@@ -21,7 +21,7 @@ use sc_service;
use sp_core::{Pair, Public};
/// Specialized `ChainSpec`. This is a specialization of the general Substrate ChainSpec type.
pub type ChainSpec = sc_service::ChainSpec<GenesisConfig>;
pub type ChainSpec = sc_service::GenericChainSpec<GenesisConfig>;
/// Helper function to generate a crypto pair from seed
pub fn get_from_seed<TPublic: Public>(seed: &str) -> <TPublic::Pair as Pair>::Public {
+12 -13
View File
@@ -22,14 +22,13 @@ use std::sync::Arc;
use parachain_runtime::Block;
use sc_client::genesis;
use sc_service::{Configuration, Roles as ServiceRoles, config::PrometheusConfig};
use sc_service::{Configuration, Role as ServiceRole, config::PrometheusConfig};
use sp_core::hexdisplay::HexDisplay;
use sp_runtime::{
traits::{Block as BlockT, Hash as HashT, Header as HeaderT},
BuildStorage,
};
use sc_network::config::TransportConfig;
use polkadot_service::ChainSpec as ChainSpecPolkadot;
use codec::Encode;
use log::info;
@@ -51,7 +50,7 @@ pub fn run(version: sc_cli::VersionInfo) -> sc_cli::Result<()> {
subcommand.update_config(&mut config, load_spec, &version)?;
subcommand.run(
config,
|config: Configuration<_, _>| Ok(new_full_start!(config).0),
|config: Configuration| Ok(new_full_start!(config).0),
)
},
Some(Subcommand::ExportGenesisState(params)) => {
@@ -89,7 +88,7 @@ pub fn run(version: sc_cli::VersionInfo) -> sc_cli::Result<()> {
info!(" by {}, 2019", version.author);
info!("Chain specification: {}", config.expect_chain_spec().name());
info!("Node name: {}", config.name);
info!("Roles: {:?}", config.roles);
info!("Roles: {:?}", config.role);
info!("Parachain id: {:?}", crate::PARA_ID);
// TODO
@@ -101,7 +100,7 @@ pub fn run(version: sc_cli::VersionInfo) -> sc_cli::Result<()> {
[version.executable_name.to_string()].iter().chain(opt.relaychain_args.iter()),
&version,
);
let allow_private_ipv4 = !polkadot_opt.run.network_config.no_private_ipv4;
let allow_private_ipv4 = !polkadot_opt.run.base.network_config.no_private_ipv4;
polkadot_config.rpc_http = Some(DEFAULT_POLKADOT_RPC_HTTP.parse().unwrap());
polkadot_config.rpc_ws = Some(DEFAULT_POLKADOT_RPC_WS.parse().unwrap());
@@ -111,7 +110,7 @@ pub fn run(version: sc_cli::VersionInfo) -> sc_cli::Result<()> {
)
);
polkadot_opt.run.update_config(
polkadot_opt.run.base.update_config(
&mut polkadot_config,
load_spec_polkadot,
&version,
@@ -126,20 +125,20 @@ pub fn run(version: sc_cli::VersionInfo) -> sc_cli::Result<()> {
use_yamux_flow_control: false,
};
match config.roles {
ServiceRoles::LIGHT => unimplemented!("Light client not supported!"),
match config.role {
ServiceRole::Light => unimplemented!("Light client not supported!"),
_ => crate::service::run_collator(config, key, polkadot_config),
}
},
}
}
fn load_spec(_: &str) -> Result<Option<chain_spec::ChainSpec>, String> {
Ok(Some(chain_spec::get_chain_spec()))
fn load_spec(_: &str) -> Result<Box<dyn sc_service::ChainSpec>, String> {
Ok(Box::new(chain_spec::get_chain_spec()))
}
fn load_spec_polkadot(_: &str) -> Result<Option<ChainSpecPolkadot>, String> {
Some(polkadot_service::ChainSpec::from_json_bytes(
fn load_spec_polkadot(_: &str) -> Result<Box<dyn sc_service::ChainSpec>, String> {
polkadot_service::PolkadotChainSpec::from_json_bytes(
&include_bytes!("../res/polkadot_chainspec.json")[..],
)).transpose()
).map(|r| Box::new(r) as Box<_>)
}
+2 -4
View File
@@ -16,8 +16,6 @@
use std::sync::Arc;
use parachain_runtime::{self, GenesisConfig};
use sc_executor::native_executor_instance;
use sc_service::{AbstractService, Configuration};
use sc_finality_grandpa::{FinalityProofProvider as GrandpaFinalityProofProvider, StorageAndProofProvider};
@@ -73,8 +71,8 @@ macro_rules! new_full_start {
/// Run a collator node with the given parachain `Configuration` and relaychain `Configuration`
///
/// This function blocks until done.
pub fn run_collator<E: sc_service::ChainSpecExtension>(
parachain_config: Configuration<GenesisConfig, E>,
pub fn run_collator(
parachain_config: Configuration,
key: Arc<CollatorPair>,
mut polkadot_config: polkadot_collator::Configuration,
) -> sc_cli::Result<()> {
@@ -15,30 +15,39 @@
// along with Substrate. If not, see <http://www.gnu.org/licenses/>.
use assert_cmd::cargo::cargo_bin;
use std::{convert::TryInto, process::Command, thread, time::Duration, fs};
use std::{convert::TryInto, fs, process::Command, thread, time::Duration};
mod common;
#[test]
#[cfg(unix)]
fn polkadot_argument_parsing() {
use nix::sys::signal::{kill, Signal::{self, SIGINT, SIGTERM}};
use nix::sys::signal::{
kill,
Signal::{self, SIGINT, SIGTERM},
};
use nix::unistd::Pid;
fn run_command_and_kill(signal: Signal) {
let _ = fs::remove_dir_all("polkadot_argument_parsing");
let mut cmd = Command::new(cargo_bin("cumulus-test-parachain-collator"))
.args(&[
"-d", "polkadot_argument_parsing", "--", "--bootnodes",
"-d",
"polkadot_argument_parsing",
"--",
"--bootnodes",
"/ip4/127.0.0.1/tcp/30333/p2p/Qmbx43psh7LVkrYTRXisUpzCubbgYojkejzAgj5mteDnxy",
"--bootnodes",
"/ip4/127.0.0.1/tcp/50500/p2p/Qma6SpS7tzfCrhtgEVKR9Uhjmuv55ovC3kY6y6rPBxpWd",
"/ip4/127.0.0.1/tcp/50500/p2p/Qma6SpS7tzfCrhtgEVKR9Uhjmuv55ovC3kY6y6rPBxpWde",
])
.spawn()
.unwrap();
thread::sleep(Duration::from_secs(20));
assert!(cmd.try_wait().unwrap().is_none(), "the process should still be running");
assert!(
cmd.try_wait().unwrap().is_none(),
"the process should still be running"
);
kill(Pid::from_raw(cmd.id().try_into().unwrap()), signal).unwrap();
assert_eq!(
common::wait_for(&mut cmd, 30).map(|x| x.success()),
+1 -1
View File
@@ -19,7 +19,7 @@ use wasm_builder_runner::WasmBuilder;
fn main() {
WasmBuilder::new()
.with_current_project()
.with_wasm_builder_from_crates("1.0.9")
.with_wasm_builder_from_git("https://github.com/paritytech/substrate.git", "0b30207969fdde85e0dad785750757399cd0e3e4")
.export_heap_base()
.import_memory()
.build()