From e420a7c2799c44a21c11016408e2060e90964ae4 Mon Sep 17 00:00:00 2001 From: Gav Wood Date: Mon, 19 Mar 2018 03:51:50 +0100 Subject: [PATCH] Modularised dispatch (#95) * Completely rework dispatch mechanism into something modular. Not yet complete but 75% there. * Council vote tests. * Fix tests. * whitespace. * Fix demo runtime tests. * Fix up tests. * Remove dead code. * Use match for Id * Make PrivPass better protected. * Address other grumbles. * Give PrivPass a private member. * Testing PrivPass. * Add docs. --- .../release/polkadot_runtime.compact.wasm | Bin 134774 -> 134847 bytes .../release/polkadot_runtime.wasm | Bin 134823 -> 134896 bytes 2 files changed, 0 insertions(+), 0 deletions(-) diff --git a/polkadot/runtime/wasm/target/wasm32-unknown-unknown/release/polkadot_runtime.compact.wasm b/polkadot/runtime/wasm/target/wasm32-unknown-unknown/release/polkadot_runtime.compact.wasm index e33dc4212228e9bb5390ec05ff5895d3c1886ec2..68f8fe0114541bf47fc02b224d5c1450d506c2ed 100644 GIT binary patch delta 9901 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 delta 9870 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 delta 9731 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