use std::collections::HashMap;
fn main() {
let mut modules = HashMap::new();
let mut modules_with_calls = HashMap::new();
let mut modules_with_events = HashMap::new();
let mut storage_map = HashMap::new();
storage_map.insert("Account", ());
storage_map.insert("ExtrinsicCount", ());
storage_map.insert("BlockWeight", ());
storage_map.insert("AllExtrinsicsLen", ());
storage_map.insert("BlockHash", ());
storage_map.insert("ExtrinsicData", ());
storage_map.insert("Number", ());
storage_map.insert("ParentHash", ());
storage_map.insert("Digest", ());
storage_map.insert("Events", ());
storage_map.insert("EventCount", ());
storage_map.insert("EventTopics", ());
storage_map.insert("LastRuntimeUpgrade", ());
storage_map.insert("UpgradedToU32RefCount", ());
storage_map.insert("UpgradedToDualRefCount", ());
storage_map.insert("ExecutionPhase", ());
modules.insert("System", storage_map);
let mut call_map = HashMap::new();
call_map.insert("fill_block", 0);
call_map.insert("remark", 1);
call_map.insert("set_heap_pages", 2);
call_map.insert("set_code", 3);
call_map.insert("set_code_without_checks", 4);
call_map.insert("set_changes_trie_config", 5);
call_map.insert("set_storage", 6);
call_map.insert("kill_storage", 7);
call_map.insert("kill_prefix", 8);
modules_with_calls.insert("System", (0, call_map));
let mut event_map = HashMap::new();
event_map.insert(0, "ExtrinsicSuccess");
event_map.insert(1, "ExtrinsicFailed");
event_map.insert(2, "CodeUpdated");
event_map.insert(3, "NewAccount");
event_map.insert(4, "KilledAccount");
modules_with_events.insert("System", (0, event_map));
let mut storage_map = HashMap::new();
storage_map.insert("RandomMaterial", ());
modules.insert("RandomnessCollectiveFlip", storage_map);
let mut call_map = HashMap::new();
modules_with_calls.insert("RandomnessCollectiveFlip", (1, call_map));
let mut storage_map = HashMap::new();
storage_map.insert("Now", ());
storage_map.insert("DidUpdate", ());
modules.insert("Timestamp", storage_map);
let mut call_map = HashMap::new();
call_map.insert("set", 0);
modules_with_calls.insert("Timestamp", (2, call_map));
let mut storage_map = HashMap::new();
modules.insert("Aura", storage_map);
let mut storage_map = HashMap::new();
storage_map.insert("State", ());
storage_map.insert("PendingChange", ());
storage_map.insert("NextForced", ());
storage_map.insert("Stalled", ());
storage_map.insert("CurrentSetId", ());
storage_map.insert("SetIdSession", ());
modules.insert("Grandpa", storage_map);
let mut call_map = HashMap::new();
call_map.insert("report_equivocation", 0);
call_map.insert("report_equivocation_unsigned", 1);
call_map.insert("note_stalled", 2);
modules_with_calls.insert("Grandpa", (4, call_map));
let mut event_map = HashMap::new();
event_map.insert(0, "NewAuthorities");
event_map.insert(1, "Paused");
event_map.insert(2, "Resumed");
modules_with_events.insert("Grandpa", (4, event_map));
let mut storage_map = HashMap::new();
storage_map.insert("TotalIssuance", ());
storage_map.insert("Account", ());
storage_map.insert("Locks", ());
storage_map.insert("StorageVersion", ());
modules.insert("Balances", storage_map);
let mut call_map = HashMap::new();
call_map.insert("transfer", 0);
call_map.insert("set_balance", 1);
call_map.insert("force_transfer", 2);
call_map.insert("transfer_keep_alive", 3);
modules_with_calls.insert("Balances", (5, call_map));
let mut event_map = HashMap::new();
event_map.insert(0, "Endowed");
event_map.insert(1, "DustLost");
event_map.insert(2, "Transfer");
event_map.insert(3, "BalanceSet");
event_map.insert(4, "Deposit");
event_map.insert(5, "Reserved");
event_map.insert(6, "Unreserved");
event_map.insert(7, "ReserveRepatriated");
modules_with_events.insert("Balances", (5, event_map));
let mut storage_map = HashMap::new();
storage_map.insert("NextFeeMultiplier", ());
storage_map.insert("StorageVersion", ());
modules.insert("TransactionPayment", storage_map);
let mut storage_map = HashMap::new();
storage_map.insert("Key", ());
modules.insert("Sudo", storage_map);
let mut call_map = HashMap::new();
call_map.insert("sudo", 0);
call_map.insert("sudo_unchecked_weight", 1);
call_map.insert("set_key", 2);
call_map.insert("sudo_as", 3);
modules_with_calls.insert("Sudo", (7, call_map));
let mut event_map = HashMap::new();
event_map.insert(0, "Sudid");
event_map.insert(1, "KeyChanged");
event_map.insert(2, "SudoAsDone");
modules_with_events.insert("Sudo", (7, event_map));
let mut storage_map = HashMap::new();
storage_map.insert("Agenda", ());
storage_map.insert("Lookup", ());
storage_map.insert("StorageVersion", ());
modules.insert("Scheduler", storage_map);
let mut call_map = HashMap::new();
call_map.insert("schedule", 0);
call_map.insert("cancel", 1);
call_map.insert("schedule_named", 2);
call_map.insert("cancel_named", 3);
call_map.insert("schedule_after", 4);
call_map.insert("schedule_named_after", 5);
modules_with_calls.insert("Scheduler", (8, call_map));
let mut event_map = HashMap::new();
event_map.insert(0, "Scheduled");
event_map.insert(1, "Canceled");
event_map.insert(2, "Dispatched");
modules_with_events.insert("Scheduler", (8, event_map));
let mut storage_map = HashMap::new();
storage_map.insert("PairList", ());
modules.insert("Pair", storage_map);
let mut call_map = HashMap::new();
call_map.insert("pair", 0);
call_map.insert("cancel", 1);
call_map.insert("timeout", 2);
modules_with_calls.insert("Pair", (9, call_map));
let mut event_map = HashMap::new();
event_map.insert(0, "Paired");
event_map.insert(1, "Timeout");
modules_with_events.insert("Pair", (9, event_map));
let mut storage_map = HashMap::new();
storage_map.insert("Something", ());
modules.insert("TemplateModule", storage_map);
let mut call_map = HashMap::new();
call_map.insert("do_something", 0);
call_map.insert("cause_error", 1);
modules_with_calls.insert("TemplateModule", (10, call_map));
let mut event_map = HashMap::new();
event_map.insert(0, "SomethingStored");
modules_with_events.insert("TemplateModule", (10, event_map));
let mut storage_map = HashMap::new();
storage_map.insert("AuthsOf", ());
modules.insert("UncAuth", storage_map);
let mut call_map = HashMap::new();
call_map.insert("auth", 0);
call_map.insert("revoke", 1);
modules_with_calls.insert("UncAuth", (11, call_map));
let mut event_map = HashMap::new();
event_map.insert(0, "Auth");
event_map.insert(1, "Revoke");
modules_with_events.insert("UncAuth", (11, event_map));
let mut storage_map = HashMap::new();
storage_map.insert("ActualDatasOf", ());
storage_map.insert("TargetDatasOf", ());
modules.insert("UncData", storage_map);
let mut call_map = HashMap::new();
call_map.insert("set_data", 0);
modules_with_calls.insert("UncData", (12, call_map));
let mut event_map = HashMap::new();
event_map.insert(0, "ActualDataChg");
event_map.insert(1, "TargetDataChg");
modules_with_events.insert("UncData", (12, event_map));
println!("{:?}", modules);
println!("{:?}", modules_with_calls);
println!("{:?}", modules_with_events);
}