From 1b6f2a3e92a12655fc145b29d5ed67956b9564df Mon Sep 17 00:00:00 2001 From: Songtronix Date: Wed, 2 Jan 2019 11:14:18 +0100 Subject: [PATCH 01/68] Fix broken links (#10119) Due to #10101 new directory structure, some links needed to be fixed. --- README.md | 4 ++-- accounts/ethkey/README.md | 4 ++-- accounts/ethstore/README.md | 4 ++-- evmbin/README.md | 4 ++-- whisper/README.md | 4 ++-- 5 files changed, 10 insertions(+), 10 deletions(-) diff --git a/README.md b/README.md index 972fd907091..efb2d285185 100644 --- a/README.md +++ b/README.md @@ -133,8 +133,8 @@ In addition to the Parity Ethereum client, there are additional tools in this re - [evmbin](https://github.com/paritytech/parity-ethereum/blob/master/evmbin/) - EVM implementation for Parity Ethereum. - [ethabi](https://github.com/paritytech/ethabi) - Parity Ethereum function calls encoding. -- [ethstore](https://github.com/paritytech/parity-ethereum/blob/master/ethstore/) - Parity Ethereum key management. -- [ethkey](https://github.com/paritytech/parity-ethereum/blob/master/ethkey/) - Parity Ethereum keys generator. +- [ethstore](https://github.com/paritytech/parity-ethereum/blob/master/accounts/ethstore) - Parity Ethereum key management. +- [ethkey](https://github.com/paritytech/parity-ethereum/blob/master/accounts/ethkey) - Parity Ethereum keys generator. - [whisper](https://github.com/paritytech/parity-ethereum/blob/master/whisper/) - Implementation of Whisper-v2 PoC. ## Join the chat! diff --git a/accounts/ethkey/README.md b/accounts/ethkey/README.md index a82da0a9cf7..896d38e83f7 100644 --- a/accounts/ethkey/README.md +++ b/accounts/ethkey/README.md @@ -216,6 +216,6 @@ _This project is a part of the Parity Ethereum toolchain._ - [evmbin](https://github.com/paritytech/parity-ethereum/blob/master/evmbin/) - EVM implementation for Parity Ethereum. - [ethabi](https://github.com/paritytech/ethabi) - Parity Ethereum function calls encoding. -- [ethstore](https://github.com/paritytech/parity-ethereum/blob/master/ethstore/) - Parity Ethereum key management. -- [ethkey](https://github.com/paritytech/parity-ethereum/blob/master/ethkey/) - Parity Ethereum keys generator. +- [ethstore](https://github.com/paritytech/parity-ethereum/blob/master/accounts/ethstore) - Parity Ethereum key management. +- [ethkey](https://github.com/paritytech/parity-ethereum/blob/master/accounts/ethkey) - Parity Ethereum keys generator. - [whisper](https://github.com/paritytech/parity-ethereum/blob/master/whisper/) - Implementation of Whisper-v2 PoC. diff --git a/accounts/ethstore/README.md b/accounts/ethstore/README.md index 6099c413248..fc988c2d316 100644 --- a/accounts/ethstore/README.md +++ b/accounts/ethstore/README.md @@ -335,6 +335,6 @@ _This project is a part of the Parity Ethereum toolchain._ - [evmbin](https://github.com/paritytech/parity-ethereum/blob/master/evmbin/) - EVM implementation for Parity Ethereum. - [ethabi](https://github.com/paritytech/ethabi) - Parity Ethereum function calls encoding. -- [ethstore](https://github.com/paritytech/parity-ethereum/blob/master/ethstore/) - Parity Ethereum key management. -- [ethkey](https://github.com/paritytech/parity-ethereum/blob/master/ethkey/) - Parity Ethereum keys generator. +- [ethstore](https://github.com/paritytech/parity-ethereum/blob/master/accounts/ethstore) - Parity Ethereum key management. +- [ethkey](https://github.com/paritytech/parity-ethereum/blob/master/accounts/ethkey) - Parity Ethereum keys generator. - [whisper](https://github.com/paritytech/parity-ethereum/blob/master/whisper/) - Implementation of Whisper-v2 PoC. diff --git a/evmbin/README.md b/evmbin/README.md index 49e76176137..696a84436f4 100644 --- a/evmbin/README.md +++ b/evmbin/README.md @@ -50,6 +50,6 @@ _This project is a part of the Parity Ethereum toolchain._ - [evmbin](https://github.com/paritytech/parity-ethereum/blob/master/evmbin/) - EVM implementation for Parity Ethereum. - [ethabi](https://github.com/paritytech/ethabi) - Parity Ethereum function calls encoding. -- [ethstore](https://github.com/paritytech/parity-ethereum/blob/master/ethstore/) - Parity Ethereum key management. -- [ethkey](https://github.com/paritytech/parity-ethereum/blob/master/ethkey/) - Parity Ethereum keys generator. +- [ethstore](https://github.com/paritytech/parity-ethereum/blob/master/accounts/ethstore) - Parity Ethereum key management. +- [ethkey](https://github.com/paritytech/parity-ethereum/blob/master/accounts/ethkey) - Parity Ethereum keys generator. - [whisper](https://github.com/paritytech/parity-ethereum/blob/master/whisper/) - Implementation of Whisper-v2 PoC. diff --git a/whisper/README.md b/whisper/README.md index a582843f805..8dafc48af72 100644 --- a/whisper/README.md +++ b/whisper/README.md @@ -25,6 +25,6 @@ _This project is a part of the Parity Ethereum toolchain._ - [evmbin](https://github.com/paritytech/parity-ethereum/blob/master/evmbin/) - EVM implementation for Parity Ethereum. - [ethabi](https://github.com/paritytech/ethabi) - Parity Ethereum function calls encoding. -- [ethstore](https://github.com/paritytech/parity-ethereum/blob/master/ethstore/) - Parity Ethereum key management. -- [ethkey](https://github.com/paritytech/parity-ethereum/blob/master/ethkey/) - Parity Ethereum keys generator. +- [ethstore](https://github.com/paritytech/parity-ethereum/blob/master/accounts/ethstore) - Parity Ethereum key management. +- [ethkey](https://github.com/paritytech/parity-ethereum/blob/master/accounts/ethkey) - Parity Ethereum keys generator. - [whisper](https://github.com/paritytech/parity-ethereum/blob/master/whisper/) - Implementation of Whisper-v2 PoC. From c077dc652d92535cff0afc9ae096c795c4cf39e3 Mon Sep 17 00:00:00 2001 From: Vadim Arasev <33550681+varasev@users.noreply.github.com> Date: Wed, 2 Jan 2019 13:19:24 +0300 Subject: [PATCH 02/68] HF in POA Sokol (2019-01-04) (#10077) * HF in POA Sokol (2019-01-04) https://github.com/poanetwork/poa-chain-spec/pull/91 * Update POA Core bootnodes --- ethcore/res/ethereum/poacore.json | 4 +--- ethcore/res/ethereum/poasokol.json | 17 +++++++---------- 2 files changed, 8 insertions(+), 13 deletions(-) diff --git a/ethcore/res/ethereum/poacore.json b/ethcore/res/ethereum/poacore.json index 115108f27bb..9fc34d22a2b 100644 --- a/ethcore/res/ethereum/poacore.json +++ b/ethcore/res/ethereum/poacore.json @@ -50,12 +50,10 @@ "enode://6e3d1b39cbd2a9c4f053a27e68fd90d0bac83691dfdc4a13c59f2555078a71e63c5daaee5a82aa6db500512760a5456f86076bf8bbe8011c27c82ed7d6f5fb26@45.77.140.210:30303", "enode://f4698ad485a027497e1cc992bb5f7cecee2b32a44c47202738d8d0eecfab719541988d0cbcbc5ea94c6c959e5cddeb85fc6ae75fb63dc3bf87cdbe9e6f615e9d@206.156.242.64:30303", "enode://31dffed97f8fed1f34fe66453280a89cbeeda60cf28f6fbb212ebbefd7c7566a02c1c7d5c00bbbb49b9fa8a49f157e0f786f379ca9bcbf2fea24de70d70a22b6@206.156.242.61:30303", - "enode://efe1a701595b7bfc20cc71a70dcdf1d731a5ca618cbc1bd0059edc6658d5958a2b243cc88112c7ded48f3d331a26a6a76b4d3f4a51260b5fb5d13f798e5786f0@206.156.242.62:30303", "enode://6bdc7553ab2e4914cb47774c1e6d8c8f47ac7c3981891f85f65d06f208ea1bc4d3bf982b330950e0a0cd127efd7145c4df7113159a1d4a06ed722e6c16d0ac6c@45.32.215.190:30303", "enode://872d82a24144bc007658fb6fac0dcdfb9b63aeb05ef563a06d0186f2d1e5ffbfc5c4f1244891a8a86ef70682b9d24382e654b305224883698862e2df647a4d23@45.76.236.247:30303", "enode://b11fbc6cde81c80be69508aca8ffea8460680a25a9c151b683293f8617282062b8e8e139bf91e88cedf60068a3cf927b0d48832fda5169b58a8f7ce442de6fb4@206.189.76.132:30303", - "enode://96678da10ac83769ab3f63114a41b57b700476c5ac02719b878fa89909a936551bb7609aa09b068bf89903206fa03f23e1b5b9117ca278de304c2570b87dcb27@18.208.191.114:30303", - "enode://47ee6bc6312210caa0087a5754221f7666e37ab2d5c10cfe386ecdf9e5f935fc55726b37d10f0eaf493f762a270445d3e6d569891c328759b8baeb39f6f6ed2d@34.224.215.151:30303" + "enode://96678da10ac83769ab3f63114a41b57b700476c5ac02719b878fa89909a936551bb7609aa09b068bf89903206fa03f23e1b5b9117ca278de304c2570b87dcb27@35.175.15.164:30303" ], "accounts": { "0000000000000000000000000000000000000005": { "builtin": { "name": "modexp", "activate_at": "0x0", "pricing": { "modexp": { "divisor": 20 } } } }, diff --git a/ethcore/res/ethereum/poasokol.json b/ethcore/res/ethereum/poasokol.json index c6d51a9c8a6..067fd69fc30 100644 --- a/ethcore/res/ethereum/poasokol.json +++ b/ethcore/res/ethereum/poasokol.json @@ -37,7 +37,11 @@ "eip140Transition": "0x0", "eip211Transition": "0x0", "eip214Transition": "0x0", - "eip658Transition": "0x0" + "eip658Transition": "0x0", + "eip145Transition": 6464300, + "eip1014Transition": 6464300, + "eip1052Transition": 6464300, + "eip1283Transition": 6464300 }, "genesis": { "seal": { @@ -51,19 +55,12 @@ }, "nodes": [ "enode://8e0af07c86ec36590bb6368e7ad0c45b6dc658f5fb66ec68889a614affddda5e021bd513bcf4fb2fae4a3bbe08cf0de84f037cd58478a89665dfce1ded2595c7@34.236.37.74:30303", - "enode://0171db265a569636372566e86cb7a69306fe5c15a8e2ed5bed4010012fa1d146ae4918a688cf1bd3fd98e8c2d5c3705d68ff941c88ab974ff52c7fc8606ce2f8@35.168.201.160:30303", - "enode://9a4a3788471af17a8346da7fc41057f037da692d4fad0ac5023fc0c88cf64666d74ee9f6396012eec98cd6bc772418b42dddd823a38e359bbfdc4fc93ba38de8@34.229.128.189:30303", - "enode://881e56dc71472376b65ddaad5e42ee73084c96eb368c1e219b4fbcd73ffa339703cca168b6620cb1eabb7b8dcfe72e563117670c7ce94298c20d04b709c65697@165.227.111.36:30303", - "enode://8e3733fe1606b17dd743e7d4fdb7ec1e0b909aab3c5289beabcb36e9d3175ca05bb36a52589090d4899c85a9219622ea4cbb9541057b722be65241db557b51a8@52.201.214.63:30303", + "enode://f1a5100a81cb73163ae450c584d06b1f644aa4fad4486c6aeb4c384b343c54bb66c744aa5f133af66ea1b25f0f4a454f04878f3e96ee4cd2390c047396d6357b@209.97.158.4:30303", "enode://0d1e0372f63a3f0b82d66635ea101ecc0f6797788a078805cc933dd93e6a22f7c9fa51ab4e2d21da02d04480ef19f3bbb9a2b41dd1c262085d295a354bb8b0f9@18.217.47.209:30303", "enode://ab083db73da15b3995ac9c68035cdb32901835a823cb848fccb672e43dd21f14428706118d6fe5b921d8e741f122f35aad0255bc86807b1d17bcfa1e86e40a14@165.227.37.104:30303", - "enode://a2a8545ccceaa1152721a213e6aca912c6d89a37bc6eea73999fdb08a95c6f07a79057f7f41c75c128f58ed77a13985e5c33c8c50d6a3d60b50c43f5f69c1fcd@52.170.16.34:30303", "enode://8e0af07c86ec36590bb6368e7ad0c45b6dc658f5fb66ec68889a614affddda5e021bd513bcf4fb2fae4a3bbe08cf0de84f037cd58478a89665dfce1ded2595c7@34.236.37.74:30303", "enode://182ee200ca134dc4d6390f3d5aadbcd80df0f7f24335830335d142573eacce4eeb919d30e82c5df588034e167e6ba6dd11187502ac9264a71005127f6b146a99@159.203.95.241:30303", - "enode://b022ff70b5fcaf9596ae5efed99a8198b4ae0578ee9d17b733609d803a75cef95d3a2a18e50dca9a7c3b26139f158c59eaf8b5fb8d1d331c9a46934a78acabe8@206.189.76.128:30303", - "enode://4a16c9a597dad00c000523fc2f4302bb8bb7f05949ec0ea4a516f0c6de9e191662f650ab55ea2a05f5af0f0eeee879800074f7263328f09181c7156059b7b6b7@18.221.62.190:30303", - "enode://6527003feb6b534a7fac297b92d2f368bdf679d8f489639006c78640bf3ead3cdbf88a88a7bec29e6e29510122f279adf094d1b1b6e9e5005c4584aeb482c4a0@35.172.215.190:30303", - "enode://99f335f9dffe978f7a925590f011909f2db1a2b28b05a0dc10da47e285e3d20b2d827caee258607c707c5261d9ba5f7f5b899dd025315c0afbfd5536a91ccf73@18.209.18.86:30303" + "enode://b022ff70b5fcaf9596ae5efed99a8198b4ae0578ee9d17b733609d803a75cef95d3a2a18e50dca9a7c3b26139f158c59eaf8b5fb8d1d331c9a46934a78acabe8@206.189.76.128:30303" ], "accounts": { "0000000000000000000000000000000000000005": { "builtin": { "name": "modexp", "activate_at": "0x0", "pricing": { "modexp": { "divisor": 20 } } } }, From 2bb79614f6996c33cabf941e30d4ce1af4b7a865 Mon Sep 17 00:00:00 2001 From: Niklas Adolfsson Date: Wed, 2 Jan 2019 16:48:45 +0100 Subject: [PATCH 03/68] refactor (hardware wallet) : reduce the number of threads (#9644) * refactor(hardware-wallet) - use only one thread This changes parity to use one thread instead of two to subscribe USB events via the hardware-wallets. * Fix logs and tests * fix(grumbles) : formatting and spelling nits * Update hw/src/lib.rs Co-Authored-By: niklasad1 * Update hw/src/lib.rs Co-Authored-By: niklasad1 * Update hw/src/ledger.rs Co-Authored-By: niklasad1 * fix(grumbles): clarify docs and use constants * Clarify bad explaination of `run-to-completion` * Replace magic numbers with constants --- accounts/hw/src/ledger.rs | 215 +++++++++++++------------------------- accounts/hw/src/lib.rs | 123 ++++++++++++++++++++-- accounts/hw/src/trezor.rs | 164 ++++++++++------------------- 3 files changed, 244 insertions(+), 258 deletions(-) diff --git a/accounts/hw/src/ledger.rs b/accounts/hw/src/ledger.rs index f9e20654839..26323cd3dfb 100644 --- a/accounts/hw/src/ledger.rs +++ b/accounts/hw/src/ledger.rs @@ -19,9 +19,9 @@ use std::cmp::min; use std::str::FromStr; -use std::sync::{atomic, atomic::AtomicBool, Arc, Weak}; +use std::sync::Arc; use std::time::{Duration, Instant}; -use std::{fmt, thread}; +use std::fmt; use ethereum_types::{H256, Address}; use ethkey::Signature; @@ -29,7 +29,7 @@ use hidapi; use libusb; use parking_lot::{Mutex, RwLock}; use semver::Version as FirmwareVersion; -use super::{WalletInfo, KeyPath, Device, DeviceDirection, Wallet, USB_DEVICE_CLASS_DEVICE, POLLING_DURATION}; +use super::{WalletInfo, KeyPath, Device, DeviceDirection, Wallet, is_valid_hid_device}; const APDU_TAG: u8 = 0x05; const APDU_CLA: u8 = 0xe0; @@ -71,14 +71,14 @@ pub enum Error { KeyNotFound, /// Signing has been cancelled by user. UserCancel, - /// Invalid device - InvalidDevice, /// Impossible error Impossible, /// No device arrived NoDeviceArrived, /// No device left NoDeviceLeft, + /// Invalid PID or VID + InvalidDevice, } impl fmt::Display for Error { @@ -89,10 +89,10 @@ impl fmt::Display for Error { Error::LibUsb(ref e) => write!(f, "LibUSB communication error: {}", e), Error::KeyNotFound => write!(f, "Key not found"), Error::UserCancel => write!(f, "Operation has been cancelled"), - Error::InvalidDevice => write!(f, "Unsupported product was entered"), Error::Impossible => write!(f, "Placeholder error"), Error::NoDeviceArrived => write!(f, "No device arrived"), Error::NoDeviceLeft=> write!(f, "No device left"), + Error::InvalidDevice => write!(f, "Device with non-supported product ID or vendor ID was detected"), } } } @@ -110,7 +110,7 @@ impl From for Error { } /// Ledger device manager. -pub (crate) struct Manager { +pub struct Manager { usb: Arc>, devices: RwLock>, key_path: RwLock, @@ -118,64 +118,35 @@ pub (crate) struct Manager { impl Manager { /// Create a new instance. - pub fn new(hidapi: Arc>, exiting: Arc) -> Result, libusb::Error> { - let manager = Arc::new(Self { - usb: hidapi, + pub fn new(usb: Arc>) -> Arc { + Arc::new(Self { + usb, devices: RwLock::new(Vec::new()), key_path: RwLock::new(KeyPath::Ethereum), - }); - - let usb_context = Arc::new(libusb::Context::new()?); - let m = manager.clone(); - - // Subscribe to all Ledger devices - // This means that we need to check that the given productID is supported - // None => LIBUSB_HOTPLUG_MATCH_ANY, in other words that all are subscribed to - // More info can be found: - usb_context.register_callback( - Some(LEDGER_VID), None, Some(USB_DEVICE_CLASS_DEVICE), - Box::new(EventHandler::new(Arc::downgrade(&manager)))).expect("usb_callback"); - - // Ledger event handler thread - thread::Builder::new() - .spawn(move || { - if let Err(e) = m.update_devices(DeviceDirection::Arrived) { - debug!(target: "hw", "Ledger couldn't connect at startup, error: {}", e); - } - loop { - usb_context.handle_events(Some(Duration::from_millis(500))) - .unwrap_or_else(|e| debug!(target: "hw", "Ledger event handler error: {}", e)); - if exiting.load(atomic::Ordering::Acquire) { - break; - } - } - }) - .ok(); - - Ok(manager) + }) } // Transport Protocol: // * Communication Channel Id (2 bytes big endian ) - // * Command Tag (1 byte) + // * Command Tag (1 byte) // * Packet Sequence ID (2 bytes big endian) - // * Payload (Optional) + // * Payload (Optional) // // Payload - // * APDU Total Length (2 bytes big endian) - // * APDU_CLA (1 byte) - // * APDU_INS (1 byte) - // * APDU_P1 (1 byte) - // * APDU_P2 (1 byte) - // * APDU_LENGTH (1 byte) - // * APDU_Payload (Variable) - // + // * APDU Total Length (2 bytes big endian) + // * APDU_CLA (1 byte) + // * APDU_INS (1 byte) + // * APDU_P1 (1 byte) + // * APDU_P2 (1 byte) + // * APDU_LENGTH (1 byte) + // * APDU_Payload (Variable) + // fn write(handle: &hidapi::HidDevice, command: u8, p1: u8, p2: u8, data: &[u8]) -> Result<(), Error> { let data_len = data.len(); let mut offset = 0; let mut sequence_number = 0; let mut hid_chunk = [0_u8; HID_PACKET_SIZE]; - + while sequence_number == 0 || offset < data_len { let header = if sequence_number == 0 { LEDGER_TRANSPORT_HEADER_LEN + APDU_PAYLOAD_HEADER_LEN } else { LEDGER_TRANSPORT_HEADER_LEN }; let size = min(64 - header, data_len - offset); @@ -203,22 +174,22 @@ impl Manager { } Ok(()) } - + // Transport Protocol: // * Communication Channel Id (2 bytes big endian ) - // * Command Tag (1 byte) + // * Command Tag (1 byte) // * Packet Sequence ID (2 bytes big endian) - // * Payload (Optional) + // * Payload (Optional) // // Payload - // * APDU Total Length (2 bytes big endian) - // * APDU_CLA (1 byte) - // * APDU_INS (1 byte) - // * APDU_P1 (1 byte) - // * APDU_P2 (1 byte) - // * APDU_LENGTH (1 byte) - // * APDU_Payload (Variable) - // + // * APDU Total Length (2 bytes big endian) + // * APDU_CLA (1 byte) + // * APDU_INS (1 byte) + // * APDU_P1 (1 byte) + // * APDU_P2 (1 byte) + // * APDU_LENGTH (1 byte) + // * APDU_Payload (Variable) + // fn read(handle: &hidapi::HidDevice) -> Result, Error> { let mut message_size = 0; let mut message = Vec::new(); @@ -280,17 +251,6 @@ impl Manager { Self::read(&handle) } - fn is_valid_ledger(device: &libusb::Device) -> Result<(), Error> { - let desc = device.device_descriptor()?; - let vendor_id = desc.vendor_id(); - let product_id = desc.product_id(); - - if vendor_id == LEDGER_VID && LEDGER_PIDS.contains(&product_id) { - Ok(()) - } else { - Err(Error::InvalidDevice) - } - } fn get_firmware_version(handle: &hidapi::HidDevice) -> Result { let ver = Self::send_apdu(&handle, commands::GET_APP_CONFIGURATION, 0, 0, &[])?; @@ -306,7 +266,7 @@ impl Manager { KeyPath::EthereumClassic => &ETC_DERIVATION_PATH_BE, } } - + fn signer_helper(&self, address: &Address, data: &[u8], command: u8) -> Result { let usb = self.usb.lock(); let devices = self.devices.read(); @@ -326,14 +286,14 @@ impl Manager { // Copy the address of the key (only done once) chunk[0..derivation_path.len()].copy_from_slice(derivation_path); - + let key_length = derivation_path.len(); let max_payload_size = MAX_CHUNK_SIZE - key_length; let data_len = data.len(); - + let mut result = Vec::new(); let mut offset = 0; - + while offset < data_len { let p1 = if offset == 0 { 0 } else { 0x80 }; let take = min(max_payload_size, data_len - offset); @@ -363,26 +323,15 @@ impl Manager { } } -// Try to connect to the device using polling in at most the time specified by the `timeout` -fn try_connect_polling(ledger: &Manager, timeout: &Duration, device_direction: DeviceDirection) -> bool { - let start_time = Instant::now(); - while start_time.elapsed() <= *timeout { - if let Ok(num_devices) = ledger.update_devices(device_direction) { - trace!(target: "hw", "{} number of Ledger(s) {}", num_devices, device_direction); - return true; - } - } - false -} -impl <'a>Wallet<'a> for Manager { +impl<'a> Wallet<'a> for Manager { type Error = Error; type Transaction = &'a [u8]; fn sign_transaction(&self, address: &Address, transaction: Self::Transaction) -> Result { self.signer_helper(address, transaction, commands::SIGN_ETH_TRANSACTION) } - + fn set_key_path(&self, key_path: KeyPath) { *self.key_path.write() = key_path; } @@ -393,8 +342,16 @@ impl <'a>Wallet<'a> for Manager { let devices = usb.devices(); let num_prev_devices = self.devices.read().len(); + // Sometimes when a ledger is connected at run-time with no other devices connected it will case a `disconnected` event. + // To work around this, ignore such spurious events and poll a couple of extra times in order to get the correct state. + if DeviceDirection::Left == device_direction && num_prev_devices == 0 { + return Err(Error::NoDeviceArrived); + } + let detected_devices = devices.iter() - .filter(|&d| d.vendor_id == LEDGER_VID && LEDGER_PIDS.contains(&d.product_id)) + .filter(|&d| is_valid_ledger(d.vendor_id, d.product_id) && + is_valid_hid_device(d.usage_page, d.interface_number) + ) .fold(Vec::new(), |mut v, d| { match self.read_device(&usb, &d) { Ok(info) => { @@ -419,7 +376,7 @@ impl <'a>Wallet<'a> for Manager { } DeviceDirection::Left => { if num_prev_devices > num_curr_devices { - Ok(num_prev_devices- num_curr_devices) + Ok(num_prev_devices - num_curr_devices) } else { Err(Error::NoDeviceLeft) } @@ -491,62 +448,42 @@ impl <'a>Wallet<'a> for Manager { } } -/// Ledger event handler -/// A separate thread is handling incoming events -/// -/// Note, that this run to completion and race-conditions can't occur but this can -/// therefore starve other events for being process with a spinlock or similar -struct EventHandler { - ledger: Weak, +/// Check if the detected device is a valid `Ledger device` by checking both the product ID and the vendor ID +pub fn is_valid_ledger(vendor_id: u16, product_id: u16) -> bool { + vendor_id == LEDGER_VID && LEDGER_PIDS.contains(&product_id) } -impl EventHandler { - /// Ledger event handler constructor - fn new(ledger: Weak) -> Self { - Self { ledger } - } -} - -impl libusb::Hotplug for EventHandler { - fn device_arrived(&mut self, device: libusb::Device) { - debug!(target: "hw", "Ledger arrived"); - if let (Some(ledger), Ok(_)) = (self.ledger.upgrade(), Manager::is_valid_ledger(&device)) { - if try_connect_polling(&ledger, &POLLING_DURATION, DeviceDirection::Arrived) != true { - debug!(target: "hw", "No Ledger device was connected"); - } - } - } - - fn device_left(&mut self, device: libusb::Device) { - debug!(target: "hw", "Ledger left"); - if let (Some(ledger), Ok(_)) = (self.ledger.upgrade(), Manager::is_valid_ledger(&device)) { - if try_connect_polling(&ledger, &POLLING_DURATION, DeviceDirection::Left) != true { - debug!(target: "hw", "No Ledger device was disconnected"); - } +/// Poll the device in maximum `max_polling_duration` if it doesn't succeed +pub fn try_connect_polling(ledger: &Manager, max_polling_duration: &Duration, device_direction: DeviceDirection) -> bool { + let start_time = Instant::now(); + while start_time.elapsed() <= *max_polling_duration { + if let Ok(num_devices) = ledger.update_devices(device_direction) { + trace!(target: "hw", "{} number of Ledger(s) {}", num_devices, device_direction); + return true; } } + false } - #[cfg(test)] mod tests { use rustc_hex::FromHex; use super::*; + use ::HardwareWalletManager; /// This test can't be run without an actual ledger device connected with the `Ledger Wallet Ethereum application` running #[test] #[ignore] fn sign_personal_message() { - let manager = Manager::new( - Arc::new(Mutex::new(hidapi::HidApi::new().expect("HidApi"))), - Arc::new(AtomicBool::new(false)) - ).expect("HardwareWalletManager"); + let manager = HardwareWalletManager::new().unwrap(); + + let ledger = &manager.ledger; // Update device list - manager.update_devices(DeviceDirection::Arrived).expect("No Ledger found, make sure you have a unlocked Ledger connected with the Ledger Wallet Ethereum running"); + ledger.update_devices(DeviceDirection::Arrived).expect("No Ledger found, make sure you have a unlocked Ledger connected with the Ledger Wallet Ethereum running"); // Fetch the ethereum address of a connected ledger device - let address = manager.list_devices() + let address = ledger.list_devices() .iter() .filter(|d| d.manufacturer == "Ledger".to_string()) .nth(0) @@ -555,7 +492,7 @@ mod tests { // 44 bytes transaction let tx = FromHex::from_hex("eb018504a817c80082520894a6ca2e6707f2cc189794a9dd459d5b05ed1bcd1c8703f26fcfb7a22480018080").unwrap(); - let signature = manager.sign_transaction(&address, &tx); + let signature = ledger.sign_transaction(&address, &tx); assert!(signature.is_ok()); } @@ -563,38 +500,36 @@ mod tests { #[test] #[ignore] fn smoke() { - let manager = Manager::new( - Arc::new(Mutex::new(hidapi::HidApi::new().expect("HidApi"))), - Arc::new(AtomicBool::new(false)) - ).expect("HardwareWalletManager"); + let manager = HardwareWalletManager::new().unwrap(); + let ledger = &manager.ledger; // Update device list - manager.update_devices(DeviceDirection::Arrived).expect("No Ledger found, make sure you have a unlocked Ledger connected with the Ledger Wallet Ethereum running"); + ledger.update_devices(DeviceDirection::Arrived).expect("No Ledger found, make sure you have a unlocked Ledger connected with the Ledger Wallet Ethereum running"); // Fetch the ethereum address of a connected ledger device - let address = manager.list_devices() + let address = ledger.list_devices() .iter() .filter(|d| d.manufacturer == "Ledger".to_string()) .nth(0) - .map(|d| d.address.clone()) + .map(|d| d.address) .expect("No ledger device detected"); // 44 bytes transaction let tx = FromHex::from_hex("eb018504a817c80082520894a6ca2e6707f2cc189794a9dd459d5b05ed1bcd1c8703f26fcfb7a22480018080").unwrap(); - let signature = manager.sign_transaction(&address, &tx); + let signature = ledger.sign_transaction(&address, &tx); println!("Got {:?}", signature); assert!(signature.is_ok()); // 218 bytes transaction let large_tx = FromHex::from_hex("f86b028511cfc15d00825208940975ca9f986eee35f5cbba2d672ad9bc8d2a08448766c92c5cf830008026a0d2b0d401b543872d2a6a50de92455decbb868440321bf63a13b310c069e2ba5ba03c6d51bcb2e1653be86546b87f8a12ddb45b6d4e568420299b96f64c19701040f86b028511cfc15d00825208940975ca9f986eee35f5cbba2d672ad9bc8d2a08448766c92c5cf830008026a0d2b0d401b543872d2a6a50de92455decbb868440321bf63a13b310c069e2ba5ba03c6d51bcb2e1653be86546b87f8a12ddb45b6d4e568420299b96f64c19701040").unwrap(); - let signature = manager.sign_transaction(&address, &large_tx); + let signature = ledger.sign_transaction(&address, &large_tx); println!("Got {:?}", signature); assert!(signature.is_ok()); // 36206 bytes transaction (You need to confirm many transaction on your `Ledger` for this) let huge_tx = FromHex::from_hex("f86b028511cfc15d00825208940975ca9f986eee35f5cbba2d672ad9bc8d2a08448766c92c5cf830008026a0d2b0d401b543872d2a6a50de92455decbb868440321bf63a13b310c069e2ba5ba03c6d51bcb2e1653be86546b87f8a12ddb45b6d4e568420299b96f64c19701040f86b028511cfc15d00825208940975ca9f986eee35f5cbba2d672ad9bc8d2a08448766c92c5cf830008026a0d2b0d401b543872d2a6a50de92455decbb868440321bf63a13b310c069e2ba5ba03c6d51bcb2e1653be86546b87f8a12ddb45b6d4e568420299b96f64c1970104000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7cd58ab9190c2792714ab06df5b67e66d9e3873eed251d7beb4fa252d6fed6a0ab1e5fabd284f40878d38f6e63d72eec55c6e1aa8d79c06adf714e3523a1f83da763f4bcc9d34424aba82981534066379c1cba244352042de13168556be761f8b1000807b6a6cd340b97a93cd850ee54335b1043bac153c1b0736a88919bb1a21d6befba34d9af51a9b3eb39164c64fe88efe62f136d0bc83cad1f963aec6344b9e406f7381ad2462dcf1434c90c426ee907e6a05abe39c2b36d1dfb966bcf5a4de5af9f07819256357489365c96b21d92a103a776b656fc10ad1083cf679d240bf09bf2eb7635d7bfa969ce7fbb4e0cd5835f79ca9f5583e3a9eca219fab2f773d9c7e838a7a9ef8755dc22e4880367c2b5e40795fe526fc5d1461e50d5cb053e001206460fc6617a38499db525112a7edde38b9547853ad6e5ab359233611148f196501deafae414acde9df81efd7c4144b8fd27f63ac252ecede9609b3f9e634ae95c13058ad2b4529bbb07b5d7ac567c2da994084c3c73ef7c453fc139fcdb3939461da5bf0fa3f2a83517463d02b903af5d845929cf12c9a1479f6801f20085887a94d72814671dac994e14b2faa3251d465ce16d855f33259d94fcc9553b25b488d5c45fe74de60c303bc75bcdde9374ca268767f5767638d1aec5f6f95cab8e9e27b9a80ddf3dbbe24f790debd9e3baa30145d499dd1afb5662a11788b1bb3dedc1ebc5eff9641fa6918d958e4738bae3854e4cd43f9173cd4c9c821190ec287c18035a530c2dc63077d292b3a35b3756ba9e08295a02e37d332552f9f4fdbb945df004aa5b072f9f0e9fc2e4ed6fe455d95b003e5e593dcbfad0b3b47aa855b34008e0e9a2e1cc23b975a3e6808be59dcaa8a87145c1d5183c799d06100d500227e6a758757b4f7d042b3485aa0ce5e91b2b2e67d3cfdf1c226b7ab90e40f0a0d30cbbf425f495bd5a80202909ad419745a59210e2c42a1846e656f67a764ee307abbd76fbb0c99a702253b7a753c3b93e974881f3c97987856b57449e92ffa759da041a2acac59ea2d53836098196355ae0aa2a185dbb002a67c1a278a6032f156bc1e6d7f4ff6c674126af272fdfd1dcd6a810f42878164f1c7ae346b0dd91b678b363d0e33f4b81f2d7cc14da555dcbe4b9f80ac0fed6265a6ecce278888c9794373dcb0d20aa811a9fe9864fab25eaf12764bb2f1a68cd8756cd0b3583f6e5ec74ca5c327b3f6599fa9ec32ccd1831ae323689ef4a1b1a587cbbd2120e0bb8e59f9fc87d93e0365eb36557be6c45c30c1baeba33cdaa877a87e51fd70f2b5521078607d012d65f1fcca8051a01004a6d10f662dfa6445b2ac015cb3ce8fde56bbff93f5d620171e638c6e05504c2aeeeb74c7667aee1709846cb84d345a011c21c1b4e3fd09774ab4dcc63bda04bb0f4fc49d6145d202d807cc2d8eab29b3babe15e53a3656daf0b022ac37513f77660d43d60bdd3e882eef239bfe13dba2e12707733d56e49f638005e06019a7335d8184f1039ab18084de896a946c23045e5c164dc9d32f2f227c89f717a87d1243516b922e5f270c751f1bdb2b1d3a38a15b18a7b8b7e0818573f31320d496e14a348f979b7606c5124e007493f2f40c931f68e3483a46ab2b853a90bd38ae85e6252fece6fd36f7dad0d07b6763d8001a0d6abee62452904f979cc52fa15001b06eef08f17d6e16d493d227ce9277392337a1c71713603e03803d38d1c24184b52049bc029f4f00b22d2acdef91c776a74aa184cc84b0e764f463ed05c2e16a7a0dcb6c27dd4aeca8aeac1545b48896775ba3fe9de4ea36e946d8f4ec16ca7ae58165e8ddc9189d5cc569888a59733529add4b213ea5c00ad3ed3709c0175b542513c90e18f2d4fa2301389102839d969e9f0d614943fe489750f27382f7ab273f51fcb995f449fa5fba108ad0955ed0819a0a62308021ac4ab0c97f04de9fb8533489b2685447ad71c7f9a9bc89975f9cdde87a3af89ae5bff37d1f192a31b7c5aad50486931bc07820d7dae398960965baba6cfc05c56df18b8ef0f5db488eb87be803fc94e3ad3bd6e4f358fe7ce15ca21c9a4752ddfa98337177a7c096d829886e8d71340a01644c64090c84e88235b11bd1fefe506d59733cdd82286fb466ee215914b06a138356e82c0ae6d5fd8e5fb310eb375540308d95b5d53832a5dae9652f91c1e8c14402991e38836813604dcaf272fc552e7682a6eaa7aacfd4ed1c7107b0232cdee00aef865c5577f2391937b76e34810f9d49fe31e54425b6f5e1d0e436e1366e9762d8295877e27ae495ace18fccfaafd850544c9be949d15d421cf6f4bb180225f7f86ca64480975c486df0eeb4fa80a4632cff28d36585cb5dc534553454ea810260983d02060caf6b1eb2b9443b1552ff73d243fecc9779635ed137a3bc8c04ef13f0329a7a5a54b2af0738218cc91be0ee63512f009435d8623ff4e8cdaf743818510b22e42b586a7e5e75525bb61dd2deb96adc95e07998a265d58fe4df4b9ead5b5f15b9daee510558fbdfae7a56931a6f4c729c18e0d29c467fed504810b7d9dfa0613d1657d9bfa5887e3f327cf46d7059a8a0fd654c60cb9c683c55439cd5186d1615f45f7108f261aff77791cf24c975120acf2b357dfbd2defafac0016525cff9400e0feeddff27910fbf2fa84c35fcaaec90863b605db5adbad0593601447605d68b943249861f8cd33c6419c7611403376a6bb438ee857ced2e6842f99ed1b4a9dc79f835813a4f8d07c14f1ef98773286e79cec1c9ce8c26e00418f1b27c7ef104fc96ea2b2ddefb46e2fec4feef2771a1d7e2643586b6fb97094a8d298de12a6f8f78d88e5d67442ed3310fb40aa6439b89c834e43ecd4a80c0a1d74ce6a90a67bcc996a7e93b6f397fe7ab2fa43711a72b84f8c94bd1e4ac62657b98a4b814d8ef2bb469165464a90d5353aa95d09b6ef4ffef081cab5e9dc12d743364f06d4118a585f7d455fd6e3b01434a728a768987c181409eb939e9396666560d394fb151fc67cb9cddea0a94d3e33382bd0617c95304da97994f110eafaaaff6eecb54421e01dc850dc73d77df18bbf68ecc8b37ee2fff7b6f88c139f7d88d763248deb8b4e16a8fab216c0ce88faea030f3a5c994c6e4ef6a9a68cbc9310787232198b020a7c014a1fa32c1736885603dd4921cd360bfb7dca7aafcbe81d7621dbeb4e5c094c2584c339ce70176d7fd2a6cfc4bbea6b433377eff7320d412947ac774688010369b197ec4d0471b9cc73cf9a3e71bd10901beefb10ca1c53428b89ea63427aae9ede5ba104d3fb54d0447458dd9780cd4e925f1edad33f6f0884cc47da562a3c6e2f5a958a8d8723919c4b88d067343a246c6722b6f9f82018d5213648792f38fa8ea1e635b3983dc1f941630fb3762ef1814ee3f41691b24583ddca585289568b4e64f82448b54797d382916e562b3f4795e2d726facea988249e2c3f72d44ec7197b6f783c6c7a133004d5e131b7b4d6a9557c56942ca4bd1f070a2b46c3a6b81bb9a4d570ac6afea75de65ecd331dff1e0252e0f9095f974f47b2d340d67704343b2e8832232210d2f79665bebccab528745c1dc3b28a78aafa3785c29ce2eb6a8403e4d8eded1cc2554ece0a542aa2febd711164f7d7e3a492a87b01d6b4206e593b3aa6d431e908282fcfee0d14dae4b99176a16fa32f730c2d336dcfe7eff84a7aaab1fc32ac8c2e9ab6ebb72c0306bc6998ec22d6cf20c2b6660cfbbeb064b3047c1cf650df12bd153cd7eec5dc181e46575f07c8e292cc191117cd28302d1f9c72d79b1f4062dd683ca95c3a744ac310764e56b2f02a0c2850a2f24c1b298e712374e9adfe68e5414386d7671bd52f6f472eebfdf51677ce379afe7b8085459fb1e6966f5cef45b256489b7ec8a8939cd931009c8a26642f1ff78cab06a5d25522a922cd5e4541dcdbde4848177a42476b141ce9ea035d28742cee0e5e85eb78ceb2b720e112aeb76cd0eb3fc34574c7476110b3b9dff5c19fceae816715b31fc289c0e7149e8488a59e075ac6683f237886a63a25ad23bf903480b9acf3f724d5ace0ca3a842939d4828910cc735e6513dfc4055624d68a048a626fab6b910eaf558c1b43daf1cf26338bca68b5e308b734b61624c97bf70a82430d586a6c3cf59e1bab2532fd9fa1f6fe4f757c7ede0cabea52f2cbf00cc88ca7db4ccc0ff92c0836e7405ebef2ad2e4b7d3b455d8e4d9ae575d884347bdadb67f5e24058a44ae1335280b671ec3bb9d8247e28fecedf5c151fe892bb0f6e67351752e4b1bf75dcd5af3e62ab4aedc5aa32a1606b4a0de3156b356b0fe74e898065d1e720b81663453fc97f935da3b5755a0629f38d6ae5f8e5e77eb64bbef5fc70d4081ebee7a9f7169df4f0e11796f7a79e9128ec996b6fbd8f6fa56e11f17db4925c27f4cd3ddbdee8a50e0b0d4d8f6e527302cbc4dbeef4b0338e6ac7515c1e796b39c8e83f457b50925c39d405f4cd3c1aaf3188c5ac62bf1dd362bc8c9d4e49d3d2b7c2dd2291fa4bb22d7cbe7963b654d92643b789366d1dce842f47919a1cf5073da8916701f907c4d2f8a710c58e85b59f590123d3f8e57cdc14df41a1481a893b9f9505dc0637ba9b27657b0ceab87b0e4bc742924e6d8bf895b407c54df8622018417f9e543fe49f5b10a7a5fc66e5589304af33a20ea108ddf63facebcb20d22eac2fdf4a97285ae6d3f87865fae1331d00e631dfe5366345e0d78bb39a8077484a941176bc63f469f001cfd230347580b6226d6adff5ab112dcd53e7118925296b1a05978a703e383e6ffa5158fc36781f74501564992ab244d3475e1ee8e7146033da2dc116489b84c378e4a750947eb9ccb982a197f13976bb105c81624618c697f32a5b9e03f3675b2315fe773e4922c2e3da7f68ac225107405ece58dc6bbe2bd8947f3e4269ce245589497cd892c750f9ace0440f48057090c8a6cbd5046d3d982d634b4ad6ba41c7a38b7b8b0f91cb6898e769479fc3c7e7d2010b7fb38ef13c17db705a36455a34969803323806009a4e141a5c42da0f7a5e4760d07250d7e483ca6274e57cc2885e5728c24c8b5102845e8bb74b1c394fa7a206ec052c953967380d64c148ca480ab0edbc5da1a7a1e649c2ebfd19fefc52d81aeed7cd83f3c1d2128bd66feb99d5d8fbced01383d2abbf9be47f3390dd336c22b533a731d1c59c3bc5361d781ca15430d84f3c67d6981ab99100f53b6b5623df9d8eecc99d24e02d9301d636c2d5988e98a54339d5b516379a67d50dd9994a28fae5b806c56b353a84cb31729487a6d9851960b83ebc5178be689720a80c5c412e67f8ed55724534c92ab15c3bbc5bf13dfbff02d41ce4c9bc112746b62dea2b21d034e9a31e276eacfeeafc672b95e701ec0fc7ebd4b020a73fc37361b3f136246a0e3a8378442eb5e60abd7da2032dca9b5556aa22e5007c901f438c5e1baeb5d3ec6128a84d310363c6ec17d4ffece27f502b5c63d20cb1d11d0cfc316074faa820a03e6c577389e5e82ebe5f0976b6f5266618f5eb56986714d5cc75fe87176e92dcf01c58029d2b838022c0812c933db17dc4566d233720075065fda26f44b0ed3a46b6143fe180b7a1e6c1558f87b875aedf8c2fa968e2c925f0c08c7e0f23a9cf1b46f7955d9f1db300dab801f5672e2a7231bb2b622b0dc0dd9f2ec64a5f10c239e613247f8685369ed60b2d262c038fcc43924c5aca318385c12412b10d89753f9dfca43eff5f2be7d7d7b2788b877efa8b46ec5c9e99f922839bef71c613cd44cba597cf68de366eaa8874032c14d8012b41e72fd66422f7031d26be0dc4fef8f36a3c124e4ae767a665a94233812984c4466f5bd698b5fc22153c9c2f4110d9defb23c00e722692983b32ee0e84514169910bb21b14066d048960b29b3ff4c090dd5723ca4dcdebd207d4f88da831f0ee7de4aa302a06589a4aba3ca696e7d3c3e9a93af79db91f7a06b0ad825a8652f74bdb72f580e9afb31aae58807e24067f08dd719abb4e6e458bc8aa272d7a5bbd00710c43a1fea220b9022a26b574997517d04573786a4c3e09d30f3ec32f328462e26d4f7ff015121758ce1a2fd51e7f419eb6d8ac04497ab812aa6ba2e981a312ca16c38ed887b2342b0a91348198797919671a23e2b0634b523f931e48ce0d8eb840c54045d9193afec069803901e5ec1108782503cabd0f43373a85acacfa8af44ef2b1d09e4589d2dd4fdcefbf435cb61254f189ad433fa6a4e190627732ae4ef2b0c85cfcbbbaa0137033034e70a3906112dc76ec101f3198e25fb38aad46261d6019690dbf059d66c44e7ada244589c55edfc2e7d18c0ddfcd2d3841bd54d8502763cd0f4696d44686ae3be29ba3063ff6e7aee14de126dc43302f7c0b57d59eb4fdfc4903ccbd3f7309225dd90b5f25c5ade49c14334c0e00fd18b1dc611b10fbbb98c560ad4908842e765c661b9bce005aeede6461254338b8dad3203ee1b58bac1062c7e02e2aa6d420283ed81525839f2c8ff54ac71cc105042c594fb7fd7b55c14cd1247347a197ea8f93c1bbeada1dbf3e59b798c9b15765ab23f856fcf4eeaa5892c3857646bcfd8ad2bf0a15607e0d6696a8548da32955f1f8476f8a20fe4f59b3e9bf4468730b8d46c824a370d37695d1bdcac521032804c5cc66505637701e653ccbddb052f4ecf185b3605d0ba3a4fd99161973e36a35bf79571841ef7506db822dd2a5c959f36418a8dd8acb5b3ecbf3e7918a73695501ef8f440aba43c6e4575880ba3bb83e0a839254fd8d8c6b979d79337a68d218565a5dcb1518c6c82aa73ce7f54a9434ceb5f5fd503137164d74a230e46ce298b98576fea88806bc51e393acdb2abac1da23219b4dbcfba366d834d40dd8e616d214c3478136050555539eba776bf506870c3d20c4a4645b9a7c4ffa976534068009840aadae71f578ef1a325717f64dff840b9dda81b123086a47a172e6793e68af6140b1492058fecd68c4c23db1cc13d2b57f52d0cba89cd4c26d1bd580dd2a054a1d934a80b9eda8ffb503b7e3e62d00a3d075235410149e976529d8029595e4daaae1aa685f3cbdac9b26916320e75b0846d2de8673600212bb648b26e3f1709df425136f33f46129afc90839d24de1e9fee51c685db8a280a5dd4c3ac1539664cc36ffd4537af480d4082146e7395cd6de1f8b652bca8853ec742366702afd6ed79a5920e4ad1317545266f6dbb796ace0fdc731997cd94e1bd8e6689c856adcf153909cfe882b9b02650f4f9eb8620983f0c6b95b3558682d8134a9ec8fa97e174173041115b2eae21fa0b72d0a3c7c2bf9b022fa141a8b495de8321c152b0a9a942c5baf290a234ade4e8b579238a627196fa5621b196ecbe31583517ec4ed82e8d3fb21a892dfd65ccfccd2d36c5d32afa4d4bf201d684c4b1c8c1207db455dede5b908ac63d5fc0bd2b36e11df53bd52e5ce27a9af9444a8cc4391ccc82914b79ba2971ef4ea5d5c30372e7cdbe9bedfcea9ccc8140f8c3ad1bcda29d11fe51affc74f17c9832798e10222701e0d6e93fd109cc9a12df4ee5d38c531574d39a9f4357a60f8150ee509c68e469b4eb0e9be2e6ef9099f1bb949f738fa801d223316fbb1e179b74445228c8b3c40440306e4821077860c37d6b8c17230fcf7ea48d0bb0d98fd3f1f00655e11a8b2e0a7d5da8427784a8fc6d1a2d4d1d3adcc02030b50a700788ce4078c199fc733e2ad469dd9c775d7a8025b4db9b960619f0263b7f09d038cdf85045ac2a1cc5a18364048bf242af713ac4db889489d781ff16b1dcdf66acd89bd6c7651f25a17ce751b67697739dc4d1a125fdd5a8ecbb0cfaf31cd4179249e91171ef3e628dda697afed9d09b53260ae475d59ccb45a6ffd85a2c4241fd134462cf2ec21b51422439aac77954d1b2396761f16e1c6e3242b538f23f584b95cd4b811e35a526748050a7eaa02cebdf8887d94287c99500bf9c2afb7f36ff47e17906534097b02f10620958e889d2392d30660e513c22f580a505314eea4a865d97adb9136c495403e321f425348b56ce8f8e8e91ccd702ade0bbd1efdebef8344bb9defd471ef4b214976556f59f679e0fa39a2007bb9902f5a60ba044c4316c27f6b634241acdc3ce437c4fad599aabba291bfd71c05eca6d9df49abc33ae7709f6622e516c22418e7ab86144f6baf3697bfeeee65294175e5dc9ce5ec82da64537f5f5b83f5a938e41fa8f6f97f9102fda8bcbfb6a5c58f79648b97e948a074e459b9b75a1793cf7d9ca5d7ab27cf7035ece0612d348a23c0fed509c5e18d19b1e659af237c3b9aba4fa8477de805c5f8ccd0cbf3846b6ee1bc9ef76a190952115bd08a5108c8bba76d8d762184c122d081c6dc8b4c49a7f0e16ad4cbed86c6818d4f22c03a100c9afe3675a2f354bf1c2cde1f5e5a63b95761e10d27c9482539387e3aeeaadaeab59faaa20cf595d4d8c57509c751446282581ed28cc55736211e6fabb63d0f299e39ac1cd2af1431bfb03f86e5e59691dffad4e275d4611cb2d7d3be3defcb77907c94db86d989a2ca7e19729e3454eef23b0d58bff8203b08f41b40913f2d2dd2e8c98af09e5aaee76030d8201640d78e7bcfc6c1171e04cb39a6bd060ca41ebbfd090883d8b3569c39fc19cb5d87c15062c9f09138d4e3d3f3421227fb2ac48b224438b12702cb67e2db161a3c771d866c3cc55d15a094f72fe314092e846256e44a1dc513b02bbdd976321f470f81f36e719b9acf22179855d36ad0c50dab79da662e9ea7f9685ec0b44817271ffe2b7254ab7f3ddc389847e17edbd33fbf789bcd604ccca0c01c60deca286858b16dfa17c5875916e0159dfd4f0495c08bf6de51365e2175e47325d5ee71c96ea8ce24c4541886e0854bf7dd8a980aea1aba9add0316f3d052a2eea95c02c241523f3274ee62c883c4ac440d7626cdb4f0aba7a4ea686b2778cd7d7be220357de63cce55a3928aab4c200a2cd65b04d831ba0b54dc91cd6ea410359512130d2a0122f3c9752ba6210ea3b115caf891f0a0a7ef210d1988324a9af926cea8487640a473aefb2e3b4b9259ca4da66089d7f7800f87cb2bd068b8c268dfac897b9a2dd1ff4ac2b19a48b7e95a39ebc6afa2dceca7928ed8e43630d673e5c7ba1fb4afbbd40243ed411b6519420e738c24ab183f900872f10248190358636c789b842f156987d0593fa7cb813f5c688652f871aada7cb5a9c2e15ddedac147151b4d5a7bc4b33cecac961a3487984918868515ca73ebc647945fd9044f3c085b184b3f9d333a7b74927fbbe4a0d846744e0fd6bc36f9381f76422633946fe79e64c3fd63e30096ef400df8cd8c884bad1955b82c013c1a190db92699d39217e46d3db284f35b18b782e791d722d12b85c8a26ac98e9dea8356f9d3ca58833aef4ffd883953f24c96f5351438dccf33693230db5d72389905b49d7308cc30b805fa968532a976009a527bfce9ea921ff4ea9723be5b5972ace8553441a4dac7f0b2114edd3a25666d70c4f94131a63f4521dbd004309157bb32f9fc649058ffbe747bc3addc523f805f1b34787b0f446c9ed1d1966550c7d0c10e342316c6b34899064d0d2dcbb09087ac20572103ee01193a3eab06c06e3206cd60bdbe367af81dee5ab3e5dde9836c558e54c9bb6aa306a609225cf25a65b575fa97d9c962b72b798e9a7fd8192ba879964cedf623d544c8929af5c8dea56721d25578434e2b234289895c697c9c1bc4556e4f6df479a837d1e9132c011e47f9e23fd27b70e7601fdd24f28937efb9e46673b9f56914638c793f5c3b625664f2b221afb3fce5aee92a84d45bab5cda58c49777f82b2b1c8293d727fec90dd73581b087367add474dc7b4cad75cea1e43619ef3fa1b35175f5f0889c031c2083e764b0f4389fffeb307831b73763e73d2c3112adff579d4dcfa1c09d3f2c5927568a70027242e6bec83c5e2cf7e125d8b5e4ad2ec339fb79bb15b8b9a6db0ea9408fc6fb8ca6efe9ae0c8c25900d859b17fc44c4a262c7a5e06ae9e2083fc6dc36bd08d648e9a1a3d8fcbedf12777d690ff15dc7096e7c8b33e71b19005c9e1b20d2c2b6f5c7c1204edc691b389b6ad04f896ed297922bb92b9e6d10a2df2a83dc71c15d2010b595c72d5677017d6d7938ca3538d671e13b8496583b4f9fa59fd481f1f438f92b01a6c5f7169d44b93c0b6863c1a183e871e7f50e26e6d41243a1c509d423309dc886dbb9ac245263ae9d6024456e72b57e17cb08ef00f4fa4dd9fd27de0685c4c6c680ad654e3d81dbb450f0a5e7821412d442c2034093e3fb10234e6a51b98fd388eafd0eec66b42c275a3547f72c7f3d16ed81395e9a2664faacdf99bb22327280e518e4ff047451e6f7420b562c68877c96e129d0cbe18896aff48d49da028dc97aa0108da9b29c540c5238d676dccafdf463694aea34ad4f513b6c7a58d071c335ff1313d41b7cdd902904b8c9fbea2ed34878b407ebb8144f603683ce4ce61eb0690a00d492978aac3a0f3010b7479667811c3332c06553c14809c723316c84d084530e93a63bf0b7658f7bf367d29577236e23ab658a685f2612f0216a932a24aa4f70b8d0609aa9ca14e4d91b8ed9fb62864ded646012ef675ea359117c07f528d7dfb742aab9ac892851e97c94f72d5c34d4feebc7f67e09fdc6f633f050833192f15a7acf4f8c8beb3adf3860fb26fee39a416ec362e4b6d9ced09fa57b3d5b7fb7de018e4fd93eb65634c08f6d4f1e2f490c2a8b1be2794a27de0dbecc9949fd1d5eefa0fc6f0033a2bdecfcaa267280b445e92385d2edd4c2b31bdc5d54ddd6cb30b3c370a893c217945d346d1c5b8b98ac754a01afeba6f5526939ccfe9f2432461a99c7b9b44a3983eb65fb064c32f8c72e18b8f6e42e72a1bac21b3cf94526f81089b235794412d1aed20f48324d742d4079e9546f495248cf7f42839852d604598ca2079fe44b125ae9970973b57c156e83fabe6d64c9aaab5c243d1dc71520d45317b913205979fe5bc075b0068d8a5ceb7c8ff9149c763c22b08d35a09feb8156bf7d8eda212a102906e251efcef1ebed894556f18444a0938b4c050f2b873505bdce97cd4fe539a944b94e281292f38850dec9e9f108d3b2d5a83837d114bcb3d6e6511629f310d194328eb05a7b88e7a053e97dd92881c89a1169e7d23a4fa1ebf532eed2579fc4482b9c93da2b5e9619f289f346160996cc61a3f380ea71b25e777af37dce79039cf90a2bf16ddd46733fe9c1cddbe7a42fc5faa7869c96ec463e9817495bc24a23cd9968213927522ddb0d6ba5db92f5736a5723135305a6c083a9bb54da7e43da3ebb07066ad94e597706062118fef17e9e65363f71d8859d30527a495f06bb025c1d26c6fc80e9b140c7108c57ee5583063bd8d2a7efe6a3026a79f2294e09ce980be8ce1a017132ccf48a63eb32454b12506a6099d4e310f07612e77da46aa0caed8fb0446fd6091140db2cb1432bb93cbf681cefae9d849fee6b0d87898d52d31a209ca6f168b6305011e2c9a55fc5ad2237d7c2d06b98e0703ff2a89fc7af8471aecd2a6cc0a4745082db863bc8d46209d51135333a03b328345b86d6cfc23d6d7384fae5d8546f05725ab139e2c25b0dd9b2113b2774391aa058cf90915bc97a94e74ca0ff6785243122f12decdc48aaa8ff27200007f35e928e62269f7f07407802c9a10648a91180d559c5c37cf3f425c9949b9e38ce4c99b71810babe45344d929906776a66fab175e20bc5930f1dc4b5b888301028b6e0f92293e468d0c6b191f0840ed822c036e6257bbd4f0db8e931463826c0be855add67bff5fdc6d4de7347fa07e63d68f4b6876774a39dff1ae927614f8a879f128713e24b263850f1ab3176ed0e9ca9369af947bb8e862e927cf803ea7b53b68eb8c5f87f1cde2399122b7892ccd4071610f0873981ece2ed719bebb0d508037e46b95610d14e9a826549cfedecea1d32074aa439592929873b49d9434f35646adeabc8b52e323ec2dd6d0d6e27b530361fd8bf9e4e3a0a58e3079dc63156a684bd5cde53ba8c9c51da274bd61cdab187a3fc0a84d5005319f05fc7ddbda575f73f3178336413f8ba0b99cbfdd5c350a3a925260284d75fe06371716f951d76078df7cbe6f25beab46b8f4222c74f68822d6747314b688839540d3bb9bd0f45a028e780fe2b5c78e28dbce66680f1e57b68d6088101146aa9f976bad10933e4f5481444a46d40413ae5d00044a29dd3760c712c04771976280f793ac5bf8cc1187976096e4620d646358f207a9166b9d27030721fc00688a0df926e6f4944ba6e78dc862a8e55e3d1a20d2993d8c8410548e9bf1b6efa181daf8bc060bd1af3dbd8853d6d3f54bdd1f6270b20fcf7f90310109b98f6b366a4ebc6f717962e408bf865d0128fc9ed607f848d376ab1c50e66152f74916a28539a762c75387d144bdaf4a0b8b0e7baec532e8d531501674a8727547916fbcb2e45f9c7d41063bcfec3de1b0adee000e555397ab16fb0977a8c3ac1385dfc89eb7db5cceb9109077d36ca9ff5fcf9feed6b985693746a95ba34f7d2875f61ee8606302b6470f8ad17b781daab036e288e5ee083a3a36eb116a34f5ad97e1675181818289f514efe868feeec3b48b1a574b9405668aa536e572f0e2b46fdfccaea5b2f65285f6a9a05c020bf440f5db912c8ac289c67b9d724225eff88366992f08711f35112e66b765872d39b54cdb5c4c0719b2c17dfade7e2f19281e6ae7885708ee8a8f6f90ce79387e6e47b33f15f212c5b386a5aa5f93cb597698dae4b5999ccb4d652a08c41ed27c45d2ecbd112a679374ddd6606ca76ceca9ab08f7f648d248622ddd633dfc121f9470930ae058cfa9455ddbd25a38aaf48f242ab6e0dc895c5b2af0d9ab0c996df526f144cce6297af5f3ac5fa1d159f52e072b827dbd273afcc6e3b8fa1151acaaca5965a4b6cf5b0ea6275da3208159c6bd6d716eb61309eb4ddfe1bbc4ef8d013d477668cb3506ebb4724ccc72affdab79dcdfaaee55a5946b4a3f768dae9fedddedc6c5712296f26c025ed2ee299cd15b1e692c616094f500fc53fcd9838401c0ea6b6ccb883c149a52d875501ec2e647b1d6720a8227e33cbc1f429ef60103f3334e3de2e40ed4a59d811b8cc51a695de25ebc66eca519222dafa22dbca634220097b1d3f9aeddc91d11019d7215629122b4dc6e3211ad842288b581c31e44fa79e1f7855d8fa77e7a224cf571aa3c16b5f4fe5feb16d7d1bdecc543b0e8ff01c677ec6801e87241ddaa02a5c83bbfd1d84c62e269f6ce8a708e693b86d8e5439f129431a4c1c0bc6ad47784c38e1cacf6c523da23f65a76c264b96aabb50aa9e299be6abd1c9d078ac3b2c5f2c3986b5707f143513b4ea91a2052731ef5b48780dd0cc6626a0f0c358454f6eb36df7caee6f8dfb3ea19a0ae79c0d1587140147be3efb2a0da1305d5fe056010c518e3471572d889304c4ce00acc78fed04a4b888d5e7e57d6cb5cf4e5cf1f8782e1b25ad948eb3e443db75af9233aaaf6659adbe0ef33d4b3ba5214b85e656719df2eba42235b2e268f80e3c5971d28957f8e93f5b04a3d5eaa607fd4bb838ae48661bd093342762cfd1ed60b21f04f5b95c3e5426ca6127b04810e2ee25bb56ae81d7840328d8d4f7d1bd341ed58b102d9860806f4a4d117c044f472c85ba422eab084faf8994cfe0a880bc46dc9c1a8c11995610756e2ac50c5fea8ebbcb53dcc76b1944ce364f8878f42310fe0f8cc211c62f627d12b20527dfd84b78c98b1122050cbcbdb70e08010f68294a6a805d3fab97e76cd695f918e73763ac2c3dfe4a8d75db87dc37e2399fd854f3284d29c7bae3d3e31c4375ad9e047f03a5204c2ba93b6025c112ea2c9fcd731e380a8aaa42860c859c2e2cfd333f0bee741e21f78776defea86e862711f0d0bbf64003ee848a8d1a12dd00c024cbee343d1093e653555c033c198401caeb951860392b5b1eed6200828aa310ed466e41d855dc4231464adc2b6b6fd66e03fd42736fb791387efec28b37d0686272a6bb181a621aae7be06866bdc1c4be69e94642c8d3782f5ab7cc8c890699008b52a11b149a517771b93bc2ae597dedaf0237ea8d9674e26fc75c3b468e04e2fc317d03484a75fb274f7ba1617bbb72ec16da1fd4109952d052e9de7c00761736dd17e70db0976692626ccf8bc9e88ad6c25ed88a2f7c2750add4ceb95744f690ee5f2fa423a2b62ae57c1105958bd8e81025c9412fa71f5d1e81bd6cffa01f489fab7e90ab8a3c8aaffc8e3d594beb254c460347196473117ec2a416dea464eaff95da6cec26b5535954901298f11932ebeca52aded139f2d5aa2c24174e2f6c701ce1f4564c60861ce3b9cdac1cfecf071295c5ec581f0f075096fa457373c124b6c8cae3aaf915e4701ad94ec9c01e5ca0552019bd7f107a7d5afab9e4a5e7cc7b4c5416656ad064f4a0f89afbf7c5b884b69a12fbce8aa73a49b2e5c5728c67a7396bb8341afdf52213b2f7f8e84962cccbeaea63a3c7b24881ecdde39cc57b4f211cd57c6f982217758042f61b648496e62b612b7b8bbe1b9f15d237aeac42b54d15166b5c71eb27ccca1fc9e050adc62a267eb82ca2144ba323a73aa11e2fdaa87695c70316754faf7aec44a49b668362b0b35e884019227e7b9a35e8841e64e0009c713d7f3e4a74cc3feaecf4c99b8d0ecd85c8ff89771b63a38e3af990641f28fa7e4ea560577d600f43ccd467d6a347fef04d392d42f8e97659348c68b41299f94db4b713d61868adbd20a4db74f61bd0d1e7846bfc8b8f8bb50bf50c2fbfdaa87328933741aa2b1ca50cb759c1276f1a7930952ed656921f5ce5569ed16b31b2a1b6009c784199ae60ce2e35d573808a195974536f220cd14dd634bd06800435cf1219047f6246c2d9bdea5e489ab4862f0cb0f01439ad2ad1e2042b3f63b8611a87efbe842613c21761de4c79291a8491092c20134252b8e900e5d3cc70e75d32cc41452c5c33b66087213c34f67ae73fd56a183be858f1c3bcd73d814bb9e3f78cd18992b0ea401d8f25c3b60c055df8e6430b62899bc86167d0b5e2bbf16d75bf3f2b94c26542202bbfa0abe99be1a07c78140f42c12f51576007bb5439966a47cadf5c4ea624a75e7a4f01d8733aee57e3497c013de4a33cf54a94acad9b1aad837865a6881db9a725310eed49581d2223f2b0984757bf3fc5122c5dd572ecc781b48fc508122775779d2b2849e11684a585ce844d21352f8d35ea53f0f34d772bd9ca76cc4dc33aa3f2e72418c097614fa5260eaf3c2d724d3599dfa0991a9c0eec9c4d550886c85e1ab2541e9868a36afbe0d9c07c93e44c4c73c66f88e770e5d4e4ac331fafc6870c928fca85756c444c6e8f6cf75865859abf0cfecc8e89b8c806a2e6af7cb752215bec6201eeb41759b27d599931dc2ae75d605b3e387bf263ebfd09ce2154b81479675555ec74ad85150f8eb8c1b3c4f31f6409648f9c1b4678c82e8e2afa9c887f3210afffed160d1634ab0259e1bf5565d8598605a435bd289afbbc12034f67199b67bb0fddb4b9180908c483ae5a8eed16221687e1f524d010ce5db78d1b999069f225479fd6bf0681c7ee95d4665925bc96399989b85284087e67d5a070f2713feb78bcb91bc019f3f19bf3abb7cf36ebb98f09fd64b61e2bddc9ae6335da48ba85b62562726e142bb9d9e5c8f278dbaa0657dfe3e410f03211a072555624d98790aefe8e7b0281ff6af3de79dd5a414632f9d4913a480e9cd6990f94350304f853ba5679a4cb3a647b98bf1eee6cf70f77581a1ff82a9ffd7296e8fd172d37b1b0d1621692cbfeff8de18658f04af5d5be08bce66e5dfec5989b674219f9ceb6a1037c80a8febdfac63d482debd34c3057a677420f0bdd66e2c2b25a9c1d34b76b4a998ad3ee21d1e49f812422c83016c12c201ac2b0f07ddc00638846f215bfa6c575cbfd577178eb0282ade2c459a13386f5dee8a7502321292a7de077f4fd12967b8c8055596e7a43287639843b6ebee58d463fa044562ec2da7f9c2a7f28cce685178eddd3b9fe7b10202997b6b170555a71555cfebd06cba6bb019f8cfac2ec5db3b1d1ca88acef9accf76b6a74600e590a0eba1c839d6a577d3877e7d6d010b04fc58e160ec9733bf200a9e0b24fe8ef32613cf2c7b1515008b8833e34d3967ccbc8bbe30fd1810f23bb153b814392eb37d8917e96260b3cb16895ef13b96d72c81a14b908224571680dd56d04a59a6583a232ec58e8cff16f6428b5e3dd19f362992608aba912b642aac9950777627ffa4eadfe9f31b73c3fbca11d2abb623b732f3d7c296806151257c9f2306dee1c84eb05d586e7a82a8750905716b3e51600250a1e3b4bf274130a1bfa47117cc8b6db3741ba04d977015b8ee250c3ffaf859fdf0372b88fec188830b5870f251889584333547f3436a548801fd3236da2ccb2b504f85ef1d259bc3e00f0ced934a4b297ecce0d668fb3ecb524d3ff4380a7856c7060006de31931d0b26ec1d084e0dce3b9a123741cdc326b441131d777799623c6340410c331c7e8a4a8175d7d250274cc4ffebd5d46d855bf90842888893c348f0a447998e3aaffc81c9b65e3a772eca5c2f0907ee13ab6a2babe99f388755fa3ac9dc79a2ba4ad7a869a876448ed1d4dd6a8c678065cfc90df8470b29c83719bfcbec7c5e3244a665a28593ad42ab84663bccf570a8e8b783565f909b5e6e8cd69ed6f79fc945ce5d845c998f25b9dc118c96dd2c0f592a73497dbd9e050632c8d82656a71460d0ae7f5f38636692a78083b2fffaa517dc2dfe18ae020e6a5562be54ed9046c7129b3a57dcbd1917efb0579fa9a3978690fded8e52e4860db75b2a93c77316a6e84df4965291a7531e2abc0fcc0d0016acc29680baa575cb7be1a03206236310eb5120ab4069e0f8f0cc3f6bd188ca91963eafc2bc66b1a42f8c49359cf3171a72eef94eddd8aab03f770cb2f489aece4e09a85fe6b9790ced5feced19e4cfe6bcafd1a5d99fe56b78f7a14fdea11fd5e331e23191a3f74b32d8ff2740409f346aedf469eb8aca16b43dcc44c400ae3e6d1c4717ae1f18a2f70830aa0c4d5734922374dad8c006ab97e02a4263999ecad0b1e9f24ed0b599467c962932ec610e63c0b3ac845f5d4d10979c92bd884669908696172609e0da039728baa1f0dca8885d5439ca420e87f5c449908b2a5f69b65b60adbf5d74b21eb1f4e0d79558c59b4499c245a9952de8d3a51021f2e77c44e06a489df3b72d28e5d03ddd358ced4f5a1fe057e58b86f9e717cb9001cec6d6665cc0f5b9cf89873e6e7d10355746e99494766c937683684312b630337d1c411f3f2eddc52a8267e19d38ee12c810cc4e33193e26790b13d1847c56282ac86697996daa386b06ec2ceaa97fac9c018baf644622c74546177267b053a82292c1a1cf194909beba3f2670acf1d095b0caed4b8da2fe48c9da3dc61969d938707a62ce9cf55b89ceaa04a9069d38f4e89db794a335933c5b45fe215976e76dc71b7719c2ef29d06d2dbcfce0470007331a221dbce6baa3f418f989d7dd927d343152ee310d084799300e8d3801f9d464d9bbd5687e3203cfb8e589fbab39ad4851b07bd13b29d7f4b767858d13c5937a482207470f673593aa9abe339b3d63b7ea4ad60e51e7f9080381eb07213ad1996ba7bd28f8b44b7ea037e0bf9716f56820f908fd4027249df11aea06df25b3860cb18b68a7df5ed0d14730035291346049e1e5cbdefb30719548fde4f986bd9871a71b5bc7f6e03ea4fcf1c6ddfecb06413832ac27b08d203070acdaf432bafdb288908dfd673caddbfe41af8255ff7106d39db8d003ec1abcc3000bd7fe1daec2624bbe8417f81150f20a8a48324100ef1570a6de7c0a21e16f6991b23016671bc96ee55e99a97a5a0120af8ecb816137d5f40b9e71d56cbecf61569dcd2f850ede77437be06fd85b54d7220b9bcd13e682a8227c7a05a4efc8d258b0331b0f47cf45ec370b491d6b2e4e601e50483480d9437fdf570b6be69b28b964972fac047f8aaecbe567c8ee3d583a46d5b58fa3c361dd3ad73c91727e4d0594f428acfa977206c20995612834497928d507eb62aca1752a8f3048c932b9f0f80f7c627a87f2b50d581961b8739bddfe2afabb1c757f366acd1e639de808409f598755dad254c60b5aefbbdcbad52f72c756e5e4b286a6866af769593f66256fadc939d3d23d1db9096038b40ed224ace023f2e3ea84fb4092c974cb44ffbe489f0ddbdd79e66281ef9c44e81781b849b0d3101c17e54ebf8bd69393b9220c75c7d3c564862ef35d7dfedc855e2ea15a6159c6c2bd01d2c4f3c316ddc43f937cc295fe35365a69ffe68a2a3bfa7eff90c2fe8563f6438117c31ab48cbd5a3ef1c7a03a03a048be4a9fe0de1d6a86feb144731f4e84f1b509db65d35b1b8ec3d0f462392da10694b207ef1d9fa2581b572f9c45012151f039ebed848b3fc211b2b4d6d48266e8bf800e68cb1165cfb17cb14af4fff107e57bc90b9e32006dd090ae12ff39b000c474f77da32549f51d07bb23d233485be9143c55849b5fa241337c050d48d88e4723f7f1032120cb609c584cb10cd777404556df84cd095c4a9668d392cb9a6197ce04e4234d48b47f8deaad83ee95292c9a9e9d42838c12e34046483ebd821284ac349fddb3d89c0e9a85716ca5f2c60569686d3580c6c7bce0a0ec4183fea724ad02763f66f85992fedf49c67a54c8ecc5b47d6e00cfeaf23b2425b795be93d65d92fe0ac761cca8b2feb4fd7a4bd21bc98a7328f178a61aabc2edf843e23ee94c757a457d448f3588b4e39cb14d855c35372c2060966df0e3382afe2d18988ee7676511e43afae09d6e16b50bfd290c1202c5c82520bfadb7b9eff22c2e9d202e7606f23182c08f0d405cfda6e8bf4b222a14a96015602cd77b2e0af5027938348075115b146166990bdccdaefa94626e140f8ea6fe6b51fb38fbf7ec39b89e68174db08d243a5da08a573545993db451bcd7462ba2c308849e6f54fd68eac003dff1971d19a00ae1d326d9db706197ce15397066ca114645ee39bb1a950c068908be503b2cf3ee74048dd92808e07172ba1362b3ad4103953c990e19b4581c54b5a240d90ec56150fdd5d9d1e497090941b541a9fa202d09f2790bd29f53fcf2adeddd4b4ecbff252921feca36cbe51e5185234641c8df314dec556280e408ad6605cb82f9fa5cbec32b2d478e876b4c3bc5019c344ee2f0bc33d26ae3b69e349771a8069f38f879d82e1c68f84d44516db921ca606b6e310e9ef0729b9fc76eaff94d3e44f865a6943eecc5ea1dc097e69e91344f7b287223fdf25ed3512e1fa34b0879ade1a2786571435e71d3fab19a6ba93b5d83e20f05afba10ab48ddee2c6feee813635318ac35bece3a339fb5c2278df5b9a6b7859343ff5530a2dbeda669a47a5eb0efc46c148ab00165563023536cf71f189c6b855ca6aaa056233ba82edf29e82d96c6118a0e6bf37d2ab2945ed1904f1dfd19ede3dfcf257aea6d560e3776159ffc384b3540deb1cc38d1022e530c2d46557a21eeb744ed5c00843f7b6d5953f1ff4770d26dde34c4cfbd308074e0df53264afc5a3a7ab8a57dae296c39bd72b88ad988319ba9e13ea529783d5c926d2f48599720695fd174f8873d0f660f002d8d0ee134271450c12e9dddb641b240795c2c09b958778e16081bc9180442c45fa916de16c83f16c50092eef58a56191bbcd906eb475b97d37b7f5cb00a79a9ad66a636e1052f9dd1e75d02a5af4840dfda7eac68c749bb857675e67b450a484d3e7b13a77fdabff0e97dfb705e5f4f6cf1e95a5f6cc38e099634a020087f868580ce2ec0837525b8c58f08444d7fd4333a589c0356de22568b4fad8766ee3325cbd65843f2c713ecdb44c96411ea871c039915b546ed6fbafbd51805ac48d06c6924d3f7036e1814250f50f27342c8c4ded3e68b6b3f161d46379c1088a7a123f48f0e7cb5a348f472eb155956fe232fd301e64f341041683ce3b25bba7f290a10282a8dba3a2a3da24461a5be148c2241d627889adca5acad981583fac81d0ee4ef77038c1f80db9dfe740720904512691a9c8545a9d173c08c2e8599010c972c2c34287d91ac7803a5700a0d6e29b7774f8f487b70cf8d0ec9474443e2c0c051116b16aef491c3945a65e6ddcd7931a7259e56902a2866b95d3c0bb7a3ea61b1f3b54ae56e6a7366ea895056ea0d1c251cd74f7b82b0d47464826f4aca77434df3d909271a825b57890cd830011981d95229cc0427cdc97758ddbc76d6cc77ba06c92d19daac8bbecbf55535e98bd4754ec06a6e632225c43bc46068baa688636eaba53926ca093a7addcd6a696a902ac35631aa43d9d66f77270cc7bf66140dac239034ba304e1aa0a265131e9fb2b7f079861b0e4cb9c911ce82ef0b685002476baf26401dc8cc444543129f82ac6b103881c596b19d9eba8ed6b230c17914d5c34a0040c18dc54d8c4b637ee683637fc5a82ac1cf12691bb28fc0bbb307fc032ec3d2b06eaec56ed769b5e892816c7350dce89551e87918f67a117c39f256a368586c78c2e9614e9658161511a8dad53afe8cb9eebe67c6596a90eeea1d3d2466a4d77a1129c0a4409b98d8ac0b925c4b2b3500665a3cf4ceb82cb0b6732eea8a796f9b79d2ea49be97066bc1f606d9f1f59f41d2acbb878a0783093fc4ab0ef866ff60a6a1a58d3cee90307f09247b5212f8709856251ff5d8fb77657110bbb3f3aeff07898f049c821a82c11e27b0c176a9feb12de5d08498018f7607156c5065cb56bf9d6867a4495f26a07e0f01312c2ee897b82d8eba0cbc473da402814dba727521cfec6afac2cc59cdd6a75e1f8f40585e5cda51a7434a81ccf4b7de33c663dc174ba973cebc5a56831005d231c719ea34ce42999c471fccfdbdbaf1acd2f9c16f258e32c70511c475ab264173246ebf31459a05ecb4df443066b61a243903e80ff907af17a96d7afd9763df8f8c4fc49775bc805e2dc165bd6f1c4e06688521557ed9ddb6860fbed1e32957bea1174b3a9aa809d7fa6301fbbb6b3774cd856095f14c6378cfe98f05d4f06fae91769165dd0adfc51bf8f57d701ef14a99d608db0a104ea78fe5b13794cb8529afa5352d1dbc8235d96148c8f9c2e29d6e2359a8dbeba56c9376b26f8384c66548979f4d982fe0652cd86bb60e6f2463ec63dcdd5f93d4bfaefe48f8012c63b32ad3c02ec9088896f6a0c8b1097c1ad911ada7a2d6f0d201a28b70752182885464dd688535bdfc045e8dafbe34b20eca00848e757b4a37de219be5a5fe7a4bc5cfaad29ed92e9eda2bed08407e0d0f53caf6b3590210067d8b9ef16f9a8f5612315dfa415f1efc8d7349394143a149480ce3ccd60ccaff0d9a8a797820f41b431ce3afc4adb2e07cde16015087e09e08bd13471dee960db35cbc3b53c187a5bca7ed50017e09b2ae2c837b1f6557753c7f5b004332ffa2b52d8a2269e7cf9cc397c6079aa5add61d7a560a894e71510e104f52a93622e34037b1db70a05bcfc546ea2ec7153e69a8df18fa9eadaae2c1438710477a9a23e0f7092c310c5288e2d39d362a0a33f9e3d8d9792b51a71d9014abcff66ee509baa3dad341b1e4b6c601a2966f77172a4df0f32170f3386a6600b0b63699fe21e26eeb475507e99f666e0ac349b9e23463450f4fa4498356887d9e1c5f7d18ade51e526d27ccae799d6775336ca9ca8e54d707639ecb0618a3c675533494e2435c0b3780a66defddd217d2cc464014bef8a051d8f292abf9e5cafa78c600c21ed3d40ede937b1e162a1e14757d39d77d4fad8711b6b46ae707b82ced0739f9fb6bcd9b557982e89bb3af5f3fb5448ea960f454f4475ee78970acda37501a8825a04cecf3e544651eea8933379da3c3e7de0a875d689003c00d276470fda3b6ed6473cf8094ab91784d1c0f9468379e8e9729dc1032a5ca14378f8147409f13cd6994de961e2245b35c814596087625d3d3267fc0c1e5614a4af94993091ead40bc9e1d3093228b70c188855ae9e914b15aacfd4f83fde83072af92b2cc968c93cac74e15322eaff32a7bbbb982fb725aeb71f34bf16323d9c0a11dbaf3ab676a9cd1dcfc3f8a0c66d1f082f23806133002c50b59d4513dbe3419d5002263287ff47abdba0862341effe669f26b375337170c8e0742113e1063e8141c4aa9eb4970471f3187f581b71e6f7fe2f8043d065620da8a066d112fedeb33525eb1061c0d0fe9fb415bddae8ed2eb5c3ae6aa0549230e436afacaddc389b2c66499d7fdec2090e7e13560ca0a64803554c7cd9cfcc1cb48427cf9ccd954bb7446c887e2756db2882ff12eaa64efae3a24b35d1d0402922efe90319510495420301d3360f4486d3f87e3dc4f9337bf3fb4e3c6a82850a840153a1936e7cf74086757b72a8db19d33a62a29f3dd4fdef454d9222031aa0958af21851b66aebc09a5c08efd204f3ff18cb1055e8181d6630309fcc91c0d6daef19e618a3ee23e817a586d02364710cfab0b9f2cf18502a34e67d112f1730d44ccae54dc221d7f3877bb828e7109878109f8e95e2e1407df4e588801d25d9c2a1c501e74890631e9a92d823ebbe6b5635488f7d48788ef77658e3bbaf287536b37d3a7ab1ec1749656f2ebfe562765e71dd3e1b895d9b5c315fcf2b3a063c57e74ad1e7586b293ede4c77732f38d316c14210a121153fc50007f78ed64a8e207e9d04b312ae7f97a946c74d2a1181b67e845c3ac6e340b2428c8a5546679707fded3406fc221900b118a3279e13b74926c793e27fc4cc32ae478b4421d6eef75d3a273ff61d0e95b4981e8dd57e16bb00e09bfbbc2ce60cd844a9abb839b8b671fabddfd6e86a30c0a24e73c3c17770f34641951e5dc73ca11d8f8419a7407d483e0f5f1714df0a1775574b5500e8a5a28c655dbc28d7a1ca4b83fd4ebcc7ef2e4994c97c87659681acebe7417328c8612e8570e7ade7ead7f4fc711c9c539362779e6be525bdf5ec037f670b5235c06a1acd89b4ffc21668a7269cc73bf6d1399852eebb8b1dde8ef072e8d80832ba32c8e9480da2c4f5c3209c557f31beef41c00d22ee7c7e2c1bf9952ba8a03c1afae9b4aa63135d2b131f2b2804afcdcc762e1bcec8c8151f471572888933ce97dd787121ced446aa9718bf3766bb6d8a752692c59489d5b565e1693aa0f67b352f915808e415cba13a9864bbd33ebc97dfdc0d357d6769f2f545cc6529c0f634da901ae63bfcbab0a3896bc43faed6a6c23bb4e92f3d669d2e0ff485287cce322b98d02866f026cc556ec8aba6608ac2b5dbc29e104ef2e28d7b51ce63110025bdbfc5d44e8aa7a04ecece07b9860618a162e7289e8d672bb9b15b6ffc87f738b0c7a2b733c5794afe58b1beee4b6780ed453bf2ef2b584dcf32bf732c98fe359abced05fc115e531b088c61b0d5d5058af10120581d7db192e13a5b7b17874f000343aecc8d5005b91b13720bc831de5f1de5e3ddce27ba05213cd126a7cda0afa9745f498200269a5736f63b0faec36bbd646a868100c17cb7f6639f2f14b6c52198fab04c1645bed8763799acf8fef62b82fda1825a3379c000255002788d686695b4c17be3931e69db8980d0216024e9b7b0588cdf8c8102d11f55f971b3163c392cfaa796e0b85dd0bbacd6ca50b3ab80c2e90fa0c18d3526e05b2a46c2eab823c0511b43c71122d533e27ee6d6e34706fc411c67a3b87440a3429df3009996743ed3e4dc244fac98a789f17818a926a0aae81ecde260982b80acc299f57a570a86ee28d0414edc91fb6d5f9a88aeb31bf22270bf3517aefe1140b05be97123cc43df6e8e8e4df96803fdd59715c87afcf0189fb5448663eb35d2c4e5b13dd0233a95f8d6187bf0d5d3ba35adba59e162e877d5a0397d9495ebfc771ae68283be15d883e91b81b1bb0cd8da6c300df7e2bc8a21094cadc974c8270d8ee37fc7e7501a57eaecbc244ed61cfc8d556e38c0611a5269c3b930ee5f37a9771f0c152a5e28df07a104360c973b9a83d3ec5c0aa012bff141842e9b68222647c7d022753dbaae024877f421ff36b3721c26a39b3009683c8c510ba0ba8b5dc1033f9b56e9a43b3141a92599378622a2ca8136f5f1f51cf7b7dce7d043f65f8562b33c4864adc30e7d4c808b10abbbd92f94272b68b063f7d7baf7fd6eb31cc76690042233bc8dee7253f89ce23de7a535af022dae95ac321694d6ce311744d9c152e4424a0a502d221b2e602ada71c60a2f15b7086d75867476b0633063297681fbb0a3e154efe552cdbd9d3203f2e447b60b643b823ea12f504f33f6b6c3bd20e54cf38e3c45c5d472814db60741687894e6cc3c78196d5e722499d202334fb742f14dc2ccb7d114ae0c4cd61ce2ed0cc7fe25a395d6b73c1dfee9174e59d129e7f3c42f93a246d918028d4e2dc804438799 ").unwrap(); - let signature = manager.sign_transaction(&address, &huge_tx); + let signature = ledger.sign_transaction(&address, &huge_tx); println!("Got {:?}", signature); assert!(signature.is_ok()); } diff --git a/accounts/hw/src/lib.rs b/accounts/hw/src/lib.rs index 98e682a305b..cd0bef88101 100644 --- a/accounts/hw/src/lib.rs +++ b/accounts/hw/src/lib.rs @@ -34,15 +34,18 @@ extern crate trezor_sys; mod ledger; mod trezor; -use std::sync::{Arc, atomic, atomic::AtomicBool}; +use std::sync::{Arc, atomic, atomic::AtomicBool, Weak}; use std::{fmt, time::Duration}; +use std::thread; use ethereum_types::U256; use ethkey::{Address, Signature}; use parking_lot::Mutex; -const USB_DEVICE_CLASS_DEVICE: u8 = 0; -const POLLING_DURATION: Duration = Duration::from_millis(500); +const HID_GLOBAL_USAGE_PAGE: u16 = 0xFF00; +const HID_USB_DEVICE_CLASS: u8 = 0; +const MAX_POLLING_DURATION: Duration = Duration::from_millis(500); +const USB_EVENT_POLLING_INTERVAL: Duration = Duration::from_millis(500); /// `HardwareWallet` device #[derive(Debug)] @@ -60,7 +63,7 @@ pub trait Wallet<'a> { /// Sign transaction data with wallet managing `address`. fn sign_transaction(&self, address: &Address, transaction: Self::Transaction) -> Result; - + /// Set key derivation path for a chain. fn set_key_path(&self, key_path: KeyPath); @@ -189,7 +192,7 @@ impl From for Error { } /// Specifies the direction of the `HardwareWallet` i.e, whether it arrived or left -#[derive(Debug, Copy, Clone)] +#[derive(Debug, Copy, Clone, PartialEq)] pub enum DeviceDirection { /// Device arrived Arrived, @@ -218,13 +221,47 @@ impl HardwareWalletManager { pub fn new() -> Result { let exiting = Arc::new(AtomicBool::new(false)); let hidapi = Arc::new(Mutex::new(hidapi::HidApi::new().map_err(|e| Error::Hid(e.to_string().clone()))?)); - let ledger = ledger::Manager::new(hidapi.clone(), exiting.clone())?; - let trezor = trezor::Manager::new(hidapi.clone(), exiting.clone())?; + let ledger = ledger::Manager::new(hidapi.clone()); + let trezor = trezor::Manager::new(hidapi.clone()); + let usb_context = Arc::new(libusb::Context::new()?); + + let l = ledger.clone(); + let t = trezor.clone(); + let exit = exiting.clone(); + + // Subscribe to all vendor IDs (VIDs) and product IDs (PIDs) + // This means that the `HardwareWalletManager` is responsible to validate the detected device + usb_context.register_callback( + None, None, Some(HID_USB_DEVICE_CLASS), + Box::new(EventHandler::new( + Arc::downgrade(&ledger), + Arc::downgrade(&trezor) + )) + )?; + + // Hardware event subscriber thread + thread::Builder::new() + .name("hw_wallet_manager".to_string()) + .spawn(move || { + if let Err(e) = l.update_devices(DeviceDirection::Arrived) { + debug!(target: "hw", "Ledger couldn't connect at startup, error: {}", e); + } + if let Err(e) = t.update_devices(DeviceDirection::Arrived) { + debug!(target: "hw", "Trezor couldn't connect at startup, error: {}", e); + } + + while !exit.load(atomic::Ordering::Acquire) { + if let Err(e) = usb_context.handle_events(Some(USB_EVENT_POLLING_INTERVAL)) { + debug!(target: "hw", "HardwareWalletManager event handler error: {}", e); + } + } + }) + .ok(); Ok(Self { exiting, - ledger, trezor, + ledger, }) } @@ -292,10 +329,74 @@ impl HardwareWalletManager { impl Drop for HardwareWalletManager { fn drop(&mut self) { - // Indicate to the USB Hotplug handlers that they - // shall terminate but don't wait for them to terminate. - // If they don't terminate for some reason USB Hotplug events will be handled + // Indicate to the USB Hotplug handler that it + // shall terminate but don't wait for it to terminate. + // If it doesn't terminate for some reason USB Hotplug events will be handled // even if the HardwareWalletManger has been dropped self.exiting.store(true, atomic::Ordering::Release); } } + +/// Hardware wallet event handler +/// +/// Note, that this runs to completion and race-conditions can't occur but it can +/// stop other events for being processed with an infinite loop or similar +struct EventHandler { + ledger: Weak, + trezor: Weak, +} + +impl EventHandler { + /// Trezor event handler constructor + pub fn new(ledger: Weak, trezor: Weak) -> Self { + Self { ledger, trezor } + } + + fn extract_device_info(device: &libusb::Device) -> Result<(u16, u16), Error> { + let desc = device.device_descriptor()?; + Ok((desc.vendor_id(), desc.product_id())) + } +} + +impl libusb::Hotplug for EventHandler { + fn device_arrived(&mut self, device: libusb::Device) { + // Upgrade reference to an Arc + if let (Some(ledger), Some(trezor)) = (self.ledger.upgrade(), self.trezor.upgrade()) { + // Version ID and Product ID are available + if let Ok((vid, pid)) = Self::extract_device_info(&device) { + if trezor::is_valid_trezor(vid, pid) { + if !trezor::try_connect_polling(&trezor, &MAX_POLLING_DURATION, DeviceDirection::Arrived) { + trace!(target: "hw", "Trezor device was detected but connection failed"); + } + } else if ledger::is_valid_ledger(vid, pid) { + if !ledger::try_connect_polling(&ledger, &MAX_POLLING_DURATION, DeviceDirection::Arrived) { + trace!(target: "hw", "Ledger device was detected but connection failed"); + } + } + } + } + } + + fn device_left(&mut self, device: libusb::Device) { + // Upgrade reference to an Arc + if let (Some(ledger), Some(trezor)) = (self.ledger.upgrade(), self.trezor.upgrade()) { + // Version ID and Product ID are available + if let Ok((vid, pid)) = Self::extract_device_info(&device) { + if trezor::is_valid_trezor(vid, pid) { + if !trezor::try_connect_polling(&trezor, &MAX_POLLING_DURATION, DeviceDirection::Left) { + trace!(target: "hw", "Trezor device was detected but disconnection failed"); + } + } else if ledger::is_valid_ledger(vid, pid) { + if !ledger::try_connect_polling(&ledger, &MAX_POLLING_DURATION, DeviceDirection::Left) { + trace!(target: "hw", "Ledger device was detected but disconnection failed"); + } + } + } + } + } +} + +/// Helper to determine if a device is a valid HID +pub fn is_valid_hid_device(usage_page: u16, interface_number: i32) -> bool { + usage_page == HID_GLOBAL_USAGE_PAGE || interface_number == HID_USB_DEVICE_CLASS as i32 +} diff --git a/accounts/hw/src/trezor.rs b/accounts/hw/src/trezor.rs index efd259d7806..9b14974fe13 100644 --- a/accounts/hw/src/trezor.rs +++ b/accounts/hw/src/trezor.rs @@ -20,9 +20,9 @@ //! for protocol details. use std::cmp::{min, max}; -use std::sync::{atomic, atomic::AtomicBool, Arc, Weak}; +use std::sync::Arc; use std::time::{Duration, Instant}; -use std::{fmt, thread}; +use std::fmt; use ethereum_types::{U256, H256, Address}; use ethkey::Signature; @@ -30,7 +30,7 @@ use hidapi; use libusb; use parking_lot::{Mutex, RwLock}; use protobuf::{self, Message, ProtobufEnum}; -use super::{DeviceDirection, WalletInfo, TransactionInfo, KeyPath, Wallet, Device, USB_DEVICE_CLASS_DEVICE, POLLING_DURATION}; +use super::{DeviceDirection, WalletInfo, TransactionInfo, KeyPath, Wallet, Device, is_valid_hid_device}; use trezor_sys::messages::{EthereumAddress, PinMatrixAck, MessageType, EthereumTxRequest, EthereumSignTx, EthereumGetAddress, EthereumTxAck, ButtonAck}; /// Trezor v1 vendor ID @@ -48,6 +48,8 @@ pub enum Error { Protocol(&'static str), /// Hidapi error. Usb(hidapi::HidError), + /// Libusb error + LibUsb(libusb::Error), /// Device with request key is not available. KeyNotFound, /// Signing has been cancelled by user. @@ -62,6 +64,8 @@ pub enum Error { NoDeviceArrived, /// No device left NoDeviceLeft, + /// Invalid PID or VID + InvalidDevice, } impl fmt::Display for Error { @@ -69,13 +73,15 @@ impl fmt::Display for Error { match *self { Error::Protocol(ref s) => write!(f, "Trezor protocol error: {}", s), Error::Usb(ref e) => write!(f, "USB communication error: {}", e), + Error::LibUsb(ref e) => write!(f, "LibUSB communication error: {}", e), Error::KeyNotFound => write!(f, "Key not found"), Error::UserCancel => write!(f, "Operation has been cancelled"), Error::BadMessageType => write!(f, "Bad Message Type in RPC call"), Error::LockedDevice(ref s) => write!(f, "Device is locked, needs PIN to perform operations: {}", s), Error::NoSigningMessage=> write!(f, "Signing messages are not supported by Trezor"), Error::NoDeviceArrived => write!(f, "No device arrived"), - Error::NoDeviceLeft=> write!(f, "No device left"), + Error::NoDeviceLeft => write!(f, "No device left"), + Error::InvalidDevice => write!(f, "Device with non-supported product ID or vendor ID was detected"), } } } @@ -86,6 +92,12 @@ impl From for Error { } } +impl From for Error { + fn from(err: libusb::Error) -> Self { + Error::LibUsb(err) + } +} + impl From for Error { fn from(_: protobuf::ProtobufError) -> Self { Error::Protocol(&"Could not read response from Trezor Device") @@ -93,7 +105,7 @@ impl From for Error { } /// Trezor device manager -pub (crate) struct Manager { +pub struct Manager { usb: Arc>, devices: RwLock>, locked_devices: RwLock>, @@ -108,42 +120,13 @@ enum HidVersion { impl Manager { /// Create a new instance. - pub fn new(hidapi: Arc>, exiting: Arc) -> Result, libusb::Error> { - let manager = Arc::new(Self { - usb: hidapi, + pub fn new(usb: Arc>) -> Arc { + Arc::new(Self { + usb, devices: RwLock::new(Vec::new()), locked_devices: RwLock::new(Vec::new()), key_path: RwLock::new(KeyPath::Ethereum), - }); - - let usb_context = Arc::new(libusb::Context::new()?); - let m = manager.clone(); - - // Subscribe to TREZOR V1 - // Note, this support only TREZOR V1 because TREZOR V2 has a different vendorID for some reason - // Also, we now only support one product as the second argument specifies - usb_context.register_callback( - Some(TREZOR_VID), Some(TREZOR_PIDS[0]), Some(USB_DEVICE_CLASS_DEVICE), - Box::new(EventHandler::new(Arc::downgrade(&manager))))?; - - // Trezor event thread - thread::Builder::new() - .name("hw_wallet_trezor".to_string()) - .spawn(move || { - if let Err(e) = m.update_devices(DeviceDirection::Arrived) { - debug!(target: "hw", "Trezor couldn't connect at startup, error: {}", e); - } - loop { - usb_context.handle_events(Some(Duration::from_millis(500))) - .unwrap_or_else(|e| debug!(target: "hw", "Trezor event handler error: {}", e)); - if exiting.load(atomic::Ordering::Acquire) { - break; - } - } - }) - .ok(); - - Ok(manager) + }) } pub fn pin_matrix_ack(&self, device_path: &str, pin: &str) -> Result { @@ -153,7 +136,7 @@ impl Manager { let t = MessageType::MessageType_PinMatrixAck; let mut m = PinMatrixAck::new(); m.set_pin(pin.to_string()); - self.send_device_message(&device, &t, &m)?; + self.send_device_message(&device, t, &m)?; let (resp_type, _) = self.read_device_response(&device)?; match resp_type { // Getting an Address back means it's unlocked, this is undocumented behavior @@ -178,7 +161,7 @@ impl Manager { match resp_type { MessageType::MessageType_Cancel => Err(Error::UserCancel), MessageType::MessageType_ButtonRequest => { - self.send_device_message(handle, &MessageType::MessageType_ButtonAck, &ButtonAck::new())?; + self.send_device_message(handle, MessageType::MessageType_ButtonAck, &ButtonAck::new())?; // Signing loop goes back to the top and reading blocks // for up to 5 minutes waiting for response from the device // if the user doesn't click any button within 5 minutes you @@ -191,7 +174,7 @@ impl Manager { let mut msg = EthereumTxAck::new(); let len = resp.get_data_length() as usize; msg.set_data_chunk(data[..len].to_vec()); - self.send_device_message(handle, &MessageType::MessageType_EthereumTxAck, &msg)?; + self.send_device_message(handle, MessageType::MessageType_EthereumTxAck, &msg)?; self.signing_loop(handle, chain_id, &data[len..]) } else { let v = resp.get_signature_v(); @@ -216,8 +199,8 @@ impl Manager { } } - fn send_device_message(&self, device: &hidapi::HidDevice, msg_type: &MessageType, msg: &Message) -> Result { - let msg_id = *msg_type as u16; + fn send_device_message(&self, device: &hidapi::HidDevice, msg_type: MessageType, msg: &Message) -> Result { + let msg_id = msg_type as u16; let mut message = msg.write_to_bytes()?; let msg_size = message.len(); let mut data = Vec::new(); @@ -284,7 +267,7 @@ impl Manager { } } -impl <'a>Wallet<'a> for Manager { +impl<'a> Wallet<'a> for Manager { type Error = Error; type Transaction = &'a TransactionInfo; @@ -316,7 +299,7 @@ impl <'a>Wallet<'a> for Manager { message.set_chain_id(c_id as u32); } - self.send_device_message(&handle, &msg_type, &message)?; + self.send_device_message(&handle, msg_type, &message)?; self.signing_loop(&handle, &t_info.chain_id, &t_info.data[first_chunk_length..]) } @@ -332,13 +315,9 @@ impl <'a>Wallet<'a> for Manager { let num_prev_devices = self.devices.read().len(); let detected_devices = devices.iter() - .filter(|&d| { - let is_trezor = d.vendor_id == TREZOR_VID; - let is_supported_product = TREZOR_PIDS.contains(&d.product_id); - let is_valid = d.usage_page == 0xFF00 || d.interface_number == 0; - - is_trezor && is_supported_product && is_valid - }) + .filter(|&d| is_valid_trezor(d.vendor_id, d.product_id) && + is_valid_hid_device(d.usage_page, d.interface_number) + ) .fold(Vec::new(), |mut v, d| { match self.read_device(&usb, &d) { Ok(info) => { @@ -349,7 +328,7 @@ impl <'a>Wallet<'a> for Manager { }; v }); - + let num_curr_devices = detected_devices.len(); *self.devices.write() = detected_devices; @@ -363,7 +342,7 @@ impl <'a>Wallet<'a> for Manager { } DeviceDirection::Left => { if num_prev_devices > num_curr_devices { - Ok(num_prev_devices- num_curr_devices) + Ok(num_prev_devices - num_curr_devices) } else { Err(Error::NoDeviceLeft) } @@ -413,7 +392,7 @@ impl <'a>Wallet<'a> for Manager { KeyPath::EthereumClassic => message.set_address_n(ETC_DERIVATION_PATH.to_vec()), } message.set_show_display(false); - self.send_device_message(&device, &typ, &message)?; + self.send_device_message(&device, typ, &message)?; let (resp_type, bytes) = self.read_device_response(&device)?; match resp_type { @@ -432,8 +411,9 @@ impl <'a>Wallet<'a> for Manager { } } -// Try to connect to the device using polling in at most the time specified by the `timeout` -fn try_connect_polling(trezor: &Manager, duration: &Duration, dir: DeviceDirection) -> bool { + +/// Poll the device in maximum `max_polling_duration` if it doesn't succeed +pub fn try_connect_polling(trezor: &Manager, duration: &Duration, dir: DeviceDirection) -> bool { let start_time = Instant::now(); while start_time.elapsed() <= *duration { if let Ok(num_devices) = trezor.update_devices(dir) { @@ -444,73 +424,43 @@ fn try_connect_polling(trezor: &Manager, duration: &Duration, dir: DeviceDirecti false } -/// Trezor event handler -/// A separate thread is handling incoming events -/// -/// Note, that this run to completion and race-conditions can't occur but this can -/// therefore starve other events for being process with a spinlock or similar -struct EventHandler { - trezor: Weak, -} - -impl EventHandler { - /// Trezor event handler constructor - pub fn new(trezor: Weak) -> Self { - Self { trezor } - } +/// Check if the detected device is a Trezor device by checking both the product ID and the vendor ID +pub fn is_valid_trezor(vid: u16, pid: u16) -> bool { + vid == TREZOR_VID && TREZOR_PIDS.contains(&pid) } -impl libusb::Hotplug for EventHandler { - fn device_arrived(&mut self, _device: libusb::Device) { - debug!(target: "hw", "Trezor V1 arrived"); - if let Some(trezor) = self.trezor.upgrade() { - if try_connect_polling(&trezor, &POLLING_DURATION, DeviceDirection::Arrived) != true { - trace!(target: "hw", "No Trezor connected"); - } - } - } - fn device_left(&mut self, _device: libusb::Device) { - debug!(target: "hw", "Trezor V1 left"); - if let Some(trezor) = self.trezor.upgrade() { - if try_connect_polling(&trezor, &POLLING_DURATION, DeviceDirection::Left) != true { - trace!(target: "hw", "No Trezor disconnected"); - } - } - } -} #[test] #[ignore] /// This test can't be run without an actual trezor device connected /// (and unlocked) attached to the machine that's running the test fn test_signature() { - use ethereum_types::{H160, H256, U256}; + use ethereum_types::Address; + use MAX_POLLING_DURATION; + use super::HardwareWalletManager; - let manager = Manager::new( - Arc::new(Mutex::new(hidapi::HidApi::new().expect("HidApi"))), - Arc::new(AtomicBool::new(false)) - ).expect("HardwareWalletManager"); - - let addr: Address = H160::from("some_addr"); + let manager = HardwareWalletManager::new().unwrap(); - assert_eq!(try_connect_polling(&manager.clone(), &POLLING_DURATION, DeviceDirection::Arrived), true); + assert_eq!(try_connect_polling(&manager.trezor, &MAX_POLLING_DURATION, DeviceDirection::Arrived), true); + + let addr: Address = manager.list_wallets() + .iter() + .filter(|d| d.name == "TREZOR".to_string() && d.manufacturer == "SatoshiLabs".to_string()) + .nth(0) + .map(|d| d.address) + .unwrap(); let t_info = TransactionInfo { nonce: U256::from(1), gas_price: U256::from(100), gas_limit: U256::from(21_000), - to: Some(H160::from("some_other_addr")), - chain_id: Some(17), + to: Some(Address::from(1337)), + chain_id: Some(1), value: U256::from(1_000_000), data: (&[1u8; 3000]).to_vec(), }; - let signature = manager.sign_transaction(&addr, &t_info).unwrap(); - let expected = Signature::from_rsv( - &H256::from("device_specific_r"), - &H256::from("device_specific_s"), - 0x01 - ); - - assert_eq!(signature, expected) + + let signature = manager.trezor.sign_transaction(&addr, &t_info); + assert!(signature.is_ok()); } From b4f8bba8430b0f9e050cdac425b632b30f0f331c Mon Sep 17 00:00:00 2001 From: Niklas Adolfsson Date: Wed, 2 Jan 2019 16:49:01 +0100 Subject: [PATCH 04/68] parity-clib: `async C bindings to RPC requests` + `subscribe/unsubscribe to websocket events` (#9920) * feat(parity-clib asynchronous rpc queries) * feat(seperate bindings for ws and rpc) * Subscribing to websockets for the full-client works * feat(c binding unsubscribe_from_websocket) * fix(tests): tweak CMake build config * Enforce C+11 * refactor(parity-cpp-example) : `cpp:ify` * fix(typedefs) : revert typedefs parity-clib * docs(nits) * fix(simplify websocket_unsubscribe) * refactor(cpp example) : more subscriptions * fix(callback type) : address grumbles on callback * Use it the example to avoid using global variables * docs(nits) - don't mention `arc` * fix(jni bindings): fix compile errors * feat(java example and updated java bindings) * fix(java example) : run both full and light client * fix(Java shutdown) : unsubscribe to sessions Forgot to pass the JNIEnv environment since it is an instance method * feat(return valid JString) * Remove Java dependency by constructing a valid Java String in the callback * fix(logger) : remove `rpc` trace log * fix(format) * fix(parity-clib): remove needless callback `type` * fix(parity-clib-examples) : update examples * `cpp` example pass in a struct instead to determines `callback kind` * `java` add a instance variable the class `Callback` to determine `callback kind` * fix(review comments): docs and format * Update parity-clib/src/java.rs Co-Authored-By: niklasad1 * fix(bad merge + spelling) * fix(move examples to parity-clib/examples) --- Cargo.lock | 3 + parity-clib/Cargo.toml | 5 +- parity-clib/Parity.java | 103 +++++---- parity-clib/examples/cpp/CMakeLists.txt | 5 +- parity-clib/examples/cpp/main.cpp | 197 ++++++++++++++--- parity-clib/examples/java/Main.java | 109 +++++++++ parity-clib/examples/java/README.md | 9 + parity-clib/examples/java/run.sh | 15 ++ parity-clib/parity.h | 47 +++- parity-clib/src/java.rs | 211 ++++++++++++++++++ parity-clib/src/lib.rs | 280 +++++++++++++----------- parity/lib.rs | 1 + parity/run.rs | 21 +- rpc/src/lib.rs | 1 + 14 files changed, 771 insertions(+), 236 deletions(-) create mode 100644 parity-clib/examples/java/Main.java create mode 100644 parity-clib/examples/java/README.md create mode 100755 parity-clib/examples/java/run.sh create mode 100644 parity-clib/src/java.rs diff --git a/Cargo.lock b/Cargo.lock index 47763e75121..0f5c445e289 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2328,9 +2328,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index" name = "parity-clib" version = "1.12.0" dependencies = [ + "futures 0.1.25 (registry+https://github.com/rust-lang/crates.io-index)", "jni 0.10.2 (registry+https://github.com/rust-lang/crates.io-index)", "panic_hook 0.1.0", "parity-ethereum 2.3.0", + "tokio 0.1.11 (registry+https://github.com/rust-lang/crates.io-index)", + "tokio-current-thread 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] diff --git a/parity-clib/Cargo.toml b/parity-clib/Cargo.toml index 5397225eab2..b3635c6e08f 100644 --- a/parity-clib/Cargo.toml +++ b/parity-clib/Cargo.toml @@ -10,9 +10,12 @@ name = "parity" crate-type = ["cdylib", "staticlib"] [dependencies] +futures = "0.1.6" +jni = { version = "0.10.1", optional = true } panic_hook = { path = "../util/panic-hook" } parity-ethereum = { path = "../", default-features = false } -jni = { version = "0.10.1", optional = true } +tokio = "0.1.11" +tokio-current-thread = "0.1.3" [features] default = [] diff --git a/parity-clib/Parity.java b/parity-clib/Parity.java index 7e70917ae36..37a6722b781 100644 --- a/parity-clib/Parity.java +++ b/parity-clib/Parity.java @@ -20,44 +20,67 @@ * Interface to the Parity client. */ public class Parity { - /** - * Starts the Parity client with the CLI options passed as an array of strings. - * - * Each space-delimited option corresponds to an array entry. - * For example: `["--port", "12345"]` - * - * @param options The CLI options to start Parity with - */ - public Parity(String[] options) { - long config = configFromCli(options); - inner = build(config); - } - - /** Performs a synchronous RPC query. - * - * Note that this will block the current thread until the query is finished. You are - * encouraged to create a background thread if you don't want to block. - * - * @param query The JSON-encoded RPC query to perform - * @return A JSON-encoded result - */ - public String rpcQuery(String query) { - return rpcQueryNative(inner, query); - } - - @Override - protected void finalize​() { - destroy(inner); - } - - static { - System.loadLibrary("parity"); - } - - private static native long configFromCli(String[] cliOptions); - private static native long build(long config); - private static native void destroy(long inner); - private static native String rpcQueryNative(long inner, String rpc); - - private long inner; + /** + * Starts the Parity client with the CLI options passed as an array of strings. + * + * Each space-delimited option corresponds to an array entry. + * For example: `["--port", "12345"]` + * + * @param options The CLI options to start Parity with + */ + public Parity(String[] options) { + long config = configFromCli(options); + inner = build(config); + } + + /** Performs an asynchronous RPC query by spawning a background thread that is executed until + * either a response is received or the timeout has been expired. + * + * @param query The JSON-encoded RPC query to perform + * @param timeoutMillis The maximum time in milliseconds that the query will run + * @param callback An instance of class which must have a instance method named `callback` that will be + * invoke when the result is ready + */ + public void rpcQuery(String query, long timeoutMillis, Object callback) { + rpcQueryNative(inner, query, timeoutMillis, callback); + } + + /** Subscribes to a specific WebSocket event that will run in a background thread until it is canceled. + * + * @param query The JSON-encoded RPC query to perform + * @param callback An instance of class which must have a instance method named `callback` that will be invoked + * when the result is ready + * + * @return A pointer to the current sessions which can be used to terminate the session later + */ + public long subscribeWebSocket(String query, Object callback) { + return subscribeWebSocketNative(inner, query, callback); + } + + /** Unsubscribes to a specific WebSocket event + * + * @param session Pointer the the session to terminate + */ + public void unsubscribeWebSocket(long session) { + unsubscribeWebSocketNative(session); + } + + // FIXME: `finalize` is deprecated - https://github.com/paritytech/parity-ethereum/issues/10066 + @Override + protected void finalize​() { + destroy(inner); + } + + static { + System.loadLibrary("parity"); + } + + private static native long configFromCli(String[] cliOptions); + private static native long build(long config); + private static native void destroy(long inner); + private static native void rpcQueryNative(long inner, String rpc, long timeoutMillis, Object callback); + private static native long subscribeWebSocketNative(long inner, String rpc, Object callback); + private static native void unsubscribeWebSocketNative(long session); + + private long inner; } diff --git a/parity-clib/examples/cpp/CMakeLists.txt b/parity-clib/examples/cpp/CMakeLists.txt index 69b58c211a1..d3aaf457b3b 100644 --- a/parity-clib/examples/cpp/CMakeLists.txt +++ b/parity-clib/examples/cpp/CMakeLists.txt @@ -1,8 +1,7 @@ cmake_minimum_required(VERSION 3.5) include(ExternalProject) - -include_directories("${CMAKE_SOURCE_DIR}/../../../parity-clib") - +include_directories("${CMAKE_SOURCE_DIR}/../..") +set (CMAKE_CXX_STANDARD 11) # Enfore C++11 add_executable(parity-example main.cpp) ExternalProject_Add( diff --git a/parity-clib/examples/cpp/main.cpp b/parity-clib/examples/cpp/main.cpp index c5e83d06492..aab05c9066c 100644 --- a/parity-clib/examples/cpp/main.cpp +++ b/parity-clib/examples/cpp/main.cpp @@ -14,44 +14,169 @@ // You should have received a copy of the GNU General Public License // along with Parity. If not, see . -#include -#include -#include -#include -#include +#include #include +#include +#include +#include -void on_restart(void*, const char*, size_t) {} +void* parity_run(std::vector); +int parity_subscribe_to_websocket(void*); +int parity_rpc_queries(void*); + +const int SUBSCRIPTION_ID_LEN = 18; +const size_t TIMEOUT_ONE_MIN_AS_MILLIS = 60 * 1000; +const unsigned int CALLBACK_RPC = 1; +const unsigned int CALLBACK_WS = 2; + +struct Callback { + unsigned int type; + long unsigned int counter; +}; + +// list of rpc queries +const std::vector rpc_queries { + "{\"method\":\"parity_versionInfo\",\"params\":[],\"id\":1,\"jsonrpc\":\"2.0\"}", + "{\"method\":\"eth_getTransactionReceipt\",\"params\":[\"0x444172bef57ad978655171a8af2cfd89baa02a97fcb773067aef7794d6913fff\"],\"id\":1,\"jsonrpc\":\"2.0\"}", + "{\"method\":\"eth_estimateGas\",\"params\":[{\"from\":\"0x0066Dc48bb833d2B59f730F33952B3c29fE926F5\"}],\"id\":1,\"jsonrpc\":\"2.0\"}", + "{\"method\":\"eth_getBalance\",\"params\":[\"0x0066Dc48bb833d2B59f730F33952B3c29fE926F5\"],\"id\":1,\"jsonrpc\":\"2.0\"}" +}; + +// list of subscriptions +const std::vector ws_subscriptions { + "{\"method\":\"parity_subscribe\",\"params\":[\"eth_getBalance\",[\"0xcd2a3d9f938e13cd947ec05abc7fe734df8dd826\",\"latest\"]],\"id\":1,\"jsonrpc\":\"2.0\"}", + "{\"method\":\"parity_subscribe\",\"params\":[\"parity_netPeers\"],\"id\":1,\"jsonrpc\":\"2.0\"}", + "{\"method\":\"eth_subscribe\",\"params\":[\"newHeads\"],\"id\":1,\"jsonrpc\":\"2.0\"}" +}; + +// callback that gets invoked upon an event +void callback(void* user_data, const char* response, size_t _len) { + Callback* cb = static_cast(user_data); + if (cb->type == CALLBACK_RPC) { + printf("rpc response: %s\r\n", response); + cb->counter -= 1; + } else if (cb->type == CALLBACK_WS) { + printf("websocket response: %s\r\n", response); + std::regex is_subscription ("\\{\"jsonrpc\":\"2.0\",\"result\":\"0[xX][a-fA-F0-9]{16}\",\"id\":1\\}"); + if (std::regex_match(response, is_subscription) == true) { + cb->counter -= 1; + } + } +} int main() { - ParityParams cfg = { 0 }; - cfg.on_client_restart_cb = on_restart; - - const char* args[] = {"--no-ipc"}; - size_t str_lens[] = {8}; - if (parity_config_from_cli(args, str_lens, 1, &cfg.configuration) != 0) { - return 1; - } - - void* parity; - if (parity_start(&cfg, &parity) != 0) { - return 1; - } - - const char* rpc = "{\"method\":\"parity_versionInfo\",\"params\":[],\"id\":1,\"jsonrpc\":\"2.0\"}"; - size_t out_len = 256; - char* out = (char*)malloc(out_len + 1); - if (parity_rpc(parity, rpc, strlen(rpc), out, &out_len)) { - return 1; - } - out[out_len] = '\0'; - printf("RPC output: %s", out); - free(out); - - sleep(5); - if (parity != NULL) { - parity_destroy(parity); - } - - return 0; + // run full-client + { + std::vector config = {"--no-ipc" , "--jsonrpc-apis=all", "--chain", "kovan"}; + void* parity = parity_run(config); + if (parity_rpc_queries(parity)) { + printf("rpc_queries failed\r\n"); + return 1; + } + + if (parity_subscribe_to_websocket(parity)) { + printf("ws_queries failed\r\n"); + return 1; + } + + if (parity != nullptr) { + parity_destroy(parity); + } + } + + // run light-client + { + std::vector light_config = {"--no-ipc", "--light", "--jsonrpc-apis=all", "--chain", "kovan"}; + void* parity = parity_run(light_config); + + if (parity_rpc_queries(parity)) { + printf("rpc_queries failed\r\n"); + return 1; + } + + if (parity_subscribe_to_websocket(parity)) { + printf("ws_queries failed\r\n"); + return 1; + } + + if (parity != nullptr) { + parity_destroy(parity); + } + } + return 0; +} + +int parity_rpc_queries(void* parity) { + if (!parity) { + return 1; + } + + Callback cb { .type = CALLBACK_RPC, .counter = rpc_queries.size() }; + + for (auto query : rpc_queries) { + if (parity_rpc(parity, query.c_str(), query.length(), TIMEOUT_ONE_MIN_AS_MILLIS, callback, &cb) != 0) { + return 1; + } + } + + while(cb.counter != 0); + return 0; +} + + +int parity_subscribe_to_websocket(void* parity) { + if (!parity) { + return 1; + } + + std::vector sessions; + + Callback cb { .type = CALLBACK_WS, .counter = ws_subscriptions.size() }; + + for (auto sub : ws_subscriptions) { + void *const session = parity_subscribe_ws(parity, sub.c_str(), sub.length(), callback, &cb); + if (!session) { + return 1; + } + sessions.push_back(session); + } + + while(cb.counter != 0); + std::this_thread::sleep_for(std::chrono::seconds(60)); + for (auto session : sessions) { + parity_unsubscribe_ws(session); + } + return 0; +} + +void* parity_run(std::vector args) { + ParityParams cfg = { + .configuration = nullptr, + .on_client_restart_cb = callback, + .on_client_restart_cb_custom = nullptr + }; + + std::vector str_lens; + + for (auto arg: args) { + str_lens.push_back(std::strlen(arg)); + } + + // make sure no out-of-range access happens here + if (args.empty()) { + if (parity_config_from_cli(nullptr, nullptr, 0, &cfg.configuration) != 0) { + return nullptr; + } + } else { + if (parity_config_from_cli(&args[0], &str_lens[0], args.size(), &cfg.configuration) != 0) { + return nullptr; + } + } + + void *parity = nullptr; + if (parity_start(&cfg, &parity) != 0) { + return nullptr; + } + + return parity; } diff --git a/parity-clib/examples/java/Main.java b/parity-clib/examples/java/Main.java new file mode 100644 index 00000000000..88189af1c53 --- /dev/null +++ b/parity-clib/examples/java/Main.java @@ -0,0 +1,109 @@ +// Copyright 2018 Parity Technologies (UK) Ltd. +// This file is part of Parity. + +// Parity is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. + +// Parity is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. + +// You should have received a copy of the GNU General Public License +// along with Parity. If not, see . + +import java.util.Vector; +import java.util.concurrent.atomic.AtomicInteger; +import io.parity.ethereum.Parity; + +class Main { + public static final int ONE_MINUTE_AS_MILLIS = 60 * 1000; + + public static final String[] rpc_queries = { + "{\"method\":\"parity_versionInfo\",\"params\":[],\"id\":1,\"jsonrpc\":\"2.0\"}", + "{\"method\":\"eth_getTransactionReceipt\",\"params\":[\"0x444172bef57ad978655171a8af2cfd89baa02a97fcb773067aef7794d6913fff\"],\"id\":1,\"jsonrpc\":\"2.0\"}", + "{\"method\":\"eth_estimateGas\",\"params\":[{\"from\":\"0x0066Dc48bb833d2B59f730F33952B3c29fE926F5\"}],\"id\":1,\"jsonrpc\":\"2.0\"}", + "{\"method\":\"eth_getBalance\",\"params\":[\"0x0066Dc48bb833d2B59f730F33952B3c29fE926F5\"],\"id\":1,\"jsonrpc\":\"2.0\"}" + }; + + public static final String[] ws_queries = { + "{\"method\":\"parity_subscribe\",\"params\":[\"eth_getBalance\",[\"0xcd2a3d9f938e13cd947ec05abc7fe734df8dd826\",\"latest\"]],\"id\":1,\"jsonrpc\":\"2.0\"}", + "{\"method\":\"parity_subscribe\",\"params\":[\"parity_netPeers\"],\"id\":1,\"jsonrpc\":\"2.0\"}", + "{\"method\":\"eth_subscribe\",\"params\":[\"newHeads\"],\"id\":1,\"jsonrpc\":\"2.0\"}" + }; + + public static void runParity(String[] config) { + Parity parity = new Parity(config); + + Callback rpcCallback = new Callback(1); + Callback webSocketCallback = new Callback(2); + + for (String query : rpc_queries) { + parity.rpcQuery(query, ONE_MINUTE_AS_MILLIS, rpcCallback); + } + + while (rpcCallback.getNumCallbacks() != 4); + + Vector sessions = new Vector(); + + for (String ws : ws_queries) { + long session = parity.subscribeWebSocket(ws, webSocketCallback); + sessions.add(session); + } + + try { + Thread.sleep(ONE_MINUTE_AS_MILLIS); + } catch (Exception e) { + System.out.println(e); + } + + for (long session : sessions) { + parity.unsubscribeWebSocket(session); + } + + // Force GC to destroy parity + parity = null; + System.gc(); + } + + public static void main(String[] args) { + String[] full = {"--no-ipc" , "--jsonrpc-apis=all", "--chain", "kovan"}; + String[] light = {"--no-ipc", "--light", "--jsonrpc-apis=all", "--chain", "kovan"}; + + runParity(full); + + try { + Thread.sleep(ONE_MINUTE_AS_MILLIS); + } catch (Exception e) { + System.out.println(e); + } + + runParity(light); + } +} + +class Callback { + private AtomicInteger counter; + private final int callbackType; + + public Callback(int type) { + counter = new AtomicInteger(); + callbackType = type; + } + + public void callback(Object response) { + response = (String) response; + if (callbackType == 1) { + System.out.println("rpc: " + response); + } else if (callbackType == 2) { + System.out.println("ws: " + response); + } + counter.getAndIncrement(); + } + + public int getNumCallbacks() { + return counter.intValue(); + } +} diff --git a/parity-clib/examples/java/README.md b/parity-clib/examples/java/README.md new file mode 100644 index 00000000000..ec83905bf2b --- /dev/null +++ b/parity-clib/examples/java/README.md @@ -0,0 +1,9 @@ +parity-clib: Java example +=================================== + +An example Java application to demonstrate how to use `jni` bindings to parity-ethereum. Note, that the example is built in debug-mode to reduce the build time. If you want to use it in real project use release-mode instead to facilitate all compiler optimizations. + +## How to compile and run + +1. Make sure you have installed [JDK](https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html) +2. Run `run.sh` \ No newline at end of file diff --git a/parity-clib/examples/java/run.sh b/parity-clib/examples/java/run.sh new file mode 100755 index 00000000000..428a7dc751f --- /dev/null +++ b/parity-clib/examples/java/run.sh @@ -0,0 +1,15 @@ +#!/usr/bin/env bash + +FLAGS="-Xlint:deprecation" +PARITY_JAVA="../../Parity.java" +# parity-clib must be built with feature `jni` in debug-mode to work +PARITY_LIB=".:../../../target/debug/" + +# build +cd .. +cargo build --features jni +cd - +javac $FLAGS -d $PWD $PARITY_JAVA +javac $FLAGS *.java +# Setup the path `libparity.so` and run +java -Djava.library.path=$PARITY_LIB Main diff --git a/parity-clib/parity.h b/parity-clib/parity.h index 9be077b4d30..71d6ca775db 100644 --- a/parity-clib/parity.h +++ b/parity-clib/parity.h @@ -57,7 +57,7 @@ extern "C" { /// const char *args[] = {"--light", "--can-restart"}; /// size_t str_lens[] = {7, 13}; /// if (parity_config_from_cli(args, str_lens, 2, &cfg) != 0) { -/// return 1; +/// return 1; /// } /// ``` /// @@ -86,21 +86,44 @@ int parity_start(const ParityParams* params, void** out); /// must not call this function. void parity_destroy(void* parity); -/// Performs an RPC request. +/// Performs an asynchronous RPC request running in a background thread for at most X milliseconds /// -/// Blocks the current thread until the request is finished. You are therefore encouraged to spawn -/// a new thread for each RPC request that requires accessing the blockchain. +/// - parity : Reference to the running parity client +/// - rpc_query : JSON encoded string representing the RPC request. +/// - len : Length of the RPC query +/// - timeout_ms : Maximum time that request is waiting for a response +/// - response : Callback to invoke when the query gets answered. It will respond with a JSON encoded the string +/// with the result both on success and error. +/// - ud : Specific user defined data that can used in the callback /// -/// - `rpc` and `len` must contain the JSON string representing the RPC request. -/// - `out_str` and `out_len` point to a buffer where the output JSON result will be stored. If the -/// buffer is not large enough, the function fails. -/// - `out_len` will receive the final length of the string. -/// - On success, the function returns 0. On failure, it returns 1. +/// - On success : The function returns 0 +/// - On error : The function returns 1 /// -/// **Important**: Keep in mind that this function doesn't write any null terminator on the output -/// string. +int parity_rpc(const void *const parity, const char* rpc_query, size_t rpc_len, size_t timeout_ms, + void (*subscribe)(void* ud, const char* response, size_t len), void* ud); + + +/// Subscribes to a specific websocket event that will run until it is canceled +/// +/// - parity : Reference to the running parity client +/// - ws_query : JSON encoded string representing the websocket event to subscribe to +/// - len : Length of the query +/// - response : Callback to invoke when a websocket event occurs +/// - ud : Specific user defined data that can used in the callback +/// +/// - On success : The function returns an object to the current session +/// which can be used cancel the subscription +/// - On error : The function returns a null pointer +/// +void* parity_subscribe_ws(const void *const parity, const char* ws_query, size_t len, + void (*subscribe)(void* ud, const char* response, size_t len), void* ud); + +/// Unsubscribes from a websocket subscription. Caution this function consumes the session object and must only be +/// used exactly once per session. +/// +/// - session : Pointer to the session to unsubscribe from /// -int parity_rpc(void* parity, const char* rpc, size_t len, char* out_str, size_t* out_len); +int parity_unsubscribe_ws(const void *const session); /// Sets a callback to call when a panic happens in the Rust code. /// diff --git a/parity-clib/src/java.rs b/parity-clib/src/java.rs new file mode 100644 index 00000000000..30e63e60162 --- /dev/null +++ b/parity-clib/src/java.rs @@ -0,0 +1,211 @@ +use std::{mem, ptr}; +use std::sync::Arc; +use std::time::Duration; +use std::thread; +use std::os::raw::c_void; + +use {parity_config_from_cli, parity_destroy, parity_start, parity_unsubscribe_ws, ParityParams, error}; + +use futures::{Future, Stream}; +use futures::sync::mpsc; +use jni::{JavaVM, JNIEnv}; +use jni::objects::{JClass, JString, JObject, JValue, GlobalRef}; +use jni::sys::{jlong, jobjectArray, va_list}; +use tokio_current_thread::CurrentThread; +use parity_ethereum::{RunningClient, PubSubSession}; + +type CheckedQuery<'a> = (&'a RunningClient, String, JavaVM, GlobalRef); + +// Creates a Java callback to a static method named `void callback(Object)` +struct Callback<'a> { + jvm: JavaVM, + callback: GlobalRef, + method_name: &'a str, + method_descriptor: &'a str, +} + +unsafe impl<'a> Send for Callback<'a> {} +unsafe impl<'a> Sync for Callback<'a> {} +impl<'a> Callback<'a> { + fn new(jvm: JavaVM, callback: GlobalRef) -> Self { + Self { + jvm, + callback, + method_name: "callback", + method_descriptor: "(Ljava/lang/Object;)V", + } + } + + fn call(&self, msg: &str) { + let env = self.jvm.attach_current_thread().expect("JavaVM should have an environment; qed"); + let java_str = env.new_string(msg.to_string()).expect("Rust String is valid JString; qed"); + let val = &[JValue::Object(JObject::from(java_str))]; + env.call_method(self.callback.as_obj(), self.method_name, self.method_descriptor, val).expect( + "The callback must be an instance method and be named \"void callback(Object)\"; qed)"); + } +} + +#[no_mangle] +pub unsafe extern "system" fn Java_io_parity_ethereum_Parity_configFromCli(env: JNIEnv, _: JClass, cli: jobjectArray) -> jlong { + let cli_len = env.get_array_length(cli).expect("invalid Java bindings"); + + let mut jni_strings = Vec::with_capacity(cli_len as usize); + let mut opts = Vec::with_capacity(cli_len as usize); + let mut opts_lens = Vec::with_capacity(cli_len as usize); + + for n in 0..cli_len { + let elem = env.get_object_array_element(cli, n).expect("invalid Java bindings"); + let elem_str: JString = elem.into(); + match env.get_string(elem_str) { + Ok(s) => { + opts.push(s.as_ptr()); + opts_lens.push(s.to_bytes().len()); + jni_strings.push(s); + }, + Err(err) => { + let _ = env.throw_new("java/lang/Exception", err.to_string()); + return 0 + } + }; + } + + let mut out = ptr::null_mut(); + match parity_config_from_cli(opts.as_ptr(), opts_lens.as_ptr(), cli_len as usize, &mut out) { + 0 => out as jlong, + _ => { + let _ = env.throw_new("java/lang/Exception", "failed to create config object"); + 0 + }, + } +} + +#[no_mangle] +pub unsafe extern "system" fn Java_io_parity_ethereum_Parity_build(env: JNIEnv, _: JClass, config: va_list) -> jlong { + let params = ParityParams { + configuration: config, + .. mem::zeroed() + }; + + let mut out = ptr::null_mut(); + match parity_start(¶ms, &mut out) { + 0 => out as jlong, + _ => { + let _ = env.throw_new("java/lang/Exception", "failed to start Parity"); + 0 + }, + } +} + +#[no_mangle] +pub unsafe extern "system" fn Java_io_parity_ethereum_Parity_destroy(_env: JNIEnv, _: JClass, parity: va_list) { + parity_destroy(parity); +} + +unsafe fn async_checker<'a>(client: va_list, rpc: JString, callback: JObject, env: &JNIEnv<'a>) +-> Result, String> { + let query: String = env.get_string(rpc) + .map(Into::into) + .map_err(|e| e.to_string())?; + + let client: &RunningClient = &*(client as *const RunningClient); + let jvm = env.get_java_vm().map_err(|e| e.to_string())?; + let global_ref = env.new_global_ref(callback).map_err(|e| e.to_string())?; + Ok((client, query, jvm, global_ref)) +} + +#[no_mangle] +pub unsafe extern "system" fn Java_io_parity_ethereum_Parity_rpcQueryNative( + env: JNIEnv, + _: JClass, + parity: va_list, + rpc: JString, + timeout_ms: jlong, + callback: JObject, + ) +{ + let _ = async_checker(parity, rpc, callback, &env) + .map(|(client, query, jvm, global_ref)| { + let callback = Arc::new(Callback::new(jvm, global_ref)); + let cb = callback.clone(); + let future = client.rpc_query(&query, None).map(move |response| { + let response = response.unwrap_or_else(|| error::EMPTY.to_string()); + callback.call(&response); + }); + + let _handle = thread::Builder::new() + .name("rpc_query".to_string()) + .spawn(move || { + let mut current_thread = CurrentThread::new(); + current_thread.spawn(future); + let _ = current_thread.run_timeout(Duration::from_millis(timeout_ms as u64)) + .map_err(|_e| { + cb.call(error::TIMEOUT); + }); + }) + .expect("rpc-query thread shouldn't fail; qed"); + }) + .map_err(|e| { + let _ = env.throw_new("java/lang/Exception", e); + }); +} + +#[no_mangle] +pub unsafe extern "system" fn Java_io_parity_ethereum_Parity_subscribeWebSocketNative( + env: JNIEnv, + _: JClass, + parity: va_list, + rpc: JString, + callback: JObject, + ) -> va_list { + + async_checker(parity, rpc, callback, &env) + .map(move |(client, query, jvm, global_ref)| { + let callback = Arc::new(Callback::new(jvm, global_ref)); + let (tx, mut rx) = mpsc::channel(1); + let session = Arc::new(PubSubSession::new(tx)); + let weak_session = Arc::downgrade(&session); + let query_future = client.rpc_query(&query, Some(session.clone()));; + + let _handle = thread::Builder::new() + .name("ws-subscriber".into()) + .spawn(move || { + // Wait for subscription ID + // Note this may block forever and can't be destroyed using the session object + // However, this will likely timeout or be catched the RPC layer + if let Ok(Some(response)) = query_future.wait() { + callback.call(&response); + } else { + callback.call(error::SUBSCRIBE); + return; + }; + + loop { + for response in rx.by_ref().wait() { + if let Ok(r) = response { + callback.call(&r); + } + } + + let rc = weak_session.upgrade().map_or(0,|session| Arc::strong_count(&session)); + // No subscription left, then terminate + if rc <= 1 { + break; + } + } + }) + .expect("rpc-subscriber thread shouldn't fail; qed"); + Arc::into_raw(session) as va_list + }) + .unwrap_or_else(|e| { + let _ = env.throw_new("java/lang/Exception", e); + ptr::null_mut() + }) +} + +#[no_mangle] +pub unsafe extern "system" fn Java_io_parity_ethereum_Parity_unsubscribeWebSocketNative( + _: JNIEnv, + _: JClass, + session: va_list) { + parity_unsubscribe_ws(session as *const c_void); +} diff --git a/parity-clib/src/lib.rs b/parity-clib/src/lib.rs index 7791f97bd5e..b4f776c89c0 100644 --- a/parity-clib/src/lib.rs +++ b/parity-clib/src/lib.rs @@ -17,31 +17,52 @@ //! Note that all the structs and functions here are documented in `parity.h`, to avoid //! duplicating documentation. -#[cfg(feature = "jni")] -extern crate jni; -extern crate parity_ethereum; +extern crate futures; extern crate panic_hook; - -use std::os::raw::{c_char, c_void, c_int}; -use std::panic; -use std::ptr; -use std::slice; -use std::str; +extern crate parity_ethereum; +extern crate tokio; +extern crate tokio_current_thread; #[cfg(feature = "jni")] -use std::mem; +extern crate jni; + #[cfg(feature = "jni")] -use jni::{JNIEnv, objects::JClass, objects::JString, sys::jlong, sys::jobjectArray}; +mod java; + +use std::ffi::CString; +use std::os::raw::{c_char, c_void, c_int}; +use std::{panic, ptr, slice, str, thread}; +use std::sync::Arc; +use std::time::Duration; + +use futures::{Future, Stream}; +use futures::sync::mpsc; +use parity_ethereum::{PubSubSession, RunningClient}; +use tokio_current_thread::CurrentThread; + +type Callback = Option; +type CheckedQuery<'a> = (&'a RunningClient, &'static str); + +pub mod error { + pub const EMPTY: &str = r#"{"jsonrpc":"2.0","result":"null","id":1}"#; + pub const TIMEOUT: &str = r#"{"jsonrpc":"2.0","result":"timeout","id":1}"#; + pub const SUBSCRIBE: &str = r#"{"jsonrpc":"2.0","result":"subcribe_fail","id":1}"#; +} #[repr(C)] pub struct ParityParams { pub configuration: *mut c_void, - pub on_client_restart_cb: Option, + pub on_client_restart_cb: Callback, pub on_client_restart_cb_custom: *mut c_void, } #[no_mangle] -pub unsafe extern fn parity_config_from_cli(args: *const *const c_char, args_lens: *const usize, len: usize, output: *mut *mut c_void) -> c_int { +pub unsafe extern fn parity_config_from_cli( + args: *const *const c_char, + args_lens: *const usize, + len: usize, + output: *mut *mut c_void +) -> c_int { panic::catch_unwind(|| { *output = ptr::null_mut(); @@ -59,7 +80,6 @@ pub unsafe extern fn parity_config_from_cli(args: *const *const c_char, args_len Err(_) => return 1, }; } - args }; @@ -95,8 +115,11 @@ pub unsafe extern fn parity_start(cfg: *const ParityParams, output: *mut *mut c_ let config = Box::from_raw(cfg.configuration as *mut parity_ethereum::Configuration); let on_client_restart_cb = { - let cb = CallbackStr(cfg.on_client_restart_cb, cfg.on_client_restart_cb_custom); - move |new_chain: String| { cb.call(&new_chain); } + let cb = CallbackStr { + user_data: cfg.on_client_restart_cb_custom, + function: cfg.on_client_restart_cb, + }; + move |new_chain: String| { cb.call(new_chain.as_bytes()); } }; let action = match parity_ethereum::start(*config, on_client_restart_cb, || {}) { @@ -118,32 +141,53 @@ pub unsafe extern fn parity_start(cfg: *const ParityParams, output: *mut *mut c_ #[no_mangle] pub unsafe extern fn parity_destroy(client: *mut c_void) { let _ = panic::catch_unwind(|| { - let client = Box::from_raw(client as *mut parity_ethereum::RunningClient); + let client = Box::from_raw(client as *mut RunningClient); client.shutdown(); }); } -#[no_mangle] -pub unsafe extern fn parity_rpc(client: *mut c_void, query: *const c_char, len: usize, out_str: *mut c_char, out_len: *mut usize) -> c_int { - panic::catch_unwind(|| { - let client: &mut parity_ethereum::RunningClient = &mut *(client as *mut parity_ethereum::RunningClient); - let query_str = { +unsafe fn parity_rpc_query_checker<'a>(client: *const c_void, query: *const c_char, len: usize) + -> Option> +{ + let query_str = { let string = slice::from_raw_parts(query as *const u8, len); - match str::from_utf8(string) { - Ok(a) => a, - Err(_) => return 1, - } - }; - - if let Some(output) = client.rpc_query_sync(query_str) { - let q_out_len = output.as_bytes().len(); - if *out_len < q_out_len { - return 1; - } + str::from_utf8(string).ok()? + }; + let client: &RunningClient = &*(client as *const RunningClient); + Some((client, query_str)) +} - ptr::copy_nonoverlapping(output.as_bytes().as_ptr(), out_str as *mut u8, q_out_len); - *out_len = q_out_len; +#[no_mangle] +pub unsafe extern fn parity_rpc( + client: *const c_void, + query: *const c_char, + len: usize, + timeout_ms: usize, + callback: Callback, + user_data: *mut c_void, +) -> c_int { + panic::catch_unwind(|| { + if let Some((client, query)) = parity_rpc_query_checker(client, query, len) { + let client = client as &RunningClient; + let callback = Arc::new(CallbackStr {user_data, function: callback} ); + let cb = callback.clone(); + let query = client.rpc_query(query, None).map(move |response| { + let response = response.unwrap_or_else(|| error::EMPTY.to_string()); + callback.call(response.as_bytes()); + }); + + let _handle = thread::Builder::new() + .name("rpc_query".to_string()) + .spawn(move || { + let mut current_thread = CurrentThread::new(); + current_thread.spawn(query); + let _ = current_thread.run_timeout(Duration::from_millis(timeout_ms as u64)) + .map_err(|_e| { + cb.call(error::TIMEOUT.as_bytes()); + }); + }) + .expect("rpc-query thread shouldn't fail; qed"); 0 } else { 1 @@ -152,116 +196,86 @@ pub unsafe extern fn parity_rpc(client: *mut c_void, query: *const c_char, len: } #[no_mangle] -pub unsafe extern fn parity_set_panic_hook(callback: extern "C" fn(*mut c_void, *const c_char, usize), param: *mut c_void) { - let cb = CallbackStr(Some(callback), param); - panic_hook::set_with(move |panic_msg| { - cb.call(panic_msg); - }); -} +pub unsafe extern fn parity_subscribe_ws( + client: *const c_void, + query: *const c_char, + len: usize, + callback: Callback, + user_data: *mut c_void, +) -> *const c_void { -// Internal structure for handling callbacks that get passed a string. -struct CallbackStr(Option, *mut c_void); -unsafe impl Send for CallbackStr {} -unsafe impl Sync for CallbackStr {} -impl CallbackStr { - fn call(&self, new_chain: &str) { - if let Some(ref cb) = self.0 { - cb(self.1, new_chain.as_bytes().as_ptr() as *const _, new_chain.len()) + panic::catch_unwind(|| { + if let Some((client, query)) = parity_rpc_query_checker(client, query, len) { + let (tx, mut rx) = mpsc::channel(1); + let session = Arc::new(PubSubSession::new(tx)); + let query_future = client.rpc_query(query, Some(session.clone())); + let weak_session = Arc::downgrade(&session); + let cb = CallbackStr { user_data, function: callback}; + + let _handle = thread::Builder::new() + .name("ws-subscriber".into()) + .spawn(move || { + // Wait for subscription ID + // Note this may block forever and be can't destroyed using the session object + // However, this will likely timeout or be catched the RPC layer + if let Ok(Some(response)) = query_future.wait() { + cb.call(response.as_bytes()); + } else { + cb.call(error::SUBSCRIBE.as_bytes()); + return; + } + + loop { + for response in rx.by_ref().wait() { + if let Ok(r) = response { + cb.call(r.as_bytes()); + } + } + + let rc = weak_session.upgrade().map_or(0,|session| Arc::strong_count(&session)); + // No subscription left, then terminate + if rc <= 1 { + break; + } + } + }) + .expect("rpc-subscriber thread shouldn't fail; qed"); + Arc::into_raw(session) as *const c_void + } else { + ptr::null() } - } + }) + .unwrap_or(ptr::null()) } -#[cfg(feature = "jni")] #[no_mangle] -pub unsafe extern "system" fn Java_io_parity_ethereum_Parity_configFromCli(env: JNIEnv, _: JClass, cli: jobjectArray) -> jlong { - let cli_len = env.get_array_length(cli).expect("invalid Java bindings"); - - let mut jni_strings = Vec::with_capacity(cli_len as usize); - let mut opts = Vec::with_capacity(cli_len as usize); - let mut opts_lens = Vec::with_capacity(cli_len as usize); - - for n in 0 .. cli_len { - let elem = env.get_object_array_element(cli, n).expect("invalid Java bindings"); - let elem_str: JString = elem.into(); - match env.get_string(elem_str) { - Ok(s) => { - opts.push(s.as_ptr()); - opts_lens.push(s.to_bytes().len()); - jni_strings.push(s); - }, - Err(err) => { - let _ = env.throw_new("java/lang/Exception", err.to_string()); - return 0 - } - }; - } - - let mut out = ptr::null_mut(); - match parity_config_from_cli(opts.as_ptr(), opts_lens.as_ptr(), cli_len as usize, &mut out) { - 0 => out as usize as jlong, - _ => { - let _ = env.throw_new("java/lang/Exception", "failed to create config object"); - 0 - }, - } +pub unsafe extern fn parity_unsubscribe_ws(session: *const c_void) { + let _ = panic::catch_unwind(|| { + let _session = Arc::from_raw(session as *const PubSubSession); + }); } -#[cfg(feature = "jni")] #[no_mangle] -pub unsafe extern "system" fn Java_io_parity_ethereum_Parity_build(env: JNIEnv, _: JClass, config: jlong) -> jlong { - let params = ParityParams { - configuration: config as usize as *mut c_void, - .. mem::zeroed() - }; - - let mut out = ptr::null_mut(); - match parity_start(¶ms, &mut out) { - 0 => out as usize as jlong, - _ => { - let _ = env.throw_new("java/lang/Exception", "failed to start Parity"); - 0 - }, - } +pub unsafe extern fn parity_set_panic_hook(callback: Callback, param: *mut c_void) { + let cb = CallbackStr {user_data: param, function: callback}; + panic_hook::set_with(move |panic_msg| { + cb.call(panic_msg.as_bytes()); + }); } -#[cfg(feature = "jni")] -#[no_mangle] -pub unsafe extern "system" fn Java_io_parity_ethereum_Parity_destroy(_env: JNIEnv, _: JClass, parity: jlong) { - let parity = parity as usize as *mut c_void; - parity_destroy(parity); +// Internal structure for handling callbacks that get passed a string. +struct CallbackStr { + user_data: *mut c_void, + function: Callback, } -#[cfg(feature = "jni")] -#[no_mangle] -pub unsafe extern "system" fn Java_io_parity_ethereum_Parity_rpcQueryNative<'a>(env: JNIEnv<'a>, _: JClass, parity: jlong, rpc: JString) -> JString<'a> { - let parity = parity as usize as *mut c_void; - - let rpc = match env.get_string(rpc) { - Ok(s) => s, - Err(err) => { - let _ = env.throw_new("java/lang/Exception", err.to_string()); - return env.new_string("").expect("Creating an empty string never fails"); - }, - }; - - let mut out_len = 255; - let mut out = [0u8; 256]; - - match parity_rpc(parity, rpc.as_ptr(), rpc.to_bytes().len(), out.as_mut_ptr() as *mut c_char, &mut out_len) { - 0 => (), - _ => { - let _ = env.throw_new("java/lang/Exception", "failed to perform RPC query"); - return env.new_string("").expect("Creating an empty string never fails"); - }, - } - - let out = str::from_utf8(&out[..out_len]) - .expect("parity always generates an UTF-8 RPC response"); - match env.new_string(out) { - Ok(s) => s, - Err(err) => { - let _ = env.throw_new("java/lang/Exception", err.to_string()); - return env.new_string("").expect("Creating an empty string never fails"); +unsafe impl Send for CallbackStr {} +unsafe impl Sync for CallbackStr {} +impl CallbackStr { + fn call(&self, msg: &[u8]) { + if let Some(ref cb) = self.function { + let cstr = CString::new(msg).expect("valid string with no null bytes in the middle; qed").into_raw(); + cb(self.user_data, cstr, msg.len()) } } } diff --git a/parity/lib.rs b/parity/lib.rs index b5a614a7bf4..88330f1ac09 100644 --- a/parity/lib.rs +++ b/parity/lib.rs @@ -121,6 +121,7 @@ use std::alloc::System; pub use self::configuration::Configuration; pub use self::run::RunningClient; +pub use parity_rpc::PubSubSession; #[cfg(feature = "memory_profiling")] #[global_allocator] diff --git a/parity/run.rs b/parity/run.rs index 28536ea6a45..6dad5fd6d54 100644 --- a/parity/run.rs +++ b/parity/run.rs @@ -41,7 +41,8 @@ use light::Cache as LightDataCache; use miner::external::ExternalMiner; use node_filter::NodeFilter; use parity_runtime::Runtime; -use parity_rpc::{Origin, Metadata, NetworkSettings, informant, is_major_importing}; +use parity_rpc::{Origin, Metadata, NetworkSettings, informant, is_major_importing, PubSubSession, FutureResult, + FutureResponse, FutureOutput}; use updater::{UpdatePolicy, Updater}; use parity_version::version; use ethcore_private_tx::{ProviderConfig, EncryptorConfig, SecretStoreEncryptor}; @@ -875,21 +876,19 @@ enum RunningClientInner { } impl RunningClient { - /// Performs a synchronous RPC query. - /// Blocks execution until the result is ready. - pub fn rpc_query_sync(&self, request: &str) -> Option { + /// Performs an asynchronous RPC query. + // FIXME: [tomaka] This API should be better, with for example a Future + pub fn rpc_query(&self, request: &str, session: Option>) + -> FutureResult + { let metadata = Metadata { origin: Origin::CApi, - session: None, + session, }; match self.inner { - RunningClientInner::Light { ref rpc, .. } => { - rpc.handle_request_sync(request, metadata) - }, - RunningClientInner::Full { ref rpc, .. } => { - rpc.handle_request_sync(request, metadata) - }, + RunningClientInner::Light { ref rpc, .. } => rpc.handle_request(request, metadata), + RunningClientInner::Full { ref rpc, .. } => rpc.handle_request(request, metadata), } } diff --git a/rpc/src/lib.rs b/rpc/src/lib.rs index ac0d3dd6f7e..ca5ed28bae3 100644 --- a/rpc/src/lib.rs +++ b/rpc/src/lib.rs @@ -108,6 +108,7 @@ pub mod v1; pub mod tests; +pub use jsonrpc_core::{FutureOutput, FutureResult, FutureResponse, FutureRpcResult}; pub use jsonrpc_pubsub::Session as PubSubSession; pub use ipc::{Server as IpcServer, MetaExtractor as IpcMetaExtractor, RequestContext as IpcRequestContext}; pub use http::{ From b5f510ead742b1ac4c8e398339091e31926b07aa Mon Sep 17 00:00:00 2001 From: Pierre Krieger Date: Thu, 3 Jan 2019 11:13:02 +0100 Subject: [PATCH 05/68] Bump rocksdb-sys to 0.5.5 (#10124) * Bump rocksdb-sys to 0.5.5 * Revert rand --- Cargo.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 0f5c445e289..bf7e727c7df 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2492,12 +2492,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "libc 0.2.43 (registry+https://github.com/rust-lang/crates.io-index)", "local-encoding 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", - "parity-rocksdb-sys 0.5.4 (registry+https://github.com/rust-lang/crates.io-index)", + "parity-rocksdb-sys 0.5.5 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "parity-rocksdb-sys" -version = "0.5.4" +version = "0.5.5" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "cmake 0.1.35 (registry+https://github.com/rust-lang/crates.io-index)", @@ -4512,7 +4512,7 @@ dependencies = [ "checksum parity-crypto 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "8adf489acb31f1922db0ce43803b6f48a425241a8473611be3cc625a8e4a4c47" "checksum parity-path 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "5962540f99d3895d9addf535f37ab1397886bc2c68e59efd040ef458e5f8c3f7" "checksum parity-rocksdb 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)" = "cd55d2d6d6000ec99f021cf52c9acc7d2a402e14f95ced4c5de230696fabe00b" -"checksum parity-rocksdb-sys 0.5.4 (registry+https://github.com/rust-lang/crates.io-index)" = "c172000a0115db7615befec1e52a2f5b25dbfa08a969659df494d24b7e6457b5" +"checksum parity-rocksdb-sys 0.5.5 (registry+https://github.com/rust-lang/crates.io-index)" = "5bbb241262c768522f6460f0e2672dee185c8504d4d0a5a5bab45c1147981c4f" "checksum parity-snappy 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "e2c5f9d149b13134b8b354d93a92830efcbee6fe5b73a2e6e540fe70d4dd8a63" "checksum parity-snappy-sys 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "1a413d51e5e1927320c9de992998e4a279dffb8c8a7363570198bd8383e66f1b" "checksum parity-tokio-ipc 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "eb002c2d3539ccd3b82bd915ec060028d4ab350ad203dbffa20028c1e483af5b" From 469f9c26e74734c2c6b282e08f294516bb9ae15d Mon Sep 17 00:00:00 2001 From: Piotr Chromiec Date: Thu, 3 Jan 2019 14:07:27 +0100 Subject: [PATCH 06/68] Pyethereum keystore support (#9710) * support for keystore format produced by pyethereum lib + some debug msgs * made salt unbound also for Scrypt * made address optional and skip if its none * ignore values of any type, not just i32 * WIP: local deps * cleanup * enable optional address + more cleanup * yet another cleanup * enable keystore wo address import (using passwd) * cleanup * doc enchancement * parity/account fix * redesign after review * fix indentation * ignore just version in json under crypto * remove unnecessary borrowing within match str Co-Authored-By: tworec * remove another unnecessary borrowing Co-Authored-By: tworec * default derived instead of implementing * log dependency removed * [ethstore] warn restored + env_logger initialized in CLI * applied suggestion from @tomusdrw --- Cargo.lock | 11 +++-- accounts/ethkey/cli/src/main.rs | 2 +- accounts/ethstore/Cargo.toml | 2 +- accounts/ethstore/cli/Cargo.toml | 3 +- accounts/ethstore/cli/src/main.rs | 39 +++++++++------ accounts/ethstore/src/account/crypto.rs | 5 +- accounts/ethstore/src/account/kdf.rs | 4 +- accounts/ethstore/src/account/safe_account.rs | 47 +++++++++++++++---- accounts/ethstore/src/accounts_dir/disk.rs | 17 +++++-- accounts/ethstore/src/ethstore.rs | 2 +- accounts/ethstore/src/import.rs | 6 ++- accounts/ethstore/src/json/crypto.rs | 4 ++ accounts/ethstore/src/json/kdf.rs | 6 +-- accounts/ethstore/src/json/key_file.rs | 13 ++--- 14 files changed, 107 insertions(+), 54 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index bf7e727c7df..5dfa0acdcac 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -708,7 +708,7 @@ dependencies = [ "ethereum-types 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", "ethjson 0.1.0", "ethkey 0.3.0", - "ethstore 0.2.0", + "ethstore 0.2.1", "evm 0.1.0", "fake-hardware-wallet 0.0.1", "hardware-wallet 1.12.0", @@ -1143,7 +1143,7 @@ dependencies = [ [[package]] name = "ethstore" -version = "0.2.0" +version = "0.2.1" dependencies = [ "dir 0.1.2", "ethereum-types 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -1168,11 +1168,12 @@ dependencies = [ [[package]] name = "ethstore-cli" -version = "0.1.0" +version = "0.1.1" dependencies = [ "dir 0.1.2", "docopt 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", - "ethstore 0.2.0", + "env_logger 0.5.13 (registry+https://github.com/rust-lang/crates.io-index)", + "ethstore 0.2.1", "num_cpus 1.8.0 (registry+https://github.com/rust-lang/crates.io-index)", "panic_hook 0.1.0", "parking_lot 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -2526,7 +2527,7 @@ dependencies = [ "ethereum-types 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", "ethjson 0.1.0", "ethkey 0.3.0", - "ethstore 0.2.0", + "ethstore 0.2.1", "fake-fetch 0.0.1", "fake-hardware-wallet 0.0.1", "fastmap 0.1.0", diff --git a/accounts/ethkey/cli/src/main.rs b/accounts/ethkey/cli/src/main.rs index e908baec32b..71ea5ca6c4d 100644 --- a/accounts/ethkey/cli/src/main.rs +++ b/accounts/ethkey/cli/src/main.rs @@ -168,7 +168,7 @@ fn main() { Ok(ok) => println!("{}", ok), Err(Error::Docopt(ref e)) => e.exit(), Err(err) => { - println!("{}", err); + eprintln!("{}", err); process::exit(1); } } diff --git a/accounts/ethstore/Cargo.toml b/accounts/ethstore/Cargo.toml index 384a06acb78..96d24d8c31f 100644 --- a/accounts/ethstore/Cargo.toml +++ b/accounts/ethstore/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "ethstore" -version = "0.2.0" +version = "0.2.1" authors = ["Parity Technologies "] [dependencies] diff --git a/accounts/ethstore/cli/Cargo.toml b/accounts/ethstore/cli/Cargo.toml index c1a2ee6d1e4..82858eaa762 100644 --- a/accounts/ethstore/cli/Cargo.toml +++ b/accounts/ethstore/cli/Cargo.toml @@ -1,10 +1,11 @@ [package] name = "ethstore-cli" -version = "0.1.0" +version = "0.1.1" authors = ["Parity Technologies "] [dependencies] docopt = "1.0" +env_logger = "0.5" num_cpus = "1.6" rustc-hex = "1.0" serde = "1.0" diff --git a/accounts/ethstore/cli/src/main.rs b/accounts/ethstore/cli/src/main.rs index 6751f713c6e..7e607973ccc 100644 --- a/accounts/ethstore/cli/src/main.rs +++ b/accounts/ethstore/cli/src/main.rs @@ -23,6 +23,8 @@ extern crate parking_lot; extern crate rustc_hex; extern crate serde; +extern crate env_logger; + #[macro_use] extern crate serde_derive; @@ -45,7 +47,7 @@ Usage: ethstore insert [--dir DIR] [--vault VAULT] [--vault-pwd VAULTPWD] ethstore change-pwd
[--dir DIR] [--vault VAULT] [--vault-pwd VAULTPWD] ethstore list [--dir DIR] [--vault VAULT] [--vault-pwd VAULTPWD] - ethstore import [--src DIR] [--dir DIR] + ethstore import [] [--src DIR] [--dir DIR] ethstore import-wallet [--dir DIR] [--vault VAULT] [--vault-pwd VAULTPWD] ethstore find-wallet-pass ethstore remove
[--dir DIR] [--vault VAULT] [--vault-pwd VAULTPWD] @@ -146,30 +148,34 @@ impl fmt::Display for Error { fn main() { panic_hook::set_abort(); + if env::var("RUST_LOG").is_err() { + env::set_var("RUST_LOG", "warn") + } + env_logger::try_init().expect("Logger initialized only once."); match execute(env::args()) { Ok(result) => println!("{}", result), Err(Error::Docopt(ref e)) => e.exit(), Err(err) => { - println!("{}", err); + eprintln!("{}", err); process::exit(1); } } } -fn key_dir(location: &str) -> Result, Error> { - let dir: Box = match location { - "geth" => Box::new(RootDiskDirectory::create(dir::geth(false))?), - "geth-test" => Box::new(RootDiskDirectory::create(dir::geth(true))?), +fn key_dir(location: &str, password: Option) -> Result, Error> { + let dir: RootDiskDirectory = match location { + "geth" => RootDiskDirectory::create(dir::geth(false))?, + "geth-test" => RootDiskDirectory::create(dir::geth(true))?, path if path.starts_with("parity") => { let chain = path.split('-').nth(1).unwrap_or("ethereum"); let path = dir::parity(chain); - Box::new(RootDiskDirectory::create(path)?) + RootDiskDirectory::create(path)? }, - path => Box::new(RootDiskDirectory::create(path)?), + path => RootDiskDirectory::create(path)?, }; - Ok(dir) + Ok(Box::new(dir.with_password(password))) } fn open_args_vault(store: &EthStore, args: &Args) -> Result { @@ -202,9 +208,9 @@ fn format_vaults(vaults: &[String]) -> String { } fn load_password(path: &str) -> Result { - let mut file = fs::File::open(path).map_err(|e| ethstore::Error::Custom(format!("Error opening password file {}: {}", path, e)))?; + let mut file = fs::File::open(path).map_err(|e| ethstore::Error::Custom(format!("Error opening password file '{}': {}", path, e)))?; let mut password = String::new(); - file.read_to_string(&mut password).map_err(|e| ethstore::Error::Custom(format!("Error reading password file {}: {}", path, e)))?; + file.read_to_string(&mut password).map_err(|e| ethstore::Error::Custom(format!("Error reading password file '{}': {}", path, e)))?; // drop EOF let _ = password.pop(); Ok(password.into()) @@ -214,7 +220,7 @@ fn execute(command: I) -> Result where I: IntoIterator(command: I) -> Result where I: IntoIterator None, + _ => Some(load_password(&args.arg_password)?) + }; + let src = key_dir(&args.flag_src, password)?; + let dst = key_dir(&args.flag_dir, None)?; + let accounts = import_accounts(&*src, &*dst)?; Ok(format_accounts(&accounts)) } else if args.cmd_import_wallet { diff --git a/accounts/ethstore/src/account/crypto.rs b/accounts/ethstore/src/account/crypto.rs index 07f84af7fa4..4ab01dae831 100644 --- a/accounts/ethstore/src/account/crypto.rs +++ b/accounts/ethstore/src/account/crypto.rs @@ -84,7 +84,8 @@ impl Crypto { // two parts of derived key // DK = [ DK[0..15] DK[16..31] ] = [derived_left_bits, derived_right_bits] - let (derived_left_bits, derived_right_bits) = crypto::derive_key_iterations(password.as_bytes(), &salt, iterations); + let (derived_left_bits, derived_right_bits) = + crypto::derive_key_iterations(password.as_bytes(), &salt, iterations); // preallocated (on-stack in case of `Secret`) buffer to hold cipher // length = length(plain) as we are using CTR-approach @@ -104,7 +105,7 @@ impl Crypto { ciphertext: ciphertext.into_vec(), kdf: Kdf::Pbkdf2(Pbkdf2 { dklen: crypto::KEY_LENGTH as u32, - salt: salt, + salt: salt.to_vec(), c: iterations, prf: Prf::HmacSha256, }), diff --git a/accounts/ethstore/src/account/kdf.rs b/accounts/ethstore/src/account/kdf.rs index 4d6d7cd956d..e8d001917f9 100644 --- a/accounts/ethstore/src/account/kdf.rs +++ b/accounts/ethstore/src/account/kdf.rs @@ -26,7 +26,7 @@ pub struct Pbkdf2 { pub c: u32, pub dklen: u32, pub prf: Prf, - pub salt: [u8; 32], + pub salt: Vec, } #[derive(Debug, PartialEq, Clone)] @@ -35,7 +35,7 @@ pub struct Scrypt { pub p: u32, pub n: u32, pub r: u32, - pub salt: [u8; 32], + pub salt: Vec, } #[derive(Debug, PartialEq, Clone)] diff --git a/accounts/ethstore/src/account/safe_account.rs b/accounts/ethstore/src/account/safe_account.rs index 849dafab103..4492c6014e6 100644 --- a/accounts/ethstore/src/account/safe_account.rs +++ b/accounts/ethstore/src/account/safe_account.rs @@ -45,7 +45,7 @@ impl Into for SafeAccount { json::KeyFile { id: From::from(self.id), version: self.version.into(), - address: self.address.into(), + address: Some(self.address.into()), crypto: self.crypto.into(), name: Some(self.name.into()), meta: Some(self.meta.into()), @@ -77,16 +77,43 @@ impl SafeAccount { /// Create a new `SafeAccount` from the given `json`; if it was read from a /// file, the `filename` should be `Some` name. If it is as yet anonymous, then it /// can be left `None`. - pub fn from_file(json: json::KeyFile, filename: Option) -> Self { - SafeAccount { + /// In case `password` is provided, we will attempt to read the secret from the keyfile + /// and derive the address from it instead of reading it directly. + /// Providing password is required for `json::KeyFile`s with no address. + pub fn from_file(json: json::KeyFile, filename: Option, password: &Option) -> Result { + let crypto = Crypto::from(json.crypto); + let address = match (password, &json.address) { + (None, Some(json_address)) => json_address.into(), + (None, None) => Err(Error::Custom( + "This keystore does not contain address. You need to provide password to import it".into()))?, + (Some(password), json_address) => { + let derived_address = KeyPair::from_secret( + crypto.secret(&password).map_err(|_| Error::InvalidPassword)? + )?.address(); + + match json_address { + Some(json_address) => { + let json_address = json_address.into(); + if derived_address != json_address { + warn!("Detected address mismatch when opening an account. Derived: {:?}, in json got: {:?}", + derived_address, json_address); + } + }, + _ => {}, + } + derived_address + } + }; + + Ok(SafeAccount { id: json.id.into(), version: json.version.into(), - address: json.address.into(), - crypto: json.crypto.into(), - filename: filename, + address, + crypto, + filename, name: json.name.unwrap_or(String::new()), meta: json.meta.unwrap_or("{}".to_owned()), - } + }) } /// Create a new `SafeAccount` from the given vault `json`; if it was read from a @@ -97,14 +124,14 @@ impl SafeAccount { let meta_plain = meta_crypto.decrypt(password)?; let meta_plain = json::VaultKeyMeta::load(&meta_plain).map_err(|e| Error::Custom(format!("{:?}", e)))?; - Ok(SafeAccount::from_file(json::KeyFile { + SafeAccount::from_file(json::KeyFile { id: json.id, version: json.version, crypto: json.crypto, - address: meta_plain.address, + address: Some(meta_plain.address), name: meta_plain.name, meta: meta_plain.meta, - }, filename)) + }, filename, &None) } /// Create a new `VaultKeyFile` from the given `self` diff --git a/accounts/ethstore/src/accounts_dir/disk.rs b/accounts/ethstore/src/accounts_dir/disk.rs index cf4841e7489..344c643c59c 100644 --- a/accounts/ethstore/src/accounts_dir/disk.rs +++ b/accounts/ethstore/src/accounts_dir/disk.rs @@ -23,6 +23,7 @@ use {json, SafeAccount, Error}; use json::Uuid; use super::{KeyDirectory, VaultKeyDirectory, VaultKeyDirectoryProvider, VaultKey}; use super::vault::{VAULT_FILE_NAME, VaultDiskDirectory}; +use ethkey::Password; const IGNORED_FILES: &'static [&'static str] = &[ "thumbs.db", @@ -106,6 +107,7 @@ pub type RootDiskDirectory = DiskDirectory; pub trait KeyFileManager: Send + Sync { /// Read `SafeAccount` from given key file stream fn read(&self, filename: Option, reader: T) -> Result where T: io::Read; + /// Write `SafeAccount` to given key file stream fn write(&self, account: SafeAccount, writer: &mut T) -> Result<(), Error> where T: io::Write; } @@ -117,7 +119,10 @@ pub struct DiskDirectory where T: KeyFileManager { } /// Keys file manager for root keys directory -pub struct DiskKeyFileManager; +#[derive(Default)] +pub struct DiskKeyFileManager { + password: Option, +} impl RootDiskDirectory { pub fn create

(path: P) -> Result where P: AsRef { @@ -125,8 +130,14 @@ impl RootDiskDirectory { Ok(Self::at(path)) } + /// allows to read keyfiles with given password (needed for keyfiles w/o address) + pub fn with_password(&self, password: Option) -> Self { + DiskDirectory::new(&self.path, DiskKeyFileManager { password }) + } + + pub fn at

(path: P) -> Self where P: AsRef { - DiskDirectory::new(path, DiskKeyFileManager) + DiskDirectory::new(path, DiskKeyFileManager::default()) } } @@ -319,7 +330,7 @@ impl VaultKeyDirectoryProvider for DiskDirectory where T: KeyFileManager { impl KeyFileManager for DiskKeyFileManager { fn read(&self, filename: Option, reader: T) -> Result where T: io::Read { let key_file = json::KeyFile::load(reader).map_err(|e| Error::Custom(format!("{:?}", e)))?; - Ok(SafeAccount::from_file(key_file, filename)) + SafeAccount::from_file(key_file, filename, &self.password) } fn write(&self, mut account: SafeAccount, writer: &mut T) -> Result<(), Error> where T: io::Write { diff --git a/accounts/ethstore/src/ethstore.rs b/accounts/ethstore/src/ethstore.rs index 2deafbad667..574ac8c3da0 100644 --- a/accounts/ethstore/src/ethstore.rs +++ b/accounts/ethstore/src/ethstore.rs @@ -168,7 +168,7 @@ impl SecretStore for EthStore { fn import_wallet(&self, vault: SecretVaultRef, json: &[u8], password: &Password, gen_id: bool) -> Result { let json_keyfile = json::KeyFile::load(json).map_err(|_| Error::InvalidKeyFile("Invalid JSON format".to_owned()))?; - let mut safe_account = SafeAccount::from_file(json_keyfile, None); + let mut safe_account = SafeAccount::from_file(json_keyfile, None, &None)?; if gen_id { safe_account.id = Random::random(); diff --git a/accounts/ethstore/src/import.rs b/accounts/ethstore/src/import.rs index 876119fd50a..e1b73c56705 100644 --- a/accounts/ethstore/src/import.rs +++ b/accounts/ethstore/src/import.rs @@ -25,7 +25,7 @@ use Error; /// Import an account from a file. pub fn import_account(path: &Path, dst: &KeyDirectory) -> Result { - let key_manager = DiskKeyFileManager; + let key_manager = DiskKeyFileManager::default(); let existing_accounts = dst.load()?.into_iter().map(|a| a.address).collect::>(); let filename = path.file_name().and_then(|n| n.to_str()).map(|f| f.to_owned()); let account = fs::File::open(&path) @@ -42,7 +42,9 @@ pub fn import_account(path: &Path, dst: &KeyDirectory) -> Result /// Import all accounts from one directory to the other. pub fn import_accounts(src: &KeyDirectory, dst: &KeyDirectory) -> Result, Error> { let accounts = src.load()?; - let existing_accounts = dst.load()?.into_iter().map(|a| a.address).collect::>(); + let existing_accounts = dst.load()?.into_iter() + .map(|a| a.address) + .collect::>(); accounts.into_iter() .filter(|a| !existing_accounts.contains(&a.address)) diff --git a/accounts/ethstore/src/json/crypto.rs b/accounts/ethstore/src/json/crypto.rs index 0a926cc83fe..ff4728a96b7 100644 --- a/accounts/ethstore/src/json/crypto.rs +++ b/accounts/ethstore/src/json/crypto.rs @@ -52,6 +52,7 @@ enum CryptoField { Kdf, KdfParams, Mac, + Version, } impl<'a> Deserialize<'a> for CryptoField { @@ -81,6 +82,7 @@ impl<'a> Visitor<'a> for CryptoFieldVisitor { "kdf" => Ok(CryptoField::Kdf), "kdfparams" => Ok(CryptoField::KdfParams), "mac" => Ok(CryptoField::Mac), + "version" => Ok(CryptoField::Version), _ => Err(Error::custom(format!("Unknown field: '{}'", value))), } } @@ -122,6 +124,8 @@ impl<'a> Visitor<'a> for CryptoVisitor { Some(CryptoField::Kdf) => { kdf = Some(visitor.next_value()?); } Some(CryptoField::KdfParams) => { kdfparams = Some(visitor.next_value()?); } Some(CryptoField::Mac) => { mac = Some(visitor.next_value()?); } + // skip not required version field (it appears in pyethereum generated keystores) + Some(CryptoField::Version) => { visitor.next_value().unwrap_or(()) } None => { break; } } } diff --git a/accounts/ethstore/src/json/kdf.rs b/accounts/ethstore/src/json/kdf.rs index f8df3c2285f..d7b3f08f590 100644 --- a/accounts/ethstore/src/json/kdf.rs +++ b/accounts/ethstore/src/json/kdf.rs @@ -17,7 +17,7 @@ use std::fmt; use serde::{Serialize, Serializer, Deserialize, Deserializer}; use serde::de::{Visitor, Error as SerdeError}; -use super::{Error, H256}; +use super::{Error, Bytes}; #[derive(Debug, PartialEq)] pub enum KdfSer { @@ -111,7 +111,7 @@ pub struct Pbkdf2 { pub c: u32, pub dklen: u32, pub prf: Prf, - pub salt: H256, + pub salt: Bytes, } #[derive(Debug, PartialEq, Serialize, Deserialize)] @@ -120,7 +120,7 @@ pub struct Scrypt { pub p: u32, pub n: u32, pub r: u32, - pub salt: H256, + pub salt: Bytes, } #[derive(Debug, PartialEq)] diff --git a/accounts/ethstore/src/json/key_file.rs b/accounts/ethstore/src/json/key_file.rs index 2c3cf3fdd5d..d5dc136058a 100644 --- a/accounts/ethstore/src/json/key_file.rs +++ b/accounts/ethstore/src/json/key_file.rs @@ -46,7 +46,7 @@ pub struct KeyFile { pub id: Uuid, pub version: Version, pub crypto: Crypto, - pub address: H160, + pub address: Option, pub name: Option, pub meta: Option, } @@ -158,11 +158,6 @@ impl<'a> Visitor<'a> for KeyFileVisitor { None => return Err(V::Error::missing_field("crypto")), }; - let address = match address { - Some(address) => address, - None => return Err(V::Error::missing_field("address")), - }; - let result = KeyFile { id: id, version: version, @@ -222,7 +217,7 @@ mod tests { let expected = KeyFile { id: Uuid::from_str("8777d9f6-7860-4b9b-88b7-0b57ee6b3a73").unwrap(), version: Version::V3, - address: "6edddfc6349aff20bc6467ccf276c5b52487f7a8".into(), + address: Some("6edddfc6349aff20bc6467ccf276c5b52487f7a8".into()), crypto: Crypto { cipher: Cipher::Aes128Ctr(Aes128Ctr { iv: "b5a7ec855ec9e2c405371356855fec83".into(), @@ -273,7 +268,7 @@ mod tests { let expected = KeyFile { id: "8777d9f6-7860-4b9b-88b7-0b57ee6b3a73".into(), version: Version::V3, - address: "6edddfc6349aff20bc6467ccf276c5b52487f7a8".into(), + address: Some("6edddfc6349aff20bc6467ccf276c5b52487f7a8".into()), crypto: Crypto { cipher: Cipher::Aes128Ctr(Aes128Ctr { iv: "b5a7ec855ec9e2c405371356855fec83".into(), @@ -301,7 +296,7 @@ mod tests { let file = KeyFile { id: "8777d9f6-7860-4b9b-88b7-0b57ee6b3a73".into(), version: Version::V3, - address: "6edddfc6349aff20bc6467ccf276c5b52487f7a8".into(), + address: Some("6edddfc6349aff20bc6467ccf276c5b52487f7a8".into()), crypto: Crypto { cipher: Cipher::Aes128Ctr(Aes128Ctr { iv: "b5a7ec855ec9e2c405371356855fec83".into(), From 801b8191ef14d6f7f9c63f9c41ac78ed360583c0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tomasz=20Drwi=C4=99ga?= Date: Thu, 3 Jan 2019 14:11:07 +0100 Subject: [PATCH 07/68] Use LenCachingMutex to optimize verification. (#10117) --- ethcore/src/verification/queue/mod.rs | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/ethcore/src/verification/queue/mod.rs b/ethcore/src/verification/queue/mod.rs index b1ab7a13008..f7de3eaa127 100644 --- a/ethcore/src/verification/queue/mod.rs +++ b/ethcore/src/verification/queue/mod.rs @@ -585,10 +585,12 @@ impl VerificationQueue { } /// Returns true if there is nothing currently in the queue. - /// TODO [ToDr] Optimize to avoid locking pub fn is_empty(&self) -> bool { let v = &self.verification; - v.unverified.lock().is_empty() && v.verifying.lock().is_empty() && v.verified.lock().is_empty() + + v.unverified.load_len() == 0 + && v.verifying.load_len() == 0 + && v.verified.load_len() == 0 } /// Get queue status. From 130901e820a758f22f7aae96571c0efecadbe59d Mon Sep 17 00:00:00 2001 From: joshua-mir <43032097+joshua-mir@users.noreply.github.com> Date: Fri, 4 Jan 2019 13:23:46 +0100 Subject: [PATCH 08/68] Identity fix (#10128) * fix #10125 fix service transaction version detection if --identity is enabled, change test to match how --identity actually works * fix wrong var * get the index of v, not / * idx, not idx.len() * Update ethcore/sync/src/chain/propagator.rs Co-Authored-By: joshua-mir <43032097+joshua-mir@users.noreply.github.com> * Update ethcore/sync/src/chain/propagator.rs Co-Authored-By: joshua-mir <43032097+joshua-mir@users.noreply.github.com> * change version prefix to a const * space Co-Authored-By: joshua-mir <43032097+joshua-mir@users.noreply.github.com> --- ethcore/sync/src/chain/propagator.rs | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/ethcore/sync/src/chain/propagator.rs b/ethcore/sync/src/chain/propagator.rs index 689ccfc02b1..89918411164 100644 --- a/ethcore/sync/src/chain/propagator.rs +++ b/ethcore/sync/src/chain/propagator.rs @@ -45,13 +45,13 @@ fn accepts_service_transaction(client_id: &str) -> bool { // Parity versions starting from this will accept service-transactions const SERVICE_TRANSACTIONS_VERSION: (u32, u32) = (1u32, 6u32); // Parity client string prefix - const LEGACY_CLIENT_ID_PREFIX: &'static str = "Parity/v"; - const PARITY_CLIENT_ID_PREFIX: &'static str = "Parity-Ethereum/v"; - - let splitted = if client_id.starts_with(LEGACY_CLIENT_ID_PREFIX) { - client_id[LEGACY_CLIENT_ID_PREFIX.len()..].split('.') - } else if client_id.starts_with(PARITY_CLIENT_ID_PREFIX) { - client_id[PARITY_CLIENT_ID_PREFIX.len()..].split('.') + const LEGACY_CLIENT_ID_PREFIX: &'static str = "Parity/"; + const PARITY_CLIENT_ID_PREFIX: &'static str = "Parity-Ethereum/"; + const VERSION_PREFIX: &'static str = "/v"; + + let idx = client_id.rfind(VERSION_PREFIX).map(|idx| idx + VERSION_PREFIX.len()).unwrap_or(client_id.len()); + let splitted = if client_id.starts_with(LEGACY_CLIENT_ID_PREFIX) || client_id.starts_with(PARITY_CLIENT_ID_PREFIX) { + client_id[idx..].split('.') } else { return false; }; @@ -599,7 +599,7 @@ mod tests { io.peers_info.insert(3, "Parity/v1.5".to_owned()); // and peer#4 is Parity, accepting service transactions insert_dummy_peer(&mut sync, 4, block_hash); - io.peers_info.insert(4, "Parity-Ethereum/v2.7.3-ABCDEFGH".to_owned()); + io.peers_info.insert(4, "Parity-Ethereum/ABCDEFGH/v2.7.3".to_owned()); // and new service transaction is propagated to peers SyncPropagator::propagate_new_transactions(&mut sync, &mut io, || true); From 3090324366f61a2daa3c0dca4789713a472672f3 Mon Sep 17 00:00:00 2001 From: Afri Schoedon <5chdn@users.noreply.github.com> Date: Fri, 4 Jan 2019 13:26:18 +0100 Subject: [PATCH 09/68] ethcore: update hardcoded headers (#10123) * ethcore: update hardcoded headers for foundation * ethcore: update hardcoded headers for ropsten * ethcore: update hardcoded headers for kovan * ethcore: use consistant formatting * ethcore: restore spaces after colon in chain spec * ethcore: fix bootnodes in chain specs * ethcore: fix bootnodes in chain specs * ethcore: enforce newline at the end of chainspecs --- ethcore/res/ethereum/foundation.json | 35884 +++++++++++++------------ ethcore/res/ethereum/kovan.json | 440 +- ethcore/res/ethereum/ropsten.json | 1338 +- 3 files changed, 19504 insertions(+), 18158 deletions(-) diff --git a/ethcore/res/ethereum/foundation.json b/ethcore/res/ethereum/foundation.json index 1f3e4535a88..2522a09ae25 100644 --- a/ethcore/res/ethereum/foundation.json +++ b/ethcore/res/ethereum/foundation.json @@ -1,16 +1,16 @@ { - "name": "Foundation", + "name": "Ethereum", "dataDir": "ethereum", "engine": { "Ethash": { "params": { - "minimumDifficulty": "0x020000", - "difficultyBoundDivisor": "0x0800", - "durationLimit": "0x0d", + "minimumDifficulty": "0x20000", + "difficultyBoundDivisor": "0x800", + "durationLimit": "0xd", "blockReward": { - "0": "0x4563918244F40000", - "4370000": "0x29A2241AF62C0000", - "7080000": "0x1BC16D674EC80000" + "0x0": "0x4563918244f40000", + "0x42ae50": "0x29a2241af62c0000", + "0x6c0840": "0x1bc16d674ec80000" }, "homesteadTransition": "0x118c30", "daoHardforkTransition": "0x1d4c00", @@ -133,38 +133,38 @@ "0xbb9bc244d798123fde783fcc1c72d3bb8c189413", "0x807640a13483f8ac783c557fcdf27be11ea4ac7a" ], - "eip100bTransition": 4370000, + "eip100bTransition": "0x42ae50", "difficultyBombDelays": { - "4370000": 3000000, - "7080000": 2000000 + "0x42ae50": "0x2dc6c0", + "0x6c0840": "0x1e8480" } } } }, "params": { - "gasLimitBoundDivisor": "0x0400", - "registrar" : "0xe3389675d0338462dC76C6f9A3e432550c36A142", - "accountStartNonce": "0x00", + "gasLimitBoundDivisor": "0x400", + "registrar": "0xe3389675d0338462dC76C6f9A3e432550c36A142", + "accountStartNonce": "0x0", "maximumExtraDataSize": "0x20", "minGasLimit": "0x1388", - "networkID" : "0x1", + "networkID": "0x1", "forkBlock": "0x1d4c00", "forkCanonHash": "0x4985f5ca3d2afbec36529aa96f74de3cc10a2a4a6c44f2157a57d2c6059a11bb", "eip150Transition": "0x259518", - "eip160Transition": 2675000, - "eip161abcTransition": 2675000, - "eip161dTransition": 2675000, - "eip155Transition": 2675000, - "maxCodeSize": 24576, - "maxCodeSizeTransition": 2675000, - "eip140Transition": 4370000, - "eip211Transition": 4370000, - "eip214Transition": 4370000, - "eip658Transition": 4370000, - "eip145Transition": 7080000, - "eip1014Transition": 7080000, - "eip1052Transition": 7080000, - "eip1283Transition": 7080000 + "eip160Transition": "0x28d138", + "eip161abcTransition": "0x28d138", + "eip161dTransition": "0x28d138", + "eip155Transition": "0x28d138", + "maxCodeSize": "0x6000", + "maxCodeSizeTransition": "0x28d138", + "eip140Transition": "0x42ae50", + "eip211Transition": "0x42ae50", + "eip214Transition": "0x42ae50", + "eip658Transition": "0x42ae50", + "eip145Transition": "0x6c0840", + "eip1014Transition": "0x6c0840", + "eip1052Transition": "0x6c0840", + "eip1283Transition": "0x6c0840" }, "genesis": { "seal": { @@ -175,15 +175,15 @@ }, "difficulty": "0x400000000", "author": "0x0000000000000000000000000000000000000000", - "timestamp": "0x00", + "timestamp": "0x0", "parentHash": "0x0000000000000000000000000000000000000000000000000000000000000000", "extraData": "0x11bbe8db4e347b4e8c937c1c8370e4b5ed33adb3db69cbdb7a38e1e50b1b82fa", "gasLimit": "0x1388", "stateRoot": "0xd7f8974fb5ac78d9ac099b9ad5018bedc2ce0a72dad1827a1709da30580f0544" }, - "hardcodedSync": { - "header": "f90210a0b5950d9087e0e1d3dfc18cae9388fc798d9b3932a6efb4fc073081f5561adc8da01dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d4934794829bd824b016326a401d083b33d092293333a830a00caa3307575bbbe59bb8f8a89f115ccb864866c2591d8d3ec3bffa6231532e52a024278597d4fddf58a4b55fe6a8bb7bf0e6cf1c6e75158b3d0d0b1bb9bb16647da01ba199a450390854e88ea5504144be61dd681e805aed7a1cc8bea61d5b61194bb901001902100820000000020110010418b02612064240040a4051001001a0024400e2484001141a422e56073887504031028220080010040501800000080080268040050018400100cc4710800419088000005a840a201c09011040086001260040000021004842021800024204400204a8a1180a8a0002164400202000115420602005512a20410088002248c000020e801803c051202030000420810912000401010604000801543084004414c051048082100000221684005c8015a40100040170025040132500014054900482500403088004000821194124a0b20000200229b9601c230180400802020800000408e49314200190121404002080218814a08085870ac84878814c3083662001837a2147837a050f845be9e82d8fe4b883e5bda9e7a59ee4bb99e9b1bca05714f772f5e2fa3a41a8c7435407b579b7c16397cf08eca605eadd9e63db7f6a88315d0b500d2cb0a8", - "totalDifficulty": "7772265011609637471285", + "hardcodedSync": { + "header": "f9020aa016c0aa39e09bf4ec53d630cdea0be984445c6c76f769b1541ce6b11c281c2fbda01dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d493479452bc44d5378309ee2abf1539bf71de1b7d7be3b5a0de05c24d96b1b9012d7a875feecf86924d7a8d98b00fd0b9b7768785088edb01a056e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421a056e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000870892f443c80323836ab801837a121d80845c2bdd638c6e616e6f706f6f6c2e6f7267a08f47201b260e0e422100cebf3d61a6acdcc49f4a24e0b1e680e26f13bea9dc4e88bef16aef8812be32", + "totalDifficulty": "8531065961847479229671", "CHTs": [ "0x0eb474b7721727204978e92e27d31cddff56471911e424a4c8271c35f9c982cc", "0xe10e94515fb5ffb7ffa9bf50db4a959b3f50c2ff75e0b8bd5f5e038749e52a11", @@ -3452,7 +3452,154 @@ "0x17e103cb26e7c5c7678a523f99f90387490bcca00916190e7e1b38274c52a375", "0x105b8126ef037364f46a44fdca4fea1ec4c099de5a05918688249fb8844dfea0", "0x7ca09f536bb9f0d7b3809c086918ba4750722edfd47153a8412fc761eb4783c8", - "0xc988cc2d92dcb85eaff8cf2f70ca49646cc5aff6c8e10b43a0581193137d3b92" + "0xc988cc2d92dcb85eaff8cf2f70ca49646cc5aff6c8e10b43a0581193137d3b92", + "0xfdd2130ac413b161515a29d01f0ea38bbe234e30f9753ad3eb122b0728d8e1bb", + "0xe8945552bc76c1db98d0d6453993472e75c489d696964a660d816a31d3f2c717", + "0x3c6130c0f35013d1d2992067488a8a7bf5a7b15d3ce00cb5708d79dcf8eb45aa", + "0x7be79941a43f391ea4366caeb6482bc5b4f7d85f55ce6cc91d6300822550417f", + "0x91ad8008733234c80946a16cf729423499a4b811d5b457f56268e0bb2825ad83", + "0xc3b17bec09d31d9a4a0902666e5278cc7458de8b663a564a53c7fa04948f18ec", + "0x7f527fa7d7332df12c625bb575d5a02e86b4a9188a9d75757b172d7a43595e9c", + "0xe3e2e24bb98bad170871a3803860b30cdd9e5bf05f4df69ffe859f0cad8999a9", + "0x395e940948704ccbafbc84b561d7e86f6c414b8fd34cf23692a0b1d2849b880e", + "0x0d90ba6d9cec7bfdcd8c089dfed671de95c7496c6b47953739e92a56b5236bc8", + "0x82132c33f678819d7da7c778e4884b0f7d10e1f0912885301277a2ab1db2a043", + "0x546f0ee2077c529d97ac29fc0a29e4162b6fe95bef2d0cc1a073a3c595185f5a", + "0xa08ad1abadbaf6ac33ed71893b2953c30c82b537f2b7efc4a823936f3ce407d9", + "0xb9a456deded38627d6e464e28c5c8e8c562b2f6aecbbb66e338184621aac5893", + "0xfd848c379f615abf2c6052f9f91c98e0ad6f45b5760f3b230bb10a02ca8aee01", + "0x49c99b4e21846ebafc7823adaa6e399a0ae22cdd67ce991ec58b958c871504b1", + "0xf5e1d32f10b281eccccc28b26254f032bec66a00620d46bb0dfa32fc14fc6d57", + "0xaea8fcc3dbc2f9af82c6eeccdea1030a74bb42dce190cf661471ae4fa052cc72", + "0xa30cd039fff05049b1ac82a3fce3aea92ab1ab058da97add8aa8fcb53b5fcc31", + "0xc8c87727a220a04b5cdc90093fff70aeab14edd25b90599caa559515e9f472f8", + "0x84f99e738a285033f43854e9b639691453d65171830dcf8c56cde6aa9a60100b", + "0xeaf3d87e7ecaf90c4a261df30540595c84f0fb43b9ac3b569120bf434b4fc521", + "0x8dfbe9deb689741bf6b8869b9b812a339bd70503474d75842ec4f721ba5e5aee", + "0x31e62e35c4c24954e6844dd9acc31cf21c44295d3744a76a5b264ed9ab19291a", + "0x764195f9c0d486dacca241ba5bb0b4d74d936080687243c9c6d2c0b608e684cf", + "0x45f0b003dc4dd663bc90b40be14a5d98be20f5d1041d2007210ddf257aacd866", + "0x1a2f1cd3cb0e86824ff55d52bff48d8627ba8407f5f8e3758f61edcb20084752", + "0x786f0ccd1548ff58c4ca0c3a5d648d3cf7bb6588acb6f1f84938d0fd7ae10b11", + "0x9e2d4bb1a3de0a602d1596cbbc712eb1259779cdc285ff8de412f0f53169a74a", + "0xbc3375f64ffccd58c1240d89f8cece571668280c567bd694607b10320e19d5ad", + "0x06b2e9aebfb6c5c7fcf3d1e33120c0f3ffd6a02b4ca1901dd2a7ae3b282fed24", + "0x54372b1e0f7456e69d4854937f5a3472d531e0e8be670fd1e744c1041025d2ab", + "0x70ea1c88193cb99b052c07319dcf3546e34559a28fba6542f8149e46d76a2836", + "0x36d80d0a12903b84079c4a3da17f44368db717512412f60e8394612d3d24edaa", + "0x64eb6681ee0a352b342b978bd937828dec322782927a63db587fb8c2fdacba0b", + "0x582bdc0da00c07fc327fb269a5990cb33e3b6bcd0e71d9193707fd7677935f45", + "0x43af6e0a2ccfe62ed7cfe8651e34a39ae114a1b08c15cfb7aa587f1639665008", + "0xe3e9cfaf0484e3d527009c370f9bf2f2ceb399bbfc9157033df34b1900598451", + "0x61d947ec543d5c700690aeb6f9f217a375a5ac1fc5e6899ab0a3ca3b2426a699", + "0xbcaba983f9d702008ce43e3f25f148596f128c436c35bbd05010c1153329121e", + "0x5305ada22ff089aeb56ea3bc61c4c67e4edaff1240a401f40d4cb15535825891", + "0x631e3fe402db919ad0b62228dde50a7703845d43fb86ba165ca3c36b88d35f07", + "0x87d89ac00db143c114f115942290ecf0284e62a3d0273c712015f6e391830714", + "0x74294af565afe5649315b50402ce0ee4ee93a0fec3de6a44a336b50dfbd33965", + "0xe13faed5afced183f1f468830b31e973d3b626b5d29102a6dd156ddad2b52a19", + "0x9fa97b97accf83a4d798da116d267eb6ee94e3e8a45ac96c15c6ef532ed583c9", + "0x13b60328e4fcb88f1bbe1a7dc31bf8035bea971f2a955adfafb1c80cb50540fc", + "0x4ef647f57565fe4010895ce9192b20f14ad1bfb229787d31360dc1fba528f097", + "0xe663f00eaf821cea5cbb669e700c6fe96b39633d58d0cadfcfa0c305566ddaf2", + "0x857b5e1cd8bdcdd477544ba847f2bb71a80839be83cd486c80f49ef5f03aa05b", + "0x04fa22e5b2e1295eae08c160d89aacf5988fcf234abcd6559d08ac0ec819b7b6", + "0x606b03cd72b48f84170541a8ba5e7473f7fb98663bd275767f4e8895dc5fbd77", + "0x8c1760c6e57e8fa0b34b521db41a91002398ae3e4b85b7cfaac447a4fd7b27bb", + "0x686f9726353dc21d8fd91a5bdb6720c815cc1b069e01a3baf51ebf21646ae27a", + "0x60b2747f88f74b6b8a5fb0bcf4f206806d9c69900f31f397145b1ce324bc4b0b", + "0x96bb8834eec4e8d652ab2d1e9904d4032707265d2531435305286ec7565ee333", + "0xae1372ae1fb3147d1e4f94a3b840b11df364781c60dcc2304aff67a1888b08d7", + "0x9bdf500fcdf7f47b16dad00f193de77d2feaeec4a3844c7a97d9d6fe754be73d", + "0xa3ae272c20bed715b96a6777f9927d654b1dfe285e3bf077a6c144118b3e689e", + "0x7b20afa1fcef7bb2c6196d8316210d7b9e8aeecab72093a2bb26779e440246f2", + "0xb6045904522cbe4e29efc67632ef662486ad4185e608b1a43abc276c869d3a44", + "0x99ca4bc614cd61d858cae5fd2c32e2fe8df6a713e5958b59eb5933146bb795c6", + "0xbcb2fbbdd294aefdc65c965cbce4f690cfd08a39fcb0fe4c4500efaa679fc5eb", + "0x5bb1c10c53c017dcd92a4fcb9ca99310062e8f2689d521afc4536777468a2c0c", + "0x8090b4334ccb0abca3e6ff662a6d6f296d162a38405600d0e229fe6622c06e5a", + "0xb148fe3d9929ef770c7760c5c2412622523727e59aa79f42d8e8f668112b1058", + "0xc452602f20af7e252a3d796dd685b6fd71140e522368f0fce78eddd3f310f696", + "0xb7da293297b71f6d82b4b56d4b02b20e795745d55933df8f32b3990723dd7200", + "0xaf1c9b7a8176f3696d8a5771f5a7d526fbe65c7ac17b6160cc0a7f492ad15522", + "0x675d783d4c5fc56106aff1de55c569fcc86d7ccc9ce18352c84e8d657942babb", + "0xa4cc61043fabb8a135225ee23b39639a21b75c225e716e78d19ab3eb5f39570a", + "0xc5967661349eeedd834aac16a2ceef215408baf032f410cae4cf7dd083448954", + "0x203aa3b0b91c11255c488e0685205222841d3547b0e8f6389fdbbd0ccdc5627a", + "0x707e3c95eab2259eb32d56153732d885d4685b9b4768e0c4493080c158942d10", + "0x56d6ba323b3e0aed6db776187e4a134c0329771891f0852218d7dacbc782786b", + "0x426e78c3799216353a6f1cbe4b821ded6c2ea2ac5abafba43ef59498f3d963b8", + "0x136a788a8f606960fdd307226f17208ed25ec11e20c8add70f4d7bf5a7094674", + "0x20f28a3ea3e2a1673ab9bcf21718ce65e9992542761df135db1516d70b7d1048", + "0xfc671303a07b11fb347a93ae05fb845c87497e8875dd52f6fcb208889c7a8ba2", + "0x7b1f68460d3722d0eabffaee4292cf3a8a2c2332bbf2b485ac29fb67e181d10f", + "0xea79ea4b46e60c2807a89a4e4495fcb27d1c0b232ab0dff897c1c29b04302c4a", + "0xc25e2f5b510d3948ebdad351b1010ecdb5eb9c15b2b635a2f319984d292b592c", + "0x9b798bbcbcd0b558ca5d0e99b1df69e717025712d3d0246277ae5f0f00a379f9", + "0x78cb4f6097f57d685707514f9923b440eb752c50e81e092e76568ce4071dc6f8", + "0x624c3d908482f6b307c41fd261ceb2e8e7705769a625a707581fba8f7cf6880f", + "0xc1096286b083b2b53df8ebc639ab336103e5071d5ccdccafbd51b2611e98263c", + "0x82e87c7e6dfee36822f908d9b83ca0ad01d8cb04b71076e7c095f277ba2f9721", + "0xc59deb5cab98581f72a30ea5b1d97d58d60090c3e4a38a80d5e95dee4d1beb49", + "0x46f6ad8a11ab6018449094c73fd6f12c2a02dd611817bc477e5896728a9ba20c", + "0x4fa31cbc172bce1b96902fb4668af7c5edb9ad0aa4aa88556bdc92133ac917ea", + "0xb1ce16f5fda7050f441a68ce38878f3b0f704cb9d07b09333223fd0db1e224eb", + "0xf9e6d6beb3d3cee105a56558c1c80109b7c3f640f92750d32a953490c8e49a03", + "0x1cc0660cbea7fb394122f05c509432939df206198be388f597a63ff345542371", + "0x8a990233ea772a8b1ae1a05067efde8e2bce4c0aa868010c9c930d9578a52b6e", + "0xa8898d9d95ee70ef7b7ffa5341ab778d66fca613a81c527668451dd2f0187be3", + "0x4976c79c14b4128a2dea82ecace675729d7197d06d512725595efb5d2aafe544", + "0x7459ad72c83d2250fc3056ce9a8619dfd4cb3f3b79530ec176fc1b65a88344e4", + "0x6d3cef3bd8181100de92a00157eb1d3452f74d5a650a3e5456e31c8fa64ccd18", + "0x8d1345230024f66514d00c72909572866ac422ade832ef17960de0172e288b7c", + "0xb31c61b316759513fb717ac7276813cf6e3fc6c8f69d745aa88131fa4e21e2ec", + "0x1fbac8f9060db69f1aa812bf2a5c051494aa65585835c0e04a14eec0c257a4ca", + "0x10970beda37aef785a26c1f67a6825f52315902c4acd0c28f17c28ba5228d56f", + "0xfd5355b1205e4f257c805a42b37b748e026f8a640667b58ef3f365d65b3ad7ab", + "0x289aaa44b27ebd9b581eec7fd02acb26f97bbec0941c0263bdbd52887cce6ad0", + "0xb12a4b6602795d577ef7e0c08d495efc81597a9720383cf5c62799c69dabfd33", + "0x4632d3a3a2017d16da2ece45589f41336a902fffccfd3916b62bf5c07e4566fc", + "0x848fbfa0ddcaeca6215ba16631e1a8e0481b5fa8d6c10bfae812b9db3db0314d", + "0x70c99cd948afce544597d8a24d4f8e836ce41a6dfba6ae92159070422a978fb9", + "0x2016276d24935e2fd488692618db088a6028456c30b97bf25bbc25d06620f2bd", + "0xb72f4cb68e8a5f7cf2095dcf5e7622a988ca2116a1f32c9e0b2f10d4a2f9c5c5", + "0x160d284bee200cfe4a094e7fba3d2e8aaf79eae7886f9455a72afe3a4d34c1c1", + "0x1d5a091116bf6097c870c4180074fe5370ccd190d8495fbaa6678843ddb568fd", + "0xf3cc06c8bdc245b17df05526873ea94b29016820bc7a207e84bcdcbff3d22bda", + "0x1ee426c0c1b7520ecdf50a1f15aa8d39849f4b61307bccdea0deeebd3a231eb6", + "0x018590cf655da681e4556da40944bc47a039356d0ce2bb677d00526c19fe7d56", + "0x2c58a5c7c224c771884d5252ab800b86b68934ed08ba39a13eb93bf2fe5bb4a7", + "0x36327e853671045ceee2390b141992d00f2e28fdee633d9638338830b638e5aa", + "0xbd197bdbc4720b20de016cb3e4ae5bf01c6982813e2b7c8ed68c76193070db49", + "0xd5f211f9b9671781c853dd50b4532ba7623611934410d71358b879ad13cb3def", + "0x18cefffcecc9763d7b8e7b5617e54286576ee981ea7ba886ab88435e321b8620", + "0x1ea84c5209f9a523416b82d780a08f7316c8355eb80d24dd84539dd33ae9cb3b", + "0x6cdad35eeb25f6b09c0a03fe367f859b66719463b63b280d8e15128fa598fa6f", + "0x6cfae8ad85b389eb5895f46c65b3d9277153177ad41ce7817bb8b9d2061a8149", + "0xc96a4f02330fa948bdefd1361b0be7cff9db6819007f624a1916fb234b60052b", + "0xf0020b10c9b330a73ae05d8bfe6defb738dba6e95571bd0897a7df2045df2bd3", + "0x8c31b99fdc9b619c1269c1724155b368586dd98a6324c2be78b1e96a265ab213", + "0x7f7beacc5e2eac7708d5df32d6a3c1d57d7133ab1f23f0c9de10482faf48ac76", + "0x72a18edb95e9c46bac4295caeaeabd0225dad790570496f32af12719eb201be1", + "0x84827cf9a51542f4b596ebde2e7a63620438e4404dc41e5b08533bb52bea883c", + "0x1bdaa51141889bf15e35bd1f7d7bf8e9bdb1e45993d80d131496aa552190cca2", + "0x999f63f4fd586baf6f00b56b8a60ba31d60353480c49a49f6196de0ff0bf3264", + "0x315474d3df7fac96bc940d288ce7286629b6f2d3a6d9375c1ecd8878079dbef5", + "0xff65bc9b2cfe0d26b16dd6d7f1ee247f7198d67b9075c7bfbfcf0af8e0fabd03", + "0xaf21db7dfa5c94b1d1276cb18af97dd57286fcff3395fe6897b2b4c21d3492a0", + "0x7bca2491e67626d968ed3c9eb953ef55005f6e92cd8d3879aa8d1c746091bc72", + "0x1ca1e8e053bd1ab7df8ee667e40eb672d1bfc6230f2f1f8cbb37a911dd154b9c", + "0xff0a0993dfe362458247b45863a45b53698d600798945d21a61185817195c473", + "0xf8ebd8060f16df4bc3688e1ae038205fd5b67079e2fc80251f6fb93f977dec8c", + "0x51602de9fa527f23030de58e60a7318ed5b6f13b16e74b549ed59936ba09510f", + "0x3eaab0754ddd2bc2be0c0e72974906d3b68dbeefb710735e22f15b5fbbcf102a", + "0x94f81d99473387ca87816038c2eb4ea655f66b64f22a4d0bb853989184362f88", + "0x81af931fe1599467aeaee038e1a78543f5df47f4244b1943edd5aacabe2f001d", + "0xc49179808d729115588351ab65972a7b2c2b18868c9a578dd512adfb4673c5a4", + "0x43b9d76f1c2bbab800dadc6ccb88b966ccda198e30068364cb9c0b9a346f5f03", + "0x1c9ae4b3977a1d4969ef3d950d2c74548c8b44bcee652a65f7df128511b84e48", + "0xa06a1a6ba91e429f805640faf789214f42be0d8d574065b7daea7daa37b05865", + "0xf53ed26aeec7ba846e10a84814e7264197a0b2bf485c74d98e8315f0ddfd4b3d" ] }, "nodes": [ @@ -3488,26692 +3635,26775 @@ "enode://140872ce4eee37177fbb7a3c3aa4aaebe3f30bdbf814dd112f6c364fc2e325ba2b6a942f7296677adcdf753c33170cb4999d2573b5ff7197b4c1868f25727e45@52.78.149.82:30303" ], "accounts": { - "0000000000000000000000000000000000000001": { "builtin": { "name": "ecrecover", "pricing": { "linear": { "base": 3000, "word": 0 } } } }, - "0000000000000000000000000000000000000002": { "builtin": { "name": "sha256", "pricing": { "linear": { "base": 60, "word": 12 } } } }, - "0000000000000000000000000000000000000003": { "builtin": { "name": "ripemd160", "pricing": { "linear": { "base": 600, "word": 120 } } } }, - "0000000000000000000000000000000000000004": { "builtin": { "name": "identity", "pricing": { "linear": { "base": 15, "word": 3 } } } }, - "0000000000000000000000000000000000000005": { "builtin": { "name": "modexp", "activate_at": 4370000, "pricing": { "modexp": { "divisor": 20 } } } }, - "0000000000000000000000000000000000000006": { "builtin": { "name": "alt_bn128_add", "activate_at": 4370000, "pricing": { "linear": { "base": 500, "word": 0 } } } }, - "0000000000000000000000000000000000000007": { "builtin": { "name": "alt_bn128_mul", "activate_at": 4370000, "pricing": { "linear": { "base": 40000, "word": 0 } } } }, - "0000000000000000000000000000000000000008": { "builtin": { "name": "alt_bn128_pairing", "activate_at": 4370000, "pricing": { "alt_bn128_pairing": { "base": 100000, "pair": 80000 } } } }, - "3282791d6fd713f1e94f4bfd565eaa78b3a0599d": { - "balance": "1337000000000000000000" + "0x0000000000000000000000000000000000000001": { + "builtin": { + "name": "ecrecover", + "pricing": { + "linear": { + "base": 3000, + "word": 0 + } + } + } + }, + "0x0000000000000000000000000000000000000002": { + "builtin": { + "name": "sha256", + "pricing": { + "linear": { + "base": 60, + "word": 12 + } + } + } + }, + "0x0000000000000000000000000000000000000003": { + "builtin": { + "name": "ripemd160", + "pricing": { + "linear": { + "base": 600, + "word": 120 + } + } + } + }, + "0x0000000000000000000000000000000000000004": { + "builtin": { + "name": "identity", + "pricing": { + "linear": { + "base": 15, + "word": 3 + } + } + } + }, + "0x0000000000000000000000000000000000000005": { + "builtin": { + "name": "modexp", + "activate_at": "0x42ae50", + "pricing": { + "modexp": { + "divisor": 20 + } + } + } + }, + "0x0000000000000000000000000000000000000006": { + "builtin": { + "name": "alt_bn128_add", + "activate_at": "0x42ae50", + "pricing": { + "linear": { + "base": 500, + "word": 0 + } + } + } + }, + "0x0000000000000000000000000000000000000007": { + "builtin": { + "name": "alt_bn128_mul", + "activate_at": "0x42ae50", + "pricing": { + "linear": { + "base": 40000, + "word": 0 + } + } + } + }, + "0x0000000000000000000000000000000000000008": { + "builtin": { + "name": "alt_bn128_pairing", + "activate_at": "0x42ae50", + "pricing": { + "alt_bn128_pairing": { + "base": 100000, + "pair": 80000 + } + } + } + }, + "0x3282791d6fd713f1e94f4bfd565eaa78b3a0599d": { + "balance": "0x487a9a304539440000" }, - "17961d633bcf20a7b029a7d94b7df4da2ec5427f": { - "balance": "229427000000000000000" + "0x17961d633bcf20a7b029a7d94b7df4da2ec5427f": { + "balance": "0xc6ff070f1938b8000" }, - "493a67fe23decc63b10dda75f3287695a81bd5ab": { - "balance": "880000000000000000000" + "0x493a67fe23decc63b10dda75f3287695a81bd5ab": { + "balance": "0x2fb474098f67c00000" }, - "01fb8ec12425a04f813e46c54c05748ca6b29aa9": { - "balance": "259800000000000000000" + "0x01fb8ec12425a04f813e46c54c05748ca6b29aa9": { + "balance": "0xe15730385467c0000" }, - "d2a030ac8952325f9e1db378a71485a24e1b07b2": { - "balance": "2000000000000000000000" + "0xd2a030ac8952325f9e1db378a71485a24e1b07b2": { + "balance": "0x6c6b935b8bbd400000" }, - "77a34907f305a54c85db09c363fde3c47e6ae21f": { - "balance": "985000000000000000000" + "0x77a34907f305a54c85db09c363fde3c47e6ae21f": { + "balance": "0x35659ef93f0fc40000" }, - "391a77405c09a72b5e8436237aaaf95d68da1709": { - "balance": "49082000000000000000" + "0x391a77405c09a72b5e8436237aaaf95d68da1709": { + "balance": "0x2a9264af3d1b90000" }, - "00aada25ea2286709abb422d41923fd380cd04c7": { - "balance": "650100000000000000000" + "0x00aada25ea2286709abb422d41923fd380cd04c7": { + "balance": "0x233df3299f61720000" }, - "acc46a2a555c74ded4a2bd094e821b97843b40c0": { - "balance": "1940000000000000000000" + "0xacc46a2a555c74ded4a2bd094e821b97843b40c0": { + "balance": "0x692ae8897081d00000" }, - "de07fb5b7a464e3ba7fbe09e9acb271af5338c58": { - "balance": "50000000000000000000" + "0xde07fb5b7a464e3ba7fbe09e9acb271af5338c58": { + "balance": "0x2b5e3af16b1880000" }, - "4c696be99f3a690440c3436a59a7d7e937d6ba0d": { - "balance": "3460000000000000000000" + "0x4c696be99f3a690440c3436a59a7d7e937d6ba0d": { + "balance": "0xbb9125542263900000" }, - "fa33553285a973719a0d5f956ff861b2d89ed304": { - "balance": "20000000000000000000" + "0xfa33553285a973719a0d5f956ff861b2d89ed304": { + "balance": "0x1158e460913d00000" }, - "67cfda6e70bf7657d39059b59790e5145afdbe61": { - "balance": "646000000000000000000" + "0x67cfda6e70bf7657d39059b59790e5145afdbe61": { + "balance": "0x23050d095866580000" }, - "a321091d3018064279db399d2b2a88a6f440ae24": { - "balance": "3200000000000000000000" + "0xa321091d3018064279db399d2b2a88a6f440ae24": { + "balance": "0xad78ebc5ac62000000" }, - "fb3fa1ac08aba9cc3bf0fe9d483820688f65b410": { - "balance": "30000000000000000000000" + "0xfb3fa1ac08aba9cc3bf0fe9d483820688f65b410": { + "balance": "0x65a4da25d3016c00000" }, - "6715c14035fb57bb3d667f7b707498c41074b855": { - "balance": "700000000000000000000" + "0x6715c14035fb57bb3d667f7b707498c41074b855": { + "balance": "0x25f273933db5700000" }, - "d4344f7d5cad65d17e5c2d0e7323943d6f62fe92": { - "balance": "267400000000000000000" + "0xd4344f7d5cad65d17e5c2d0e7323943d6f62fe92": { + "balance": "0xe7eeba3410b740000" }, - "a3294626ec2984c43b43da4d5d8e4669b11d4b59": { - "balance": "1008000000000000000000" + "0xa3294626ec2984c43b43da4d5d8e4669b11d4b59": { + "balance": "0x36a4cf636319c00000" }, - "656018584130db83ab0591a8128d9381666a8d0e": { - "balance": "63960000000000000000" + "0x656018584130db83ab0591a8128d9381666a8d0e": { + "balance": "0x3779f912019fc0000" }, - "0fa010ce0c731d3b628e36b91f571300e49dbeab": { - "balance": "999800000000000000000" + "0x0fa010ce0c731d3b628e36b91f571300e49dbeab": { + "balance": "0x36330322d5238c0000" }, - "3098b65db93ecacaf7353c48808390a223d57684": { - "balance": "449965000000000000000" + "0x3098b65db93ecacaf7353c48808390a223d57684": { + "balance": "0x186484cf7bb6a48000" }, - "ae635bf73831119d2d29c0d04ff8f8d8d0a57a46": { - "balance": "1337000000000000000000" + "0xae635bf73831119d2d29c0d04ff8f8d8d0a57a46": { + "balance": "0x487a9a304539440000" }, - "0f7515ff0e808f695e0c20485ff96ed2f7b79310": { - "balance": "1000169000000000000000" + "0x0f7515ff0e808f695e0c20485ff96ed2f7b79310": { + "balance": "0x3638221660a5aa8000" }, - "8b30c04098d7a7e6420c357ea7bfa49bac9a8a18": { - "balance": "8000200000000000000000" + "0x8b30c04098d7a7e6420c357ea7bfa49bac9a8a18": { + "balance": "0x1b1b113f91fb0140000" }, - "64dba2d6615b8bd7571836dc75bc79d314f5ecee": { - "balance": "10000000000000000000000" + "0x64dba2d6615b8bd7571836dc75bc79d314f5ecee": { + "balance": "0x21e19e0c9bab2400000" }, - "e7912d4cf4562c573ddc5b71e37310e378ef86c9": { - "balance": "394000000000000000000" + "0xe7912d4cf4562c573ddc5b71e37310e378ef86c9": { + "balance": "0x155bd9307f9fe80000" }, - "a4da34450d22ec0ffcede0004b02f7872ee0b73a": { - "balance": "93342000000000000000" + "0xa4da34450d22ec0ffcede0004b02f7872ee0b73a": { + "balance": "0x50f616673f0830000" }, - "34437d1465640b136cb5841c3f934f9ba0b7097d": { - "balance": "173000000000000000000" + "0x34437d1465640b136cb5841c3f934f9ba0b7097d": { + "balance": "0x960db77681e940000" }, - "c652871d192422c6bc235fa063b44a7e1d43e385": { - "balance": "155000000000000000000" + "0xc652871d192422c6bc235fa063b44a7e1d43e385": { + "balance": "0x8670e9ec6598c0000" }, - "a8a708e84f82db86a35502193b4c6ee9a76ebe8f": { - "balance": "1015200000000000000000" + "0xa8a708e84f82db86a35502193b4c6ee9a76ebe8f": { + "balance": "0x3708baed3d68900000" }, - "5c3f567faff7bad1b5120022e8cbcaa82b4917b3": { - "balance": "2000000000000000000000" + "0x5c3f567faff7bad1b5120022e8cbcaa82b4917b3": { + "balance": "0x6c6b935b8bbd400000" }, - "dbc1d0ee2bab531140de137722cd36bdb4e47194": { - "balance": "200000000000000000000" + "0xdbc1d0ee2bab531140de137722cd36bdb4e47194": { + "balance": "0xad78ebc5ac6200000" }, - "f59dab1bf8df11327e61f9b7a14b563a96ec3554": { - "balance": "6000000000000000000000" + "0xf59dab1bf8df11327e61f9b7a14b563a96ec3554": { + "balance": "0x14542ba12a337c00000" }, - "456f8d746682b224679349064d1b368c7c05b176": { - "balance": "3700000000000000000000" + "0x456f8d746682b224679349064d1b368c7c05b176": { + "balance": "0xc893d09c8f51500000" }, - "5f13154631466dcb1353c890932a7c97e0878e90": { - "balance": "6000000000000000000000" + "0x5f13154631466dcb1353c890932a7c97e0878e90": { + "balance": "0x14542ba12a337c00000" }, - "f4b1626e24f30bcad9273c527fcc714b5d007b8f": { - "balance": "200000000000000000000" + "0xf4b1626e24f30bcad9273c527fcc714b5d007b8f": { + "balance": "0xad78ebc5ac6200000" }, - "a8db0b9b201453333c757f6ad9bcb555c02da93b": { - "balance": "2199970000000000000000" + "0xa8db0b9b201453333c757f6ad9bcb555c02da93b": { + "balance": "0x7742b7830f341d0000" }, - "a0fc7e53c5ebd27a2abdac45261f84ab3b51aefb": { - "balance": "3008250000000000000000" + "0xa0fc7e53c5ebd27a2abdac45261f84ab3b51aefb": { + "balance": "0xa313daec9bc0d90000" }, - "1b636b7a496f044d7359596e353a104616436f6b": { - "balance": "360354000000000000000" + "0x1b636b7a496f044d7359596e353a104616436f6b": { + "balance": "0x1388ea95c33f1d0000" }, - "74bce9ec38362d6c94ccac26d5c0e13a8b3b1d40": { - "balance": "999954000000000000000" + "0x74bce9ec38362d6c94ccac26d5c0e13a8b3b1d40": { + "balance": "0x363526410442f50000" }, - "9834682180b982d166badb9d9d1d9bbf016d87ee": { - "balance": "2000000000000000000000" + "0x9834682180b982d166badb9d9d1d9bbf016d87ee": { + "balance": "0x6c6b935b8bbd400000" }, - "1e6e0153fc161bc05e656bbb144c7187bf4fe84d": { - "balance": "2000000000000000000000" + "0x1e6e0153fc161bc05e656bbb144c7187bf4fe84d": { + "balance": "0x6c6b935b8bbd400000" }, - "989c0ccff654da03aeb11af701054561d6297e1d": { - "balance": "4000000000000000000000" + "0x989c0ccff654da03aeb11af701054561d6297e1d": { + "balance": "0xd8d726b7177a800000" }, - "78a1e254409fb1b55a7cb4dd8eba3b30c8bad9ef": { - "balance": "100000000000000000000" + "0x78a1e254409fb1b55a7cb4dd8eba3b30c8bad9ef": { + "balance": "0x56bc75e2d63100000" }, - "9ef1896b007c32a15114fb89d73dbd47f9122b69": { - "balance": "4000000000000000000000" + "0x9ef1896b007c32a15114fb89d73dbd47f9122b69": { + "balance": "0xd8d726b7177a800000" }, - "33320dd90f2baa110dd334872a998f148426453c": { - "balance": "999972000000000000000" + "0x33320dd90f2baa110dd334872a998f148426453c": { + "balance": "0x36356633ebd8ea0000" }, - "e72e1d335cc29a96b9b1c02f003a16d971e90b9d": { - "balance": "1580000000000000000000" + "0xe72e1d335cc29a96b9b1c02f003a16d971e90b9d": { + "balance": "0x55a6e79ccd1d300000" }, - "0921605f99164e3bcc28f31caece78973182561d": { - "balance": "793744000000000000000" + "0x0921605f99164e3bcc28f31caece78973182561d": { + "balance": "0x2b07692a9065a80000" }, - "fc00a420a36107dfd5f495128a5fe5abb2db0f34": { - "balance": "5960000000000000000000" + "0xfc00a420a36107dfd5f495128a5fe5abb2db0f34": { + "balance": "0x143179d869110200000" }, - "dfcbdf09454e1a5e4a40d3eef7c5cf1cd3de9486": { - "balance": "4000000000000000000000" + "0xdfcbdf09454e1a5e4a40d3eef7c5cf1cd3de9486": { + "balance": "0xd8d726b7177a800000" }, - "646e043d0597a664948fbb0dc15475a3a4f3a6ed": { - "balance": "20000000000000000000" + "0x646e043d0597a664948fbb0dc15475a3a4f3a6ed": { + "balance": "0x1158e460913d00000" }, - "79aeb34566b974c35a5881dec020927da7df5d25": { - "balance": "2000000000000000000000" + "0x79aeb34566b974c35a5881dec020927da7df5d25": { + "balance": "0x6c6b935b8bbd400000" }, - "dbadc61ed5f0460a7f18e51b2fb2614d9264a0e0": { - "balance": "40000000000000000000" + "0xdbadc61ed5f0460a7f18e51b2fb2614d9264a0e0": { + "balance": "0x22b1c8c1227a00000" }, - "97b91efe7350c2d57e7e406bab18f3617bcde14a": { - "balance": "9999980000000000000000" + "0x97b91efe7350c2d57e7e406bab18f3617bcde14a": { + "balance": "0x21e1999bbd5d2be0000" }, - "8398e07ebcb4f75ff2116de77c1c2a99f303a4cf": { - "balance": "500000000000000000000" + "0x8398e07ebcb4f75ff2116de77c1c2a99f303a4cf": { + "balance": "0x1b1ae4d6e2ef500000" }, - "f02796295101674288c1d93467053d042219b794": { - "balance": "740000000000000000000" + "0xf02796295101674288c1d93467053d042219b794": { + "balance": "0x281d901f4fdd100000" }, - "f4ed848ec961739c2c7e352f435ba70a7cd5db38": { - "balance": "1970000000000000000000" + "0xf4ed848ec961739c2c7e352f435ba70a7cd5db38": { + "balance": "0x6acb3df27e1f880000" }, - "82485728d0e281563758c75ab27ed9e882a0002d": { - "balance": "147000000000000000000" + "0x82485728d0e281563758c75ab27ed9e882a0002d": { + "balance": "0x7f808e9291e6c0000" }, - "427ec668ac9404e895cc861511d1620a4912be98": { - "balance": "40000000000000000000000" + "0x427ec668ac9404e895cc861511d1620a4912be98": { + "balance": "0x878678326eac9000000" }, - "1bbc199e586790be87afedc849c04726745c5d7b": { - "balance": "4000000000000000000000" + "0x1bbc199e586790be87afedc849c04726745c5d7b": { + "balance": "0xd8d726b7177a800000" }, - "10d945334ecde47beb9ca3816c173dfbbd0b5333": { - "balance": "1400000000000000000000" + "0x10d945334ecde47beb9ca3816c173dfbbd0b5333": { + "balance": "0x4be4e7267b6ae00000" }, - "1dcebcb7656df5dcaa3368a055d22f9ed6cdd940": { - "balance": "499800000000000000000" + "0x1dcebcb7656df5dcaa3368a055d22f9ed6cdd940": { + "balance": "0x1b181e4bf2343c0000" }, - "2ac1f8d7bf721f3cfe74d20fea9b87a28aaa982c": { - "balance": "161000000000000000000" + "0x2ac1f8d7bf721f3cfe74d20fea9b87a28aaa982c": { + "balance": "0x8ba52e6fc45e40000" }, - "0a47ad9059a249fc936b2662353da6905f75c2b9": { - "balance": "2000000000000000000000" + "0x0a47ad9059a249fc936b2662353da6905f75c2b9": { + "balance": "0x6c6b935b8bbd400000" }, - "768498934e37e905f1d0e77b44b574bcf3ec4ae8": { - "balance": "20000000000000000000000" + "0x768498934e37e905f1d0e77b44b574bcf3ec4ae8": { + "balance": "0x43c33c1937564800000" }, - "f46b6b9c7cb552829c1d3dfd8ffb11aabae782f6": { - "balance": "21000000000000000000" + "0xf46b6b9c7cb552829c1d3dfd8ffb11aabae782f6": { + "balance": "0x1236efcbcbb340000" }, - "7aea25d42b2612286e99c53697c6bc4100e2dbbf": { - "balance": "2000000000000000000000" + "0x7aea25d42b2612286e99c53697c6bc4100e2dbbf": { + "balance": "0x6c6b935b8bbd400000" }, - "af3615c789d0b1152ad4db25fe5dcf222804cf62": { - "balance": "1000000000000000000000" + "0xaf3615c789d0b1152ad4db25fe5dcf222804cf62": { + "balance": "0x3635c9adc5dea00000" }, - "92e6581e1da1f9b846e09347333dc818e2d2ac66": { - "balance": "3640000000000000000000" + "0x92e6581e1da1f9b846e09347333dc818e2d2ac66": { + "balance": "0xc55325ca7415e00000" }, - "240305727313d01e73542c775ff59d11cd35f819": { - "balance": "5931229000000000000000" + "0x240305727313d01e73542c775ff59d11cd35f819": { + "balance": "0x141885666807f5c8000" }, - "b95cfda8465ba9c2661b249fc3ab661bdfa35ff0": { - "balance": "318949000000000000000" + "0xb95cfda8465ba9c2661b249fc3ab661bdfa35ff0": { + "balance": "0x114a4e79a2c2108000" }, - "1b0d076817e8d68ee2df4e1da1c1142d198c4435": { - "balance": "1550000000000000000000" + "0x1b0d076817e8d68ee2df4e1da1c1142d198c4435": { + "balance": "0x54069233bf7f780000" }, - "93c2e64e5de5589ed25006e843196ee9b1cf0b3e": { - "balance": "1670000000000000000000" + "0x93c2e64e5de5589ed25006e843196ee9b1cf0b3e": { + "balance": "0x5a87e7d7f5f6580000" }, - "0e2e504a2d1122b5a9feee5cb1451bf4c2ace87b": { - "balance": "3940000000000000000000" + "0x0e2e504a2d1122b5a9feee5cb1451bf4c2ace87b": { + "balance": "0xd5967be4fc3f100000" }, - "22b96ab2cad55db100b53001f9e4db378104c807": { - "balance": "10000000000000000000000" + "0x22b96ab2cad55db100b53001f9e4db378104c807": { + "balance": "0x21e19e0c9bab2400000" }, - "a927d48bb6cb814bc609cbcaa9151f5d459a27e1": { - "balance": "271600000000000000000" + "0xa927d48bb6cb814bc609cbcaa9151f5d459a27e1": { + "balance": "0xeb935090064180000" }, - "5cbd8daf27ddf704cdd0d909a789ba36ed4f37b2": { - "balance": "13400000000000000000" + "0x5cbd8daf27ddf704cdd0d909a789ba36ed4f37b2": { + "balance": "0xb9f65d00f63c0000" }, - "9adbd3bc7b0afc05d1d2eda49ff863939c48db46": { - "balance": "199955000000000000000" + "0x9adbd3bc7b0afc05d1d2eda49ff863939c48db46": { + "balance": "0xad6eedd17cf3b8000" }, - "ac7e03702723cb16ee27e22dd0b815dc2d5cae9f": { - "balance": "16000000000000000000000" + "0xac7e03702723cb16ee27e22dd0b815dc2d5cae9f": { + "balance": "0x3635c9adc5dea000000" }, - "1e210e7047886daa52aaf70f4b991dac68e3025e": { - "balance": "200000000000000000000" + "0x1e210e7047886daa52aaf70f4b991dac68e3025e": { + "balance": "0xad78ebc5ac6200000" }, - "c98048687f2bfcc9bd90ed18736c57edd352b65d": { - "balance": "1000000000000000000000" + "0xc98048687f2bfcc9bd90ed18736c57edd352b65d": { + "balance": "0x3635c9adc5dea00000" }, - "81c18c2a238ddc4cba230a072dd7dc101e620273": { - "balance": "1337000000000000000000" + "0x81c18c2a238ddc4cba230a072dd7dc101e620273": { + "balance": "0x487a9a304539440000" }, - "cb3d766c983f192bcecac70f4ee03dd9ff714d51": { - "balance": "100000000000000000000" + "0xcb3d766c983f192bcecac70f4ee03dd9ff714d51": { + "balance": "0x56bc75e2d63100000" }, - "44a63d18424587b9b307bfc3c364ae10cd04c713": { - "balance": "20000000000000000000" + "0x44a63d18424587b9b307bfc3c364ae10cd04c713": { + "balance": "0x1158e460913d00000" }, - "4ab2d34f04834fbf7479649cab923d2c4725c553": { - "balance": "3520000000000000000000" + "0x4ab2d34f04834fbf7479649cab923d2c4725c553": { + "balance": "0xbed1d0263d9f000000" }, - "b834acf3015322c58382eeb2b79638906e88b6de": { - "balance": "24000000000000000000000" + "0xb834acf3015322c58382eeb2b79638906e88b6de": { + "balance": "0x5150ae84a8cdf000000" }, - "7d551397f79a2988b064afd0efebee802c7721bc": { - "balance": "39400000000000000000000" + "0x7d551397f79a2988b064afd0efebee802c7721bc": { + "balance": "0x857e0d6f1da76a00000" }, - "b537d36a70eeb8d3e5c80de815225c1158cb92c4": { - "balance": "1500000000000000000000" + "0xb537d36a70eeb8d3e5c80de815225c1158cb92c4": { + "balance": "0x5150ae84a8cdf00000" }, - "805ce51297a0793b812067f017b3e7b2df9bb1f9": { - "balance": "100000000000000000000" + "0x805ce51297a0793b812067f017b3e7b2df9bb1f9": { + "balance": "0x56bc75e2d63100000" }, - "085ba65febe23eefc2c802666ab1262382cfc494": { - "balance": "400000000000000000000" + "0x085ba65febe23eefc2c802666ab1262382cfc494": { + "balance": "0x15af1d78b58c400000" }, - "b1c0d08b36e184f9952a4037e3e53a667d070a4e": { - "balance": "1000000000000000000000" + "0xb1c0d08b36e184f9952a4037e3e53a667d070a4e": { + "balance": "0x3635c9adc5dea00000" }, - "83fe5a1b328bae440711beaf6aad6026eda6d220": { - "balance": "20000000000000000000000" + "0x83fe5a1b328bae440711beaf6aad6026eda6d220": { + "balance": "0x43c33c1937564800000" }, - "7fd679e5fb0da2a5d116194dcb508318edc580f3": { - "balance": "6560000000000000000000" + "0x7fd679e5fb0da2a5d116194dcb508318edc580f3": { + "balance": "0x1639e49bba162800000" }, - "41ad369f758fef38a19aa3149379832c818ef2a0": { - "balance": "1000060000000000000000" + "0x41ad369f758fef38a19aa3149379832c818ef2a0": { + "balance": "0x36369ed7747d260000" }, - "6d846dc12657e91af25008519c3e857f51707dd6": { - "balance": "4590000000000000000000" + "0x6d846dc12657e91af25008519c3e857f51707dd6": { + "balance": "0xf8d30bc92342f80000" }, - "c02d6eadeacf1b78b3ca85035c637bb1ce01f490": { - "balance": "4000000000000000000000" + "0xc02d6eadeacf1b78b3ca85035c637bb1ce01f490": { + "balance": "0xd8d726b7177a800000" }, - "826eb7cd7319b82dd07a1f3b409071d96e39677f": { - "balance": "1000000000000000000000" + "0x826eb7cd7319b82dd07a1f3b409071d96e39677f": { + "balance": "0x3635c9adc5dea00000" }, - "4ac9905a4cb6ab1cfd62546ee5917300b87c4fde": { - "balance": "1015200000000000000000" + "0x4ac9905a4cb6ab1cfd62546ee5917300b87c4fde": { + "balance": "0x3708baed3d68900000" }, - "cf6e52e6b77480b1867efec6446d9fc3cc3577e8": { - "balance": "222010000000000000000" + "0xcf6e52e6b77480b1867efec6446d9fc3cc3577e8": { + "balance": "0xc0901f6bd98790000" }, - "2476b2bb751ce748e1a4c4ff7b230be0c15d2245": { - "balance": "4000000000000000000000" + "0x2476b2bb751ce748e1a4c4ff7b230be0c15d2245": { + "balance": "0xd8d726b7177a800000" }, - "1a505e62a74e87e577473e4f3afa16bedd3cfa52": { - "balance": "500000000000000000000" + "0x1a505e62a74e87e577473e4f3afa16bedd3cfa52": { + "balance": "0x1b1ae4d6e2ef500000" }, - "21d02705f3f64905d80ed9147913ea8c7307d695": { - "balance": "1363740000000000000000" + "0x21d02705f3f64905d80ed9147913ea8c7307d695": { + "balance": "0x49edb1c09887360000" }, - "7b1daf14891b8a1e1bd429d8b36b9a4aa1d9afbf": { - "balance": "500000000000000000000" + "0x7b1daf14891b8a1e1bd429d8b36b9a4aa1d9afbf": { + "balance": "0x1b1ae4d6e2ef500000" }, - "5338ef70eac9dd9af5a0503b5efad1039e67e725": { - "balance": "2674000000000000000000" + "0x5338ef70eac9dd9af5a0503b5efad1039e67e725": { + "balance": "0x90f534608a72880000" }, - "50ca86b5eb1d01874df8e5f34945d49c6c1ab848": { - "balance": "1000000000000000000000" + "0x50ca86b5eb1d01874df8e5f34945d49c6c1ab848": { + "balance": "0x3635c9adc5dea00000" }, - "f3cc8bcb559465f81bfe583bd7ab0a2306453b9e": { - "balance": "20000000000000000000000" + "0xf3cc8bcb559465f81bfe583bd7ab0a2306453b9e": { + "balance": "0x43c33c1937564800000" }, - "5c323457e187761a8276e359b7b7af3f3b6e3df6": { - "balance": "10000000000000000000000" + "0x5c323457e187761a8276e359b7b7af3f3b6e3df6": { + "balance": "0x21e19e0c9bab2400000" }, - "4d82d7700c123bb919419bbaf046799c6b0e2c66": { - "balance": "20000000000000000000000" + "0x4d82d7700c123bb919419bbaf046799c6b0e2c66": { + "balance": "0x43c33c1937564800000" }, - "8a66abbc2d30ce21a833b0db8e561d5105e0a72c": { - "balance": "699958000000000000000" + "0x8a66abbc2d30ce21a833b0db8e561d5105e0a72c": { + "balance": "0x25f1de5c76acdf0000" }, - "2ae53866fc2d14d572ab73b4a065a1188267f527": { - "balance": "8000000000000000000000" + "0x2ae53866fc2d14d572ab73b4a065a1188267f527": { + "balance": "0x1b1ae4d6e2ef5000000" }, - "9af5c9894c33e42c2c518e3ac670ea9505d1b53e": { - "balance": "18200000000000000000" + "0x9af5c9894c33e42c2c518e3ac670ea9505d1b53e": { + "balance": "0xfc936392801c0000" }, - "cba25c7a503cc8e0d04971ca05c762f9b762b48b": { - "balance": "500000000000000000000" + "0xcba25c7a503cc8e0d04971ca05c762f9b762b48b": { + "balance": "0x1b1ae4d6e2ef500000" }, - "fda3042819af3e662900e1b92b4358eda6e92590": { - "balance": "118200000000000000000000" + "0xfda3042819af3e662900e1b92b4358eda6e92590": { + "balance": "0x1907a284d58f63e00000" }, - "9bd7c38a4210304a4d653edeff1b3ce45fce7843": { - "balance": "282000000000000000000" + "0x9bd7c38a4210304a4d653edeff1b3ce45fce7843": { + "balance": "0xf498941e664280000" }, - "edc22fb92c638e1e21ff5cf039daa6e734dafb29": { - "balance": "298000000000000000000" + "0xedc22fb92c638e1e21ff5cf039daa6e734dafb29": { + "balance": "0x102794ad20da680000" }, - "a1f193a0592f1feb9fdfc90aa813784eb80471c9": { - "balance": "1400000000000000000000" + "0xa1f193a0592f1feb9fdfc90aa813784eb80471c9": { + "balance": "0x4be4e7267b6ae00000" }, - "e97fde0b67716325cf0ecce8a191a3761b2c791d": { - "balance": "1004700000000000000000" + "0xe97fde0b67716325cf0ecce8a191a3761b2c791d": { + "balance": "0x3677036edf0af60000" }, - "110237cf9117e767922fc4a1b78d7964da82df20": { - "balance": "3940000000000000000000" + "0x110237cf9117e767922fc4a1b78d7964da82df20": { + "balance": "0xd5967be4fc3f100000" }, - "e32f95766d57b5cd4b173289d6876f9e64558194": { - "balance": "100000000000000000000" + "0xe32f95766d57b5cd4b173289d6876f9e64558194": { + "balance": "0x56bc75e2d63100000" }, - "f2d59c8923759073d6f415aaf8eb065ff2f3b685": { - "balance": "7880000000000000000000" + "0xf2d59c8923759073d6f415aaf8eb065ff2f3b685": { + "balance": "0x1ab2cf7c9f87e200000" }, - "c53d79f7cb9b70952fd30fce58d54b9f0b59f647": { - "balance": "5089200000000000000000" + "0xc53d79f7cb9b70952fd30fce58d54b9f0b59f647": { + "balance": "0x113e2d6744345f80000" }, - "9eb281c32719c40fdb3e216db0f37fbc73a026b7": { - "balance": "20000000000000000000" + "0x9eb281c32719c40fdb3e216db0f37fbc73a026b7": { + "balance": "0x1158e460913d00000" }, - "2d6511fd7a3800b26854c7ec39c0dcb5f4c4e8e8": { - "balance": "399910000000000000000" + "0x2d6511fd7a3800b26854c7ec39c0dcb5f4c4e8e8": { + "balance": "0x15adddba2f9e770000" }, - "61ba87c77e9b596de7ba0e326fddfeec2163ef66": { - "balance": "200000000000000000000" + "0x61ba87c77e9b596de7ba0e326fddfeec2163ef66": { + "balance": "0xad78ebc5ac6200000" }, - "de1121829c9a08284087a43fbd2fc1142a3233b4": { - "balance": "1000000000000000000000" + "0xde1121829c9a08284087a43fbd2fc1142a3233b4": { + "balance": "0x3635c9adc5dea00000" }, - "22a25812ab56dcc423175ed1d8adacce33cd1810": { - "balance": "1850000000000000000000" + "0x22a25812ab56dcc423175ed1d8adacce33cd1810": { + "balance": "0x6449e84e47a8a80000" }, - "518cef27b10582b6d14f69483ddaa0dd3c87bb5c": { - "balance": "600000000000000000000" + "0x518cef27b10582b6d14f69483ddaa0dd3c87bb5c": { + "balance": "0x2086ac351052600000" }, - "59161749fedcf1c721f2202d13ade2abcf460b3d": { - "balance": "2000000000000000000000" + "0x59161749fedcf1c721f2202d13ade2abcf460b3d": { + "balance": "0x6c6b935b8bbd400000" }, - "3e36c17253c11cf38974ed0db1b759160da63783": { - "balance": "7000000000000000000000" + "0x3e36c17253c11cf38974ed0db1b759160da63783": { + "balance": "0x17b7883c06916600000" }, - "cbfa76db04ce38fb205d37b8d377cf1380da0317": { - "balance": "1430000000000000000000" + "0xcbfa76db04ce38fb205d37b8d377cf1380da0317": { + "balance": "0x4d853c8f8908980000" }, - "a7e83772bc200f9006aa2a260dbaa8483dc52b30": { - "balance": "207730000000000000000" + "0xa7e83772bc200f9006aa2a260dbaa8483dc52b30": { + "balance": "0xb42d5366637e50000" }, - "e87eac6d602b4109c9671bf57b950c2cfdb99d55": { - "balance": "49932000000000000000" + "0xe87eac6d602b4109c9671bf57b950c2cfdb99d55": { + "balance": "0x2b4f21972ecce0000" }, - "9b06ad841dffbe4ccf46f1039fc386f3c321446e": { - "balance": "2000000000000000000000" + "0x9b06ad841dffbe4ccf46f1039fc386f3c321446e": { + "balance": "0x6c6b935b8bbd400000" }, - "e0f903c1e48ac421ab48528f3d4a2648080fe043": { - "balance": "1015200000000000000000" + "0xe0f903c1e48ac421ab48528f3d4a2648080fe043": { + "balance": "0x3708baed3d68900000" }, - "5d872b122e994ef27c71d7deb457bf65429eca6c": { - "balance": "7999973000000000000000" + "0x5d872b122e994ef27c71d7deb457bf65429eca6c": { + "balance": "0x1b1aded81d394108000" }, - "f34083ecea385017aa40bdd35ef7effb4ce7762d": { - "balance": "400000000000000000000" + "0xf34083ecea385017aa40bdd35ef7effb4ce7762d": { + "balance": "0x15af1d78b58c400000" }, - "7f3709391f3fbeba3592d175c740e87a09541d02": { - "balance": "480000000000000000000" + "0x7f3709391f3fbeba3592d175c740e87a09541d02": { + "balance": "0x1a055690d9db800000" }, - "888e94917083d152202b53163939869d271175b4": { - "balance": "4000000000000000000000" + "0x888e94917083d152202b53163939869d271175b4": { + "balance": "0xd8d726b7177a800000" }, - "bed4c8f006a27c1e5f7ce205de75f516bfb9f764": { - "balance": "16000000000000000000000" + "0xbed4c8f006a27c1e5f7ce205de75f516bfb9f764": { + "balance": "0x3635c9adc5dea000000" }, - "b3a6bd41f9d9c3201e050b87198fbda399342210": { - "balance": "3622615000000000000000" + "0xb3a6bd41f9d9c3201e050b87198fbda399342210": { + "balance": "0xc461e1dd1029b58000" }, - "550aadae1221b07afea39fba2ed62e05e5b7b5f9": { - "balance": "20000000000000000000" + "0x550aadae1221b07afea39fba2ed62e05e5b7b5f9": { + "balance": "0x1158e460913d00000" }, - "bcedc4267ccb89b31bb764d7211171008d94d44d": { - "balance": "200000000000000000000" + "0xbcedc4267ccb89b31bb764d7211171008d94d44d": { + "balance": "0xad78ebc5ac6200000" }, - "6229dcc203b1edccfdf06e87910c452a1f4d7a72": { - "balance": "32500000000000000000000" + "0x6229dcc203b1edccfdf06e87910c452a1f4d7a72": { + "balance": "0x6e1d41a8f9ec3500000" }, - "94be3ae54f62d663b0d4cc9e1ea8fe9556ea9ebf": { - "balance": "23280000000000000000" + "0x94be3ae54f62d663b0d4cc9e1ea8fe9556ea9ebf": { + "balance": "0x143132ca843180000" }, - "0e0c9d005ea016c295cd795cc9213e87febc33eb": { - "balance": "198000000000000000000" + "0x0e0c9d005ea016c295cd795cc9213e87febc33eb": { + "balance": "0xabbcd4ef377580000" }, - "55d057bcc04bd0f4af9642513aa5090bb3ff93fe": { - "balance": "1106680000000000000000" + "0x55d057bcc04bd0f4af9642513aa5090bb3ff93fe": { + "balance": "0x3bfe452c8edd4c0000" }, - "ed9e030ca75cb1d29ea01d0d4cdfdccd3844b6e4": { - "balance": "30895000000000000000" + "0xed9e030ca75cb1d29ea01d0d4cdfdccd3844b6e4": { + "balance": "0x1acc116cfafb18000" }, - "86c4ce06d9ac185bb148d96f7b7abe73f441006d": { - "balance": "10000000000000000000000" + "0x86c4ce06d9ac185bb148d96f7b7abe73f441006d": { + "balance": "0x21e19e0c9bab2400000" }, - "2c04115c3e52961b0dc0b0bf31fba4546f5966fd": { - "balance": "200000000000000000000" + "0x2c04115c3e52961b0dc0b0bf31fba4546f5966fd": { + "balance": "0xad78ebc5ac6200000" }, - "b959dce02e91d9db02b1bd8b7d17a9c41a97af09": { - "balance": "8000000000000000000000" + "0xb959dce02e91d9db02b1bd8b7d17a9c41a97af09": { + "balance": "0x1b1ae4d6e2ef5000000" }, - "e01547ba42fcafaf93938becf7699f74290af74f": { - "balance": "2000000000000000000000" + "0xe01547ba42fcafaf93938becf7699f74290af74f": { + "balance": "0x6c6b935b8bbd400000" }, - "c593d6e37d14b566643ac4135f243caa0787c182": { - "balance": "12000000000000000000000" + "0xc593d6e37d14b566643ac4135f243caa0787c182": { + "balance": "0x28a857425466f800000" }, - "2c0ee134d8b36145b47beee7af8d2738dbda08e8": { - "balance": "201000000000000000000" + "0x2c0ee134d8b36145b47beee7af8d2738dbda08e8": { + "balance": "0xae56f730e6d840000" }, - "0ef54ac7264d2254abbb5f8b41adde875157db7c": { - "balance": "40000000000000000000" + "0x0ef54ac7264d2254abbb5f8b41adde875157db7c": { + "balance": "0x22b1c8c1227a00000" }, - "0349634dc2a9e80c3f7721ee2b5046aeaaedfbb5": { - "balance": "4000000000000000000000" + "0x0349634dc2a9e80c3f7721ee2b5046aeaaedfbb5": { + "balance": "0xd8d726b7177a800000" }, - "873e49135c3391991060290aa7f6ccb8f85a78db": { - "balance": "20000000000000000000" + "0x873e49135c3391991060290aa7f6ccb8f85a78db": { + "balance": "0x1158e460913d00000" }, - "05236d4c90d065f9e3938358aaffd777b86aec49": { - "balance": "500000000000000000000" + "0x05236d4c90d065f9e3938358aaffd777b86aec49": { + "balance": "0x1b1ae4d6e2ef500000" }, - "d2abd84a181093e5e229136f42d835e8235de109": { - "balance": "100007000000000000000" + "0xd2abd84a181093e5e229136f42d835e8235de109": { + "balance": "0x56be03ca3e47d8000" }, - "b56a780028039c81caf37b6775c620e786954764": { - "balance": "2000000000000000000000" + "0xb56a780028039c81caf37b6775c620e786954764": { + "balance": "0x6c6b935b8bbd400000" }, - "86df73bd377f2c09de63c45d67f283eaefa0f4ab": { - "balance": "1000000000000000000000" + "0x86df73bd377f2c09de63c45d67f283eaefa0f4ab": { + "balance": "0x3635c9adc5dea00000" }, - "7670b02f2c3cf8fd4f4730f3381a71ea431c33c7": { - "balance": "267400000000000000000" + "0x7670b02f2c3cf8fd4f4730f3381a71ea431c33c7": { + "balance": "0xe7eeba3410b740000" }, - "24aa1151bb765fa3a89ca50eb6e1b1c706417fd4": { - "balance": "3100000000000000000000" + "0x24aa1151bb765fa3a89ca50eb6e1b1c706417fd4": { + "balance": "0xa80d24677efef00000" }, - "43227d65334e691cf231b4a4e1d339b95d598afb": { - "balance": "10000000000000000000000" + "0x43227d65334e691cf231b4a4e1d339b95d598afb": { + "balance": "0x21e19e0c9bab2400000" }, - "695550656cbf90b75d92ad9122d90d23ca68ca4d": { - "balance": "1000000000000000000000" + "0x695550656cbf90b75d92ad9122d90d23ca68ca4d": { + "balance": "0x3635c9adc5dea00000" }, - "5281733473e00d87f11e9955e589b59f4ac28e7a": { - "balance": "660360000000000000000000" + "0x5281733473e00d87f11e9955e589b59f4ac28e7a": { + "balance": "0x8bd62ff4eec559200000" }, - "99a96bf2242ea1b39ece6fcc0d18aed00c0179f3": { - "balance": "300000000000000000000" + "0x99a96bf2242ea1b39ece6fcc0d18aed00c0179f3": { + "balance": "0x1043561a8829300000" }, - "b1cf94f8091505055f010ab4bac696e0ca0f67a1": { - "balance": "1580000000000000000000" + "0xb1cf94f8091505055f010ab4bac696e0ca0f67a1": { + "balance": "0x55a6e79ccd1d300000" }, - "54391b4d176d476cea164e5fb535c69700cb2535": { - "balance": "100076000000000000000" + "0x54391b4d176d476cea164e5fb535c69700cb2535": { + "balance": "0x56cd55fc64dfe0000" }, - "152f2bd229ddf3cb0fdaf455c183209c0e1e39a2": { - "balance": "2000000000000000000000" + "0x152f2bd229ddf3cb0fdaf455c183209c0e1e39a2": { + "balance": "0x6c6b935b8bbd400000" }, - "affc99d5ebb4a84fe7788d97dce274b038240438": { - "balance": "5000000000000000000000" + "0xaffc99d5ebb4a84fe7788d97dce274b038240438": { + "balance": "0x10f0cf064dd59200000" }, - "23df8f48ee009256ea797e1fa369beebcf6bc663": { - "balance": "2302671000000000000000" + "0x23df8f48ee009256ea797e1fa369beebcf6bc663": { + "balance": "0x7cd3fac26d19818000" }, - "3a72d635aadeee4382349db98a1813a4cfeb3df1": { - "balance": "200000000000000000000000" + "0x3a72d635aadeee4382349db98a1813a4cfeb3df1": { + "balance": "0x2a5a058fc295ed000000" }, - "ce26f9a5305f8381094354dbfc92664e84f902b5": { - "balance": "230200000000000000000" + "0xce26f9a5305f8381094354dbfc92664e84f902b5": { + "balance": "0xc7aaab0591eec0000" }, - "d283b8edb10a25528a4404de1c65e7410dbcaa67": { - "balance": "12000000000000000000000" + "0xd283b8edb10a25528a4404de1c65e7410dbcaa67": { + "balance": "0x28a857425466f800000" }, - "a7859fc07f756ea7dcebbccd42f05817582d973f": { - "balance": "10000000000000000000000" + "0xa7859fc07f756ea7dcebbccd42f05817582d973f": { + "balance": "0x21e19e0c9bab2400000" }, - "b28181a458a440f1c6bb1de8400281a3148f4c35": { - "balance": "376000000000000000000" + "0xb28181a458a440f1c6bb1de8400281a3148f4c35": { + "balance": "0x14620c57dddae00000" }, - "27b1694eafa165ebd7cc7bc99e74814a951419dc": { - "balance": "800000000000000000000" + "0x27b1694eafa165ebd7cc7bc99e74814a951419dc": { + "balance": "0x2b5e3af16b18800000" }, - "66cc8ab23c00d1b82acd7d73f38c99e0d05a4fa6": { - "balance": "100000000000000000000" + "0x66cc8ab23c00d1b82acd7d73f38c99e0d05a4fa6": { + "balance": "0x56bc75e2d63100000" }, - "926082cb7eed4b1993ad245a477267e1c33cd568": { - "balance": "374300000000000000000" + "0x926082cb7eed4b1993ad245a477267e1c33cd568": { + "balance": "0x144a74badfa4b60000" }, - "4a47fc3e177f567a1e3893e000e36bba23520ab8": { - "balance": "2000000000000000000000" + "0x4a47fc3e177f567a1e3893e000e36bba23520ab8": { + "balance": "0x6c6b935b8bbd400000" }, - "594a76f06935388dde5e234696a0668bc20d2ddc": { - "balance": "2800000000000000000000" + "0x594a76f06935388dde5e234696a0668bc20d2ddc": { + "balance": "0x97c9ce4cf6d5c00000" }, - "e91fa0badaddb9a97e88d3f4db7c55d6bb7430fe": { - "balance": "376000000000000000000" + "0xe91fa0badaddb9a97e88d3f4db7c55d6bb7430fe": { + "balance": "0x14620c57dddae00000" }, - "574de1b3f38d915846ae3718564a5ada20c2f3ed": { - "balance": "4000000000000000000000" + "0x574de1b3f38d915846ae3718564a5ada20c2f3ed": { + "balance": "0xd8d726b7177a800000" }, - "5816c2687777b6d7d2a2432d59a41fa059e3a406": { - "balance": "133700000000000000000000" + "0x5816c2687777b6d7d2a2432d59a41fa059e3a406": { + "balance": "0x1c4fe43adb0a5e900000" }, - "b50955aa6e341571986608bdc891c2139f540cdf": { - "balance": "1970000000000000000000" + "0xb50955aa6e341571986608bdc891c2139f540cdf": { + "balance": "0x6acb3df27e1f880000" }, - "6d44974a31d187eda16ddd47b9c7ec5002d61fbe": { - "balance": "940000000000000000000" + "0x6d44974a31d187eda16ddd47b9c7ec5002d61fbe": { + "balance": "0x32f51edbaaa3300000" }, - "80abec5aa36e5c9d098f1b942881bd5acac6963d": { - "balance": "2000000000000000000000" + "0x80abec5aa36e5c9d098f1b942881bd5acac6963d": { + "balance": "0x6c6b935b8bbd400000" }, - "294f494b3f2e143c2ffc9738cbfd9501850b874e": { - "balance": "2240000000000000000000" + "0x294f494b3f2e143c2ffc9738cbfd9501850b874e": { + "balance": "0x796e3ea3f8ab000000" }, - "bca3ffd4683fba0ad3bbc90734b611da9cfb457e": { - "balance": "200000000000000000000" + "0xbca3ffd4683fba0ad3bbc90734b611da9cfb457e": { + "balance": "0xad78ebc5ac6200000" }, - "5992624c54cdec60a5ae938033af8be0c50cbb0a": { - "balance": "3621678000000000000000" + "0x5992624c54cdec60a5ae938033af8be0c50cbb0a": { + "balance": "0xc454e0f8870f2b0000" }, - "6560941328ff587cbc56c38c78238a7bb5f442f6": { - "balance": "744900000000000000000" + "0x6560941328ff587cbc56c38c78238a7bb5f442f6": { + "balance": "0x2861906b59c47a0000" }, - "74b7e0228baed65957aebb4d916d333aae164f0e": { - "balance": "2000000000000000000000" + "0x74b7e0228baed65957aebb4d916d333aae164f0e": { + "balance": "0x6c6b935b8bbd400000" }, - "8516fcaf77c893970fcd1a958ba9a00e49044019": { - "balance": "196279000000000000000" + "0x8516fcaf77c893970fcd1a958ba9a00e49044019": { + "balance": "0xaa3eb1691bce58000" }, - "b992a967308c02b98af91ee760fd3b6b4824ab0e": { - "balance": "2000000000000000000000" + "0xb992a967308c02b98af91ee760fd3b6b4824ab0e": { + "balance": "0x6c6b935b8bbd400000" }, - "30bb4357cd6910c86d2238bf727cbe8156680e62": { - "balance": "100014000000000000000" + "0x30bb4357cd6910c86d2238bf727cbe8156680e62": { + "balance": "0x56bf91b1a65eb0000" }, - "b8cc0f060aad92d4eb8b36b3b95ce9e90eb383d7": { - "balance": "150000000000000000000000" + "0xb8cc0f060aad92d4eb8b36b3b95ce9e90eb383d7": { + "balance": "0x1fc3842bd1f071c00000" }, - "28d4ebf41e3d3c451e943bdd7e1f175fae932a3d": { - "balance": "6000000000000000000000" + "0x28d4ebf41e3d3c451e943bdd7e1f175fae932a3d": { + "balance": "0x14542ba12a337c00000" }, - "8c83d424a3cf24d51f01923dd54a18d6b6fede7b": { - "balance": "4000000000000000000000" + "0x8c83d424a3cf24d51f01923dd54a18d6b6fede7b": { + "balance": "0xd8d726b7177a800000" }, - "7efc90766a00bc52372cac97fabd8a3c831f8ecd": { - "balance": "158000000000000000000" + "0x7efc90766a00bc52372cac97fabd8a3c831f8ecd": { + "balance": "0x890b0c2e14fb80000" }, - "7c2b9603884a4f2e464eceb97d17938d828bc02c": { - "balance": "3000000000000000000000" + "0x7c2b9603884a4f2e464eceb97d17938d828bc02c": { + "balance": "0xa2a15d09519be00000" }, - "9d250ae4f110d71cafc7b0adb52e8d9acb6679b8": { - "balance": "9840000000000000000000" + "0x9d250ae4f110d71cafc7b0adb52e8d9acb6679b8": { + "balance": "0x2156d6e997213c00000" }, - "61b3df2e9e9fd968131f1e88f0a0eb5bd765464d": { - "balance": "4000000000000000000000" + "0x61b3df2e9e9fd968131f1e88f0a0eb5bd765464d": { + "balance": "0xd8d726b7177a800000" }, - "9ae13bd882f2576575921a94974cbea861ba0d35": { - "balance": "3160000000000000000000" + "0x9ae13bd882f2576575921a94974cbea861ba0d35": { + "balance": "0xab4dcf399a3a600000" }, - "3d09688d93ad07f3abe68c722723cd680990435e": { - "balance": "29999948000000000000000" + "0x3d09688d93ad07f3abe68c722723cd680990435e": { + "balance": "0x65a4ce99f769e6e0000" }, - "5e58e255fc19870a04305ff2a04631f2ff294bb1": { - "balance": "17600000000000000000" + "0x5e58e255fc19870a04305ff2a04631f2ff294bb1": { + "balance": "0xf43fc2c04ee00000" }, - "bcaed0acb6a76f113f7c613555a2c3b0f5bf34a5": { - "balance": "193600000000000000000" + "0xbcaed0acb6a76f113f7c613555a2c3b0f5bf34a5": { + "balance": "0xa7ebd5e4363a00000" }, - "159adce27aa10b47236429a34a5ac42cad5b6416": { - "balance": "31867951000000000000000" + "0x159adce27aa10b47236429a34a5ac42cad5b6416": { + "balance": "0x6bf90a96edbfa718000" }, - "e834c64318205ca7dd4a21abcb08266cb21ff02c": { - "balance": "999999000000000000000" + "0xe834c64318205ca7dd4a21abcb08266cb21ff02c": { + "balance": "0x3635c6204739d98000" }, - "7b6a84718dd86e63338429ac811d7c8a860f21f1": { - "balance": "1790000000000000000000" + "0x7b6a84718dd86e63338429ac811d7c8a860f21f1": { + "balance": "0x61093d7c2c6d380000" }, - "2118c116ab0cdf6fd11d54a4309307b477c3fc0f": { - "balance": "10000000000000000000000" + "0x2118c116ab0cdf6fd11d54a4309307b477c3fc0f": { + "balance": "0x21e19e0c9bab2400000" }, - "34a901a69f036bcf9f7843c0ba01b426e8c3dc2b": { - "balance": "4000000000000000000000" + "0x34a901a69f036bcf9f7843c0ba01b426e8c3dc2b": { + "balance": "0xd8d726b7177a800000" }, - "c7d44fe32c7f8cd5f1a97427b6cd3afc9e45023e": { - "balance": "1580000000000000000000" + "0xc7d44fe32c7f8cd5f1a97427b6cd3afc9e45023e": { + "balance": "0x55a6e79ccd1d300000" }, - "c6045b3c350b4ce9ca0c6b754fb41a69b97e9900": { - "balance": "925000000000000000000" + "0xc6045b3c350b4ce9ca0c6b754fb41a69b97e9900": { + "balance": "0x3224f42723d4540000" }, - "cf5a6f9df75579c644f794711215b30d77a0ce40": { - "balance": "2000000000000000000000" + "0xcf5a6f9df75579c644f794711215b30d77a0ce40": { + "balance": "0x6c6b935b8bbd400000" }, - "e2904b1aefa056398b6234cb35811288d736db67": { - "balance": "40000000000000000000" + "0xe2904b1aefa056398b6234cb35811288d736db67": { + "balance": "0x22b1c8c1227a00000" }, - "7101bd799e411cde14bdfac25b067ac890eab8e8": { - "balance": "1450054000000000000000" + "0x7101bd799e411cde14bdfac25b067ac890eab8e8": { + "balance": "0x4e9b8aae48de470000" }, - "cc45fb3a555bad807b388a0357c855205f7c75e8": { - "balance": "865000000000000000000" + "0xcc45fb3a555bad807b388a0357c855205f7c75e8": { + "balance": "0x2ee449550898e40000" }, - "ff0c3c7798e8733dd2668152891bab80a8be955c": { - "balance": "80220000000000000000" + "0xff0c3c7798e8733dd2668152891bab80a8be955c": { + "balance": "0x45946b0f9e9d60000" }, - "3536453322c1466cb905af5c335ca8db74bff1e6": { - "balance": "447000000000000000000" + "0x3536453322c1466cb905af5c335ca8db74bff1e6": { + "balance": "0x183b5f03b1479c0000" }, - "08cac8952641d8fc526ec1ab4f2df826a5e7710f": { - "balance": "300000000000000000000" + "0x08cac8952641d8fc526ec1ab4f2df826a5e7710f": { + "balance": "0x1043561a8829300000" }, - "0d8aab8f74ea862cdf766805009d3f3e42d8d00b": { - "balance": "5820000000000000000000" + "0x0d8aab8f74ea862cdf766805009d3f3e42d8d00b": { + "balance": "0x13b80b99c5185700000" }, - "8908760cd39b9c1e8184e6a752ee888e3f0b7045": { - "balance": "6000000000000000000000" + "0x8908760cd39b9c1e8184e6a752ee888e3f0b7045": { + "balance": "0x14542ba12a337c00000" }, - "8156360bbd370961ceca6b6691d75006ad204cf2": { - "balance": "40000000000000000000000" + "0x8156360bbd370961ceca6b6691d75006ad204cf2": { + "balance": "0x878678326eac9000000" }, - "a304588f0d850cd8d38f76e9e83c1bf63e333ede": { - "balance": "39800000000000000000" + "0xa304588f0d850cd8d38f76e9e83c1bf63e333ede": { + "balance": "0x2285601216c8c0000" }, - "14c63ba2dcb1dd4df33ddab11c4f0007fa96a62d": { - "balance": "15500000000000000000000" + "0x14c63ba2dcb1dd4df33ddab11c4f0007fa96a62d": { + "balance": "0x34841b6057afab00000" }, - "a009bf076f1ba3fa57d2a7217218bed5565a7a7a": { - "balance": "1000000000000000000000" + "0xa009bf076f1ba3fa57d2a7217218bed5565a7a7a": { + "balance": "0x3635c9adc5dea00000" }, - "1c89060f987c518fa079ec2c0a5ebfa30f5d20f7": { - "balance": "38000000000000000000000" + "0x1c89060f987c518fa079ec2c0a5ebfa30f5d20f7": { + "balance": "0x80bfbefcb5f0bc00000" }, - "8895eb726226edc3f78cc6a515077b3296fdb95e": { - "balance": "3940000000000000000000" + "0x8895eb726226edc3f78cc6a515077b3296fdb95e": { + "balance": "0xd5967be4fc3f100000" }, - "7919e7627f9b7d54ea3b14bb4dd4649f4f39dee0": { - "balance": "1670000000000000000000" + "0x7919e7627f9b7d54ea3b14bb4dd4649f4f39dee0": { + "balance": "0x5a87e7d7f5f6580000" }, - "b3c65b845aba6cd816fbaae983e0e46c82aa8622": { - "balance": "1000000000000000000000" + "0xb3c65b845aba6cd816fbaae983e0e46c82aa8622": { + "balance": "0x3635c9adc5dea00000" }, - "eff51d72adfae143edf3a42b1aec55a2ccdd0b90": { - "balance": "300000000000000000000" + "0xeff51d72adfae143edf3a42b1aec55a2ccdd0b90": { + "balance": "0x1043561a8829300000" }, - "05bb64a916be66f460f5e3b64332110d209e19ae": { - "balance": "4200000000000000000000" + "0x05bb64a916be66f460f5e3b64332110d209e19ae": { + "balance": "0xe3aeb5737240a00000" }, - "d5b117ec116eb846418961eb7edb629cd0dd697f": { - "balance": "3000000000000000000000" + "0xd5b117ec116eb846418961eb7edb629cd0dd697f": { + "balance": "0xa2a15d09519be00000" }, - "05e97b09492cd68f63b12b892ed1d11d152c0eca": { - "balance": "1015200000000000000000" + "0x05e97b09492cd68f63b12b892ed1d11d152c0eca": { + "balance": "0x3708baed3d68900000" }, - "84cc7878da605fdb019fab9b4ccfc157709cdda5": { - "balance": "1336922000000000000000" + "0x84cc7878da605fdb019fab9b4ccfc157709cdda5": { + "balance": "0x48798513af04c90000" }, - "79cac6494f11ef2798748cb53285bd8e22f97cda": { - "balance": "2000000000000000000000" + "0x79cac6494f11ef2798748cb53285bd8e22f97cda": { + "balance": "0x6c6b935b8bbd400000" }, - "bd5a8c94bd8be6470644f70c8f8a33a8a55c6341": { - "balance": "200000000000000000000" + "0xbd5a8c94bd8be6470644f70c8f8a33a8a55c6341": { + "balance": "0xad78ebc5ac6200000" }, - "b119e79aa9b916526581cbf521ef474ae84dcff4": { - "balance": "1470700000000000000000" + "0xb119e79aa9b916526581cbf521ef474ae84dcff4": { + "balance": "0x4fba1001e5befe0000" }, - "aff1045adf27a1aa329461b24de1bae9948a698b": { - "balance": "33400000000000000000" + "0xaff1045adf27a1aa329461b24de1bae9948a698b": { + "balance": "0x1cf84a30a0a0c0000" }, - "4398628ea6632d393e929cbd928464c568aa4a0c": { - "balance": "1400000000000000000000" + "0x4398628ea6632d393e929cbd928464c568aa4a0c": { + "balance": "0x4be4e7267b6ae00000" }, - "99997668f7c1a4ff9e31f9977ae3224bcb887a85": { - "balance": "291200000000000000000" + "0x99997668f7c1a4ff9e31f9977ae3224bcb887a85": { + "balance": "0xfc936392801c00000" }, - "bc0e8745c3a549445c2be900f52300804ab56289": { - "balance": "33104697000000000000000" + "0xbc0e8745c3a549445c2be900f52300804ab56289": { + "balance": "0x7029bf5dd4c53b28000" }, - "e5bab4f0afd8a9d1a381b45761aa18f3d3cce105": { - "balance": "1508010000000000000000" + "0xe5bab4f0afd8a9d1a381b45761aa18f3d3cce105": { + "balance": "0x51bfd7c13878d10000" }, - "be60037e90714a4b917e61f193d834906703b13a": { - "balance": "1700000000000000000000" + "0xbe60037e90714a4b917e61f193d834906703b13a": { + "balance": "0x5c283d410394100000" }, - "8ed4284c0f47449c15b8d9b3245de8beb6ce80bf": { - "balance": "800000000000000000000" + "0x8ed4284c0f47449c15b8d9b3245de8beb6ce80bf": { + "balance": "0x2b5e3af16b18800000" }, - "333ad1596401e05aea2d36ca47318ef4cd2cb3df": { - "balance": "2910000000000000000000" + "0x333ad1596401e05aea2d36ca47318ef4cd2cb3df": { + "balance": "0x9dc05cce28c2b80000" }, - "22db559f2c3c1475a2e6ffe83a5979599196a7fa": { - "balance": "1000000000000000000000" + "0x22db559f2c3c1475a2e6ffe83a5979599196a7fa": { + "balance": "0x3635c9adc5dea00000" }, - "fdf449f108c6fb4f5a2b081eed7e45e6919e4d25": { - "balance": "2000000000000000000000" + "0xfdf449f108c6fb4f5a2b081eed7e45e6919e4d25": { + "balance": "0x6c6b935b8bbd400000" }, - "0be1bcb90343fae5303173f461bd914a4839056c": { - "balance": "6000000000000000000000" + "0x0be1bcb90343fae5303173f461bd914a4839056c": { + "balance": "0x14542ba12a337c00000" }, - "b981ad5e6b7793a23fc6c1e8692eb2965d18d0da": { - "balance": "9999924000000000000000" + "0xb981ad5e6b7793a23fc6c1e8692eb2965d18d0da": { + "balance": "0x21e18d2c821c7520000" }, - "c75d2259306aec7df022768c69899a652185dbc4": { - "balance": "4000000000000000000000" + "0xc75d2259306aec7df022768c69899a652185dbc4": { + "balance": "0xd8d726b7177a800000" }, - "6c2e9be6d4ab450fd12531f33f028c614674f197": { - "balance": "3580000000000000000000" + "0x6c2e9be6d4ab450fd12531f33f028c614674f197": { + "balance": "0xc2127af858da700000" }, - "6dcc7e64fcafcbc2dc6c0e5e662cb347bffcd702": { - "balance": "20000000000000000000000" + "0x6dcc7e64fcafcbc2dc6c0e5e662cb347bffcd702": { + "balance": "0x43c33c1937564800000" }, - "aabdb35c1514984a039213793f3345a168e81ff1": { - "balance": "309760000000000000000" + "0xaabdb35c1514984a039213793f3345a168e81ff1": { + "balance": "0x10cac896d239000000" }, - "d315deea1d8c1271f9d1311263ab47c007afb6f5": { - "balance": "69760000000000000000" + "0xd315deea1d8c1271f9d1311263ab47c007afb6f5": { + "balance": "0x3c81d4e654b400000" }, - "4faf90b76ecfb9631bf9022176032d8b2c207009": { - "balance": "1000032000000000000000" + "0x4faf90b76ecfb9631bf9022176032d8b2c207009": { + "balance": "0x36363b5d9a77700000" }, - "3e7a966b5dc357ffb07e9fe067c45791fd8e3049": { - "balance": "59100000000000000000" + "0x3e7a966b5dc357ffb07e9fe067c45791fd8e3049": { + "balance": "0x3342d60dff1960000" }, - "2e64a8d71111a22f4c5de1e039b336f68d398a7c": { - "balance": "2000000000000000000000" + "0x2e64a8d71111a22f4c5de1e039b336f68d398a7c": { + "balance": "0x6c6b935b8bbd400000" }, - "181fbba852a7f50178b1c7f03ed9e58d54162929": { - "balance": "666000000000000000000" + "0x181fbba852a7f50178b1c7f03ed9e58d54162929": { + "balance": "0x241a9b4f617a280000" }, - "4f7330096f79ed264ee0127f5d30d2f73c52b3d8": { - "balance": "499970000000000000000" + "0x4f7330096f79ed264ee0127f5d30d2f73c52b3d8": { + "balance": "0x1b1a7a420ba00d0000" }, - "a8a8dbdd1a85d1beee2569e91ccc4d09ae7f6ea1": { - "balance": "5800000000000000000000" + "0xa8a8dbdd1a85d1beee2569e91ccc4d09ae7f6ea1": { + "balance": "0x13a6b2b564871a00000" }, - "1f9c3268458da301a2be5ab08257f77bb5a98aa4": { - "balance": "200000000000000000000" + "0x1f9c3268458da301a2be5ab08257f77bb5a98aa4": { + "balance": "0xad78ebc5ac6200000" }, - "fc372ff6927cb396d9cf29803500110da632bc52": { - "balance": "2000000000000000000000" + "0xfc372ff6927cb396d9cf29803500110da632bc52": { + "balance": "0x6c6b935b8bbd400000" }, - "4fa554ab955c249217386a4d3263bbf72895434e": { - "balance": "19982000000000000000" + "0x4fa554ab955c249217386a4d3263bbf72895434e": { + "balance": "0x1154e53217ddb0000" }, - "2a59e47ea5d8f0e7c028a3e8e093a49c1b50b9a3": { - "balance": "2000000000000000000000" + "0x2a59e47ea5d8f0e7c028a3e8e093a49c1b50b9a3": { + "balance": "0x6c6b935b8bbd400000" }, - "5e32c72191b8392c55f510d8e3326e3a60501d62": { - "balance": "44000000000000000000000" + "0x5e32c72191b8392c55f510d8e3326e3a60501d62": { + "balance": "0x9513ea9de0243800000" }, - "1dfaee077212f1beaf0e6f2f1840537ae154ad86": { - "balance": "1000000000000000000000" + "0x1dfaee077212f1beaf0e6f2f1840537ae154ad86": { + "balance": "0x3635c9adc5dea00000" }, - "7eaba035e2af3793fd74674b102540cf190addb9": { - "balance": "1273000000000000000000" + "0x7eaba035e2af3793fd74674b102540cf190addb9": { + "balance": "0x45026c835b60440000" }, - "d62edb96fce2969aaf6c545e967cf1c0bc805205": { - "balance": "85705000000000000000" + "0xd62edb96fce2969aaf6c545e967cf1c0bc805205": { + "balance": "0x4a565536a5ada8000" }, - "220dc68df019b6b0ccbffb784b5a5ab4b15d4060": { - "balance": "3940000000000000000000" + "0x220dc68df019b6b0ccbffb784b5a5ab4b15d4060": { + "balance": "0xd5967be4fc3f100000" }, - "45bb829652d8bfb58b8527f0ecb621c29e212ec3": { - "balance": "2000000000000000000000" + "0x45bb829652d8bfb58b8527f0ecb621c29e212ec3": { + "balance": "0x6c6b935b8bbd400000" }, - "79b120eb8806732321288f675a27a9225f1cd2eb": { - "balance": "2465000000000000000000" + "0x79b120eb8806732321288f675a27a9225f1cd2eb": { + "balance": "0x85a0bf37dec9e40000" }, - "740af1eefd3365d78ba7b12cb1a673e06a077246": { - "balance": "19700000000000000000000" + "0x740af1eefd3365d78ba7b12cb1a673e06a077246": { + "balance": "0x42bf06b78ed3b500000" }, - "0f042c9c2fb18766f836bb59f735f27dc329fe3c": { - "balance": "10000000000000000000000" + "0x0f042c9c2fb18766f836bb59f735f27dc329fe3c": { + "balance": "0x21e19e0c9bab2400000" }, - "6dda5f788a6c688ddf921fa3852eb6d6c6c62966": { - "balance": "40000000000000000000" + "0x6dda5f788a6c688ddf921fa3852eb6d6c6c62966": { + "balance": "0x22b1c8c1227a00000" }, - "96ad579bbfa8db8ebec9d286a72e4661eed8e356": { - "balance": "1070750000000000000000" + "0x96ad579bbfa8db8ebec9d286a72e4661eed8e356": { + "balance": "0x3a0ba42bec61830000" }, - "0c2073ba44d3ddbdb639c04e191039a71716237f": { - "balance": "1430000000000000000000" + "0x0c2073ba44d3ddbdb639c04e191039a71716237f": { + "balance": "0x4d853c8f8908980000" }, - "1a3520453582c718a21c42375bc50773255253e1": { - "balance": "790000000000000000000" + "0x1a3520453582c718a21c42375bc50773255253e1": { + "balance": "0x2ad373ce668e980000" }, - "efcaae9ff64d2cd95b5249dcffe7faa0a0c0e44d": { - "balance": "401100000000000000000" + "0xefcaae9ff64d2cd95b5249dcffe7faa0a0c0e44d": { + "balance": "0x15be6174e1912e0000" }, - "0a3de155d5ecd8e81c1ff9bbf0378301f8d4c623": { - "balance": "4000000000000000000000" + "0x0a3de155d5ecd8e81c1ff9bbf0378301f8d4c623": { + "balance": "0xd8d726b7177a800000" }, - "80f07ac09e7b2c3c0a3d1e9413a544c73a41becb": { - "balance": "20000000000000000000" + "0x80f07ac09e7b2c3c0a3d1e9413a544c73a41becb": { + "balance": "0x1158e460913d00000" }, - "c3631c7698b6c5111989bf452727b3f9395a6dea": { - "balance": "10683500000000000000000" + "0xc3631c7698b6c5111989bf452727b3f9395a6dea": { + "balance": "0x243275896641dbe0000" }, - "4cc22c9bc9ad05d875a397dbe847ed221c920c67": { - "balance": "2000000000000000000000" + "0x4cc22c9bc9ad05d875a397dbe847ed221c920c67": { + "balance": "0x6c6b935b8bbd400000" }, - "1a987e3f83de75a42f1bde7c997c19217b4a5f24": { - "balance": "2000000000000000000000" + "0x1a987e3f83de75a42f1bde7c997c19217b4a5f24": { + "balance": "0x6c6b935b8bbd400000" }, - "5b2b64e9c058e382a8b299224eecaa16e09c8d92": { - "balance": "161000000000000000000" + "0x5b2b64e9c058e382a8b299224eecaa16e09c8d92": { + "balance": "0x8ba52e6fc45e40000" }, - "86caafacf32aa0317c032ac36babed974791dc03": { - "balance": "40000000000000000000000" + "0x86caafacf32aa0317c032ac36babed974791dc03": { + "balance": "0x878678326eac9000000" }, - "1cd1f0a314cbb200de0a0cb1ef97e920709d97c2": { - "balance": "2000000000000000000000" + "0x1cd1f0a314cbb200de0a0cb1ef97e920709d97c2": { + "balance": "0x6c6b935b8bbd400000" }, - "7d980f4b566bb045517e4c14c87750de9346744b": { - "balance": "1337000000000000000000" + "0x7d980f4b566bb045517e4c14c87750de9346744b": { + "balance": "0x487a9a304539440000" }, - "8b5f29cc2faa262cdef30ef554f50eb488146eac": { - "balance": "5818250000000000000000" + "0x8b5f29cc2faa262cdef30ef554f50eb488146eac": { + "balance": "0x13b68705c9720810000" }, - "5153a0c3c8912881bf1c3501bf64b45649e48222": { - "balance": "4000000000000000000000" + "0x5153a0c3c8912881bf1c3501bf64b45649e48222": { + "balance": "0xd8d726b7177a800000" }, - "d21a7341eb84fd151054e5e387bb25d36e499c09": { - "balance": "14000000000000000000000" + "0xd21a7341eb84fd151054e5e387bb25d36e499c09": { + "balance": "0x2f6f10780d22cc00000" }, - "9560e8ac6718a6a1cdcff189d603c9063e413da6": { - "balance": "4000000000000000000000" + "0x9560e8ac6718a6a1cdcff189d603c9063e413da6": { + "balance": "0xd8d726b7177a800000" }, - "e49ba0cd96816c4607773cf8a5970bb5bc16a1e6": { - "balance": "1670000000000000000000" + "0xe49ba0cd96816c4607773cf8a5970bb5bc16a1e6": { + "balance": "0x5a87e7d7f5f6580000" }, - "b8ac117d9f0dba80901445823c4c9d4fa3fedc6e": { - "balance": "15759015000000000000000" + "0xb8ac117d9f0dba80901445823c4c9d4fa3fedc6e": { + "balance": "0x3564c4427a8fc7d8000" }, - "af67fd3e127fd9dc36eb3fcd6a80c7be4f7532b2": { - "balance": "1670000000000000000000" + "0xaf67fd3e127fd9dc36eb3fcd6a80c7be4f7532b2": { + "balance": "0x5a87e7d7f5f6580000" }, - "b43c27f7a0a122084b98f483922541c8836cee2c": { - "balance": "715000000000000000000" + "0xb43c27f7a0a122084b98f483922541c8836cee2c": { + "balance": "0x26c29e47c4844c0000" }, - "4d9279962029a8bd45639737e98b511eff074c21": { - "balance": "1337000000000000000000" + "0x4d9279962029a8bd45639737e98b511eff074c21": { + "balance": "0x487a9a304539440000" }, - "c667441e7f29799aba616451d53b3f489f9e0f48": { - "balance": "13920000000000000000000" + "0xc667441e7f29799aba616451d53b3f489f9e0f48": { + "balance": "0x2f29ace68addd800000" }, - "275875ff4fbb0cf3a430213127487f7608d04cba": { - "balance": "500080000000000000000" + "0x275875ff4fbb0cf3a430213127487f7608d04cba": { + "balance": "0x1b1c010e766d580000" }, - "9a953b5bcc709379fcb559d7b916afdaa50cadcc": { - "balance": "100000000000000000000" + "0x9a953b5bcc709379fcb559d7b916afdaa50cadcc": { + "balance": "0x56bc75e2d63100000" }, - "7ea791ebab0445a00efdfc4e4a8e9a7e7565136d": { - "balance": "18200000000000000000" + "0x7ea791ebab0445a00efdfc4e4a8e9a7e7565136d": { + "balance": "0xfc936392801c0000" }, - "6ffe5cf82cc9ea5e36cad7c2974ce7249f3749e6": { - "balance": "1940000000000000000000" + "0x6ffe5cf82cc9ea5e36cad7c2974ce7249f3749e6": { + "balance": "0x692ae8897081d00000" }, - "f1b4ecc63525f7432c3d834ffe2b970fbeb87212": { - "balance": "3000064000000000000000" + "0xf1b4ecc63525f7432c3d834ffe2b970fbeb87212": { + "balance": "0xa2a24068facd800000" }, - "6b72a8f061cfe6996ad447d3c72c28c0c08ab3a7": { - "balance": "4271316000000000000000" + "0x6b72a8f061cfe6996ad447d3c72c28c0c08ab3a7": { + "balance": "0xe78c6ac79912620000" }, - "bba3c68004248e489573abb2743677066b24c8a7": { - "balance": "2000000000000000000000" + "0xbba3c68004248e489573abb2743677066b24c8a7": { + "balance": "0x6c6b935b8bbd400000" }, - "b7c0d0cc0b4d342d4062bac624ccc3c70cc6da3f": { - "balance": "4000000000000000000000" + "0xb7c0d0cc0b4d342d4062bac624ccc3c70cc6da3f": { + "balance": "0xd8d726b7177a800000" }, - "fe98c664c3e447a95e69bd582171b7176ea2a685": { - "balance": "4000000000000000000000" + "0xfe98c664c3e447a95e69bd582171b7176ea2a685": { + "balance": "0xd8d726b7177a800000" }, - "ce71086d4c602554b82dcbfce88d20634d53cc4d": { - "balance": "43250000000000000000000" + "0xce71086d4c602554b82dcbfce88d20634d53cc4d": { + "balance": "0x92896529baddc880000" }, - "1c601993789207f965bb865cbb4cd657cce76fc0": { - "balance": "98294000000000000000" + "0x1c601993789207f965bb865cbb4cd657cce76fc0": { + "balance": "0x5541a7037503f0000" }, - "476b5599089a3fb6f29c6c72e49b2e4740ea808d": { - "balance": "2800000000000000000000" + "0x476b5599089a3fb6f29c6c72e49b2e4740ea808d": { + "balance": "0x97c9ce4cf6d5c00000" }, - "3439998b247cb4bf8bc80a6d2b3527f1dfe9a6d2": { - "balance": "140000000000000000000" + "0x3439998b247cb4bf8bc80a6d2b3527f1dfe9a6d2": { + "balance": "0x796e3ea3f8ab00000" }, - "c4f7d2e2e22084c44f70feaab6c32105f3da376f": { - "balance": "1970000000000000000000" + "0xc4f7d2e2e22084c44f70feaab6c32105f3da376f": { + "balance": "0x6acb3df27e1f880000" }, - "c1eba5684aa1b24cba63150263b7a9131aeec28d": { - "balance": "20000000000000000000" + "0xc1eba5684aa1b24cba63150263b7a9131aeec28d": { + "balance": "0x1158e460913d00000" }, - "94ad4bad824bd0eb9ea49c58cebcc0ff5e08346b": { - "balance": "1940000000000000000000" + "0x94ad4bad824bd0eb9ea49c58cebcc0ff5e08346b": { + "balance": "0x692ae8897081d00000" }, - "ded877378407b94e781c4ef4af7cfc5bc220b516": { - "balance": "372500000000000000000" + "0xded877378407b94e781c4ef4af7cfc5bc220b516": { + "balance": "0x143179d86911020000" }, - "699c9ee47195511f35f862ca4c22fd35ae8ffbf4": { - "balance": "80000000000000000000" + "0x699c9ee47195511f35f862ca4c22fd35ae8ffbf4": { + "balance": "0x4563918244f400000" }, - "e3a89a1927cc4e2d43fbcda1e414d324a7d9e057": { - "balance": "205500000000000000000" + "0xe3a89a1927cc4e2d43fbcda1e414d324a7d9e057": { + "balance": "0xb23e2a936dec60000" }, - "4d93696fa24859f5d2939aebfa54b4b51ae1dccc": { - "balance": "19100000000000000000" + "0x4d93696fa24859f5d2939aebfa54b4b51ae1dccc": { + "balance": "0x10910d4cdc9f60000" }, - "0af65f14784e55a6f95667fd73252a1c94072d2a": { - "balance": "192987000000000000000" + "0x0af65f14784e55a6f95667fd73252a1c94072d2a": { + "balance": "0xa763b8e02d44f8000" }, - "5b70c49cc98b3df3fbe2b1597f5c1b6347a388b7": { - "balance": "970000000000000000000" + "0x5b70c49cc98b3df3fbe2b1597f5c1b6347a388b7": { + "balance": "0x34957444b840e80000" }, - "426f78f70db259ac8534145b2934f4ef1098b5d8": { - "balance": "360000000000000000000" + "0x426f78f70db259ac8534145b2934f4ef1098b5d8": { + "balance": "0x138400eca364a00000" }, - "58b8ae8f63ef35ed0762f0b6233d4ac14e64b64d": { - "balance": "2000000000000000000000" + "0x58b8ae8f63ef35ed0762f0b6233d4ac14e64b64d": { + "balance": "0x6c6b935b8bbd400000" }, - "8eae29435598ba8f1c93428cdb3e2b4d31078e00": { - "balance": "2000000000000000000000" + "0x8eae29435598ba8f1c93428cdb3e2b4d31078e00": { + "balance": "0x6c6b935b8bbd400000" }, - "17fd9b551a98cb61c2e07fbf41d3e8c9a530cba5": { - "balance": "26989000000000000000" + "0x17fd9b551a98cb61c2e07fbf41d3e8c9a530cba5": { + "balance": "0x1768c308193048000" }, - "ab3e78294ba886a0cfd5d3487fb3a3078d338d6e": { - "balance": "1970000000000000000000" + "0xab3e78294ba886a0cfd5d3487fb3a3078d338d6e": { + "balance": "0x6acb3df27e1f880000" }, - "bdf6e68c0cd7584080e847d72cbb23aad46aeb1d": { - "balance": "1970000000000000000000" + "0xbdf6e68c0cd7584080e847d72cbb23aad46aeb1d": { + "balance": "0x6acb3df27e1f880000" }, - "f989346772995ec1906faffeba2a7fe7de9c6bab": { - "balance": "6685000000000000000000" + "0xf989346772995ec1906faffeba2a7fe7de9c6bab": { + "balance": "0x16a6502f15a1e540000" }, - "dc5f5ad663a6f263327d64cac9cb133d2c960597": { - "balance": "2000000000000000000000" + "0xdc5f5ad663a6f263327d64cac9cb133d2c960597": { + "balance": "0x6c6b935b8bbd400000" }, - "68fe1357218d095849cd579842c4aa02ff888d93": { - "balance": "2000000000000000000000" + "0x68fe1357218d095849cd579842c4aa02ff888d93": { + "balance": "0x6c6b935b8bbd400000" }, - "e09c68e61998d9c81b14e4ee802ba7adf6d74cdb": { - "balance": "4000000000000000000000" + "0xe09c68e61998d9c81b14e4ee802ba7adf6d74cdb": { + "balance": "0xd8d726b7177a800000" }, - "890fe11f3c24db8732d6c2e772e2297c7e65f139": { - "balance": "62980000000000000000000" + "0x890fe11f3c24db8732d6c2e772e2297c7e65f139": { + "balance": "0xd5627137da8b5900000" }, - "a76929890a7b47fb859196016c6fdd8289ceb755": { - "balance": "5000000000000000000000" + "0xa76929890a7b47fb859196016c6fdd8289ceb755": { + "balance": "0x10f0cf064dd59200000" }, - "2dc79d6e7f55bce2e2d0c02ad07ceca8bb529354": { - "balance": "1580000000000000000000" + "0x2dc79d6e7f55bce2e2d0c02ad07ceca8bb529354": { + "balance": "0x55a6e79ccd1d300000" }, - "19687daa39c368139b6e7be60dc1753a9f0cbea3": { - "balance": "8000000000000000000000" + "0x19687daa39c368139b6e7be60dc1753a9f0cbea3": { + "balance": "0x1b1ae4d6e2ef5000000" }, - "c69be440134d6280980144a9f64d84748a37f349": { - "balance": "715000000000000000000" + "0xc69be440134d6280980144a9f64d84748a37f349": { + "balance": "0x26c29e47c4844c0000" }, - "3d8d0723721e73a6c0d860aa0557abd14c1ee362": { - "balance": "5000000000000000000000" + "0x3d8d0723721e73a6c0d860aa0557abd14c1ee362": { + "balance": "0x10f0cf064dd59200000" }, - "2b241f037337eb4acc61849bd272ac133f7cdf4b": { - "balance": "378000000000000000000000" + "0x2b241f037337eb4acc61849bd272ac133f7cdf4b": { + "balance": "0x500b6bca962ab8400000" }, - "24b95ebef79500baa0eda72e77f877415df75c33": { - "balance": "910000000000000000000" + "0x24b95ebef79500baa0eda72e77f877415df75c33": { + "balance": "0x3154c9729d05780000" }, - "106ed5c719b5261477890425ae7551dc59bd255c": { - "balance": "11979600000000000000000" + "0x106ed5c719b5261477890425ae7551dc59bd255c": { + "balance": "0x2896a58c95be5880000" }, - "5b2e2f1618552eab0db98add55637c2951f1fb19": { - "balance": "12000000000000000000000" + "0x5b2e2f1618552eab0db98add55637c2951f1fb19": { + "balance": "0x28a857425466f800000" }, - "403145cb4ae7489fcc90cd985c6dc782b3cc4e44": { - "balance": "5999800000000000000000" + "0x403145cb4ae7489fcc90cd985c6dc782b3cc4e44": { + "balance": "0x1453ff387b27cac0000" }, - "e8be24f289443ee473bc76822f55098d89b91cc5": { - "balance": "2000000000000000000000" + "0xe8be24f289443ee473bc76822f55098d89b91cc5": { + "balance": "0x6c6b935b8bbd400000" }, - "f6bc37b1d2a3788d589b6de212dc1713b2f6e78e": { - "balance": "5000000000000000000000" + "0xf6bc37b1d2a3788d589b6de212dc1713b2f6e78e": { + "balance": "0x10f0cf064dd59200000" }, - "67fc527dce1785f0fb8bc7e518b1c669f7ecdfb5": { - "balance": "240000000000000000000" + "0x67fc527dce1785f0fb8bc7e518b1c669f7ecdfb5": { + "balance": "0xd02ab486cedc00000" }, - "6580b1bc94390f04b397bd73e95d96ef11eaf3a8": { - "balance": "20000000000000000000" + "0x6580b1bc94390f04b397bd73e95d96ef11eaf3a8": { + "balance": "0x1158e460913d00000" }, - "98bf4af3810b842387db70c14d46099626003d10": { - "balance": "4000000000000000000000" + "0x98bf4af3810b842387db70c14d46099626003d10": { + "balance": "0xd8d726b7177a800000" }, - "17993d312aa1106957868f6a55a5e8f12f77c843": { - "balance": "450065000000000000000" + "0x17993d312aa1106957868f6a55a5e8f12f77c843": { + "balance": "0x1865e814f4142e8000" }, - "0729b4b47c09eb16158464c8aa7fd9690b438839": { - "balance": "1999800000000000000000" + "0x0729b4b47c09eb16158464c8aa7fd9690b438839": { + "balance": "0x6c68ccd09b022c0000" }, - "ae70e69d2c4a0af818807b1a2705f79fd0b5dbc4": { - "balance": "985000000000000000000" + "0xae70e69d2c4a0af818807b1a2705f79fd0b5dbc4": { + "balance": "0x35659ef93f0fc40000" }, - "38b50146e71916a5448de12a4d742135dcf39833": { - "balance": "32200000000000000000000" + "0x38b50146e71916a5448de12a4d742135dcf39833": { + "balance": "0x6d190c475169a200000" }, - "38439aaa24e3636f3a18e020ea1da7e145160d86": { - "balance": "2600000000000000000000" + "0x38439aaa24e3636f3a18e020ea1da7e145160d86": { + "balance": "0x8cf23f909c0fa00000" }, - "54b4429b182f0377be7e626939c5db6440f75d7a": { - "balance": "1970000000000000000000" + "0x54b4429b182f0377be7e626939c5db6440f75d7a": { + "balance": "0x6acb3df27e1f880000" }, - "7179726f5c71ae1b6d16a68428174e6b34b23646": { - "balance": "7353500000000000000000" + "0x7179726f5c71ae1b6d16a68428174e6b34b23646": { + "balance": "0x18ea250097cbaf60000" }, - "c2ee91d3ef58c9d1a589844ea1ae3125d6c5ba69": { - "balance": "970000000000000000000" + "0xc2ee91d3ef58c9d1a589844ea1ae3125d6c5ba69": { + "balance": "0x34957444b840e80000" }, - "912304118b80473d9e9fe3ee458fbe610ffda2bb": { - "balance": "200000000000000000000" + "0x912304118b80473d9e9fe3ee458fbe610ffda2bb": { + "balance": "0xad78ebc5ac6200000" }, - "3308b03466c27a17dfe1aafceb81e16d2934566f": { - "balance": "17000000000000000000000" + "0x3308b03466c27a17dfe1aafceb81e16d2934566f": { + "balance": "0x39992648a23c8a00000" }, - "10346414bec6d3dcc44e50e54d54c2b8c3734e3e": { - "balance": "4000000000000000000000" + "0x10346414bec6d3dcc44e50e54d54c2b8c3734e3e": { + "balance": "0xd8d726b7177a800000" }, - "4fee50c5f988206b09a573469fb1d0b42ebb6dce": { - "balance": "2009400000000000000000" + "0x4fee50c5f988206b09a573469fb1d0b42ebb6dce": { + "balance": "0x6cee06ddbe15ec0000" }, - "9ece1400800936c7c6485fcdd3626017d09afbf6": { - "balance": "310000000000000000000" + "0x9ece1400800936c7c6485fcdd3626017d09afbf6": { + "balance": "0x10ce1d3d8cb3180000" }, - "ddf3ad76353810be6a89d731b787f6f17188612b": { - "balance": "20000000000000000000000" + "0xddf3ad76353810be6a89d731b787f6f17188612b": { + "balance": "0x43c33c1937564800000" }, - "72402300e81d146c2e644e2bbda1da163ca3fb56": { - "balance": "7000000000000000000000" + "0x72402300e81d146c2e644e2bbda1da163ca3fb56": { + "balance": "0x17b7883c06916600000" }, - "bb4b4a4b548070ff41432c9e08a0ca6fa7bc9f76": { - "balance": "850000000000000000000" + "0xbb4b4a4b548070ff41432c9e08a0ca6fa7bc9f76": { + "balance": "0x2e141ea081ca080000" }, - "c3dd58903886303b928625257ae1a013d71ae216": { - "balance": "2000000000000000000000" + "0xc3dd58903886303b928625257ae1a013d71ae216": { + "balance": "0x6c6b935b8bbd400000" }, - "ca6c818befd251361e02744068be99d8aa60b84a": { - "balance": "6000000000000000000000" + "0xca6c818befd251361e02744068be99d8aa60b84a": { + "balance": "0x14542ba12a337c00000" }, - "b8d2ddc66f308c0158ae3ccb7b869f7d199d7b32": { - "balance": "844800000000000000000" + "0xb8d2ddc66f308c0158ae3ccb7b869f7d199d7b32": { + "balance": "0x2dcbf4840eca000000" }, - "8e486a0442d171c8605be348fee57eb5085eff0d": { - "balance": "4000000000000000000000" + "0x8e486a0442d171c8605be348fee57eb5085eff0d": { + "balance": "0xd8d726b7177a800000" }, - "a807104f2703d679f8deafc442befe849e42950b": { - "balance": "2000000000000000000000" + "0xa807104f2703d679f8deafc442befe849e42950b": { + "balance": "0x6c6b935b8bbd400000" }, - "bb61a04bffd57c10470d45c39103f64650347616": { - "balance": "1000000000000000000000" + "0xbb61a04bffd57c10470d45c39103f64650347616": { + "balance": "0x3635c9adc5dea00000" }, - "d1c45954a62b911ad701ff2e90131e8ceb89c95c": { - "balance": "1394000000000000000000" + "0xd1c45954a62b911ad701ff2e90131e8ceb89c95c": { + "balance": "0x4b91a2de457e880000" }, - "5e65458be964ae449f71773704979766f8898761": { - "balance": "528600000000000000000" + "0x5e65458be964ae449f71773704979766f8898761": { + "balance": "0x1ca7cc735b6f7c0000" }, - "f9b37825f03073d31e249378c30c795c33f83af2": { - "balance": "200152000000000000000" + "0xf9b37825f03073d31e249378c30c795c33f83af2": { + "balance": "0xad9aabf8c9bfc0000" }, - "e309974ce39d60aadf2e69673251bf0e04760a10": { - "balance": "254030000000000000000" + "0xe309974ce39d60aadf2e69673251bf0e04760a10": { + "balance": "0xdc55fdb17647b0000" }, - "d541ac187ad7e090522de6da3213e9a7f4439673": { - "balance": "2000000000000000000000" + "0xd541ac187ad7e090522de6da3213e9a7f4439673": { + "balance": "0x6c6b935b8bbd400000" }, - "f33efc6397aa65fb53a8f07a0f893aae30e8bcee": { - "balance": "2304850000000000000000" + "0xf33efc6397aa65fb53a8f07a0f893aae30e8bcee": { + "balance": "0x7cf2381f619f150000" }, - "d2f1998e1cb1580cec4f6c047dcd3dcec54cf73c": { - "balance": "200000000000000000000" + "0xd2f1998e1cb1580cec4f6c047dcd3dcec54cf73c": { + "balance": "0xad78ebc5ac6200000" }, - "0ed76c2c3b5d50ff8fb50b3eeacd681590be1c2d": { - "balance": "100000000000000000000" + "0x0ed76c2c3b5d50ff8fb50b3eeacd681590be1c2d": { + "balance": "0x56bc75e2d63100000" }, - "637d67d87f586f0a5a479e20ee13ea310a10b647": { - "balance": "48300000000000000000000" + "0x637d67d87f586f0a5a479e20ee13ea310a10b647": { + "balance": "0xa3a5926afa1e7300000" }, - "1a5ee533acbfb3a2d76d5b685277b796c56a052b": { - "balance": "2000000000000000000000" + "0x1a5ee533acbfb3a2d76d5b685277b796c56a052b": { + "balance": "0x6c6b935b8bbd400000" }, - "323fca5ed77f699f9d9930f5ceeff8e56f59f03c": { - "balance": "1337000000000000000000" + "0x323fca5ed77f699f9d9930f5ceeff8e56f59f03c": { + "balance": "0x487a9a304539440000" }, - "a5fe2ce97f0e8c3856be0de5f4dcb2ce5d389a16": { - "balance": "22892000000000000000" + "0xa5fe2ce97f0e8c3856be0de5f4dcb2ce5d389a16": { + "balance": "0x13db0b8b6863e0000" }, - "93258255b37c7f58f4b10673a932dd3afd90f4f2": { - "balance": "1000000000000000000000" + "0x93258255b37c7f58f4b10673a932dd3afd90f4f2": { + "balance": "0x3635c9adc5dea00000" }, - "950fe9c6cad50c18f11a9ed9c45740a6180612d0": { - "balance": "8000000000000000000000" + "0x950fe9c6cad50c18f11a9ed9c45740a6180612d0": { + "balance": "0x1b1ae4d6e2ef5000000" }, - "ee31167f9cc93b3c6465609d79db0cde90e8484c": { - "balance": "2000000000000000000000" + "0xee31167f9cc93b3c6465609d79db0cde90e8484c": { + "balance": "0x6c6b935b8bbd400000" }, - "6ebb5e6957aa821ef659b6018a393a504cae4450": { - "balance": "2000000000000000000000" + "0x6ebb5e6957aa821ef659b6018a393a504cae4450": { + "balance": "0x6c6b935b8bbd400000" }, - "be305a796e33bbf7f9aeae6512959066efda1010": { - "balance": "10880000000000000000000" + "0xbe305a796e33bbf7f9aeae6512959066efda1010": { + "balance": "0x24dce54d34a1a000000" }, - "537f9d4d31ef70839d84b0d9cdb72b9afedbdf35": { - "balance": "70000000000000000000000" + "0x537f9d4d31ef70839d84b0d9cdb72b9afedbdf35": { + "balance": "0xed2b525841adfc00000" }, - "fe9e1197d7974a7648dcc7a03112a88edbc9045d": { - "balance": "4925000000000000000000" + "0xfe9e1197d7974a7648dcc7a03112a88edbc9045d": { + "balance": "0x10afc1ade3b4ed40000" }, - "99f77f998b20e0bcdcd9fc838641526cf25918ef": { - "balance": "1790000000000000000000" + "0x99f77f998b20e0bcdcd9fc838641526cf25918ef": { + "balance": "0x61093d7c2c6d380000" }, - "76ffc157ad6bf8d56d9a1a7fddbc0fea010aabf4": { - "balance": "1000000000000000000000" + "0x76ffc157ad6bf8d56d9a1a7fddbc0fea010aabf4": { + "balance": "0x3635c9adc5dea00000" }, - "defe9141f4704599159d7b223de42bffd80496b3": { - "balance": "100000000000000000000" + "0xdefe9141f4704599159d7b223de42bffd80496b3": { + "balance": "0x56bc75e2d63100000" }, - "7b1bf53a9cbe83a7dea434579fe72aac8d2a0cd0": { - "balance": "199800000000000000000" + "0x7b1bf53a9cbe83a7dea434579fe72aac8d2a0cd0": { + "balance": "0xad4c8316a0b0c0000" }, - "23ccc3c6acd85c2e460c4ffdd82bc75dc849ea14": { - "balance": "4000000000000000000000" + "0x23ccc3c6acd85c2e460c4ffdd82bc75dc849ea14": { + "balance": "0xd8d726b7177a800000" }, - "9f86a066edb61fcb5856de93b75c8c791864b97b": { - "balance": "2000000000000000000000" + "0x9f86a066edb61fcb5856de93b75c8c791864b97b": { + "balance": "0x6c6b935b8bbd400000" }, - "871b8a8b51dea1989a5921f13ec1a955a515ad47": { - "balance": "8000000000000000000000" + "0x871b8a8b51dea1989a5921f13ec1a955a515ad47": { + "balance": "0x1b1ae4d6e2ef5000000" }, - "4efcd9c79fb4334ca6247b0a33bd9cc33208e272": { - "balance": "1337000000000000000000" + "0x4efcd9c79fb4334ca6247b0a33bd9cc33208e272": { + "balance": "0x487a9a304539440000" }, - "35ac1d3ed7464fa3db14e7729213ceaa378c095e": { - "balance": "1520000000000000000000" + "0x35ac1d3ed7464fa3db14e7729213ceaa378c095e": { + "balance": "0x52663ccab1e1c00000" }, - "c69d663c8d60908391c8d236191533fdf7775613": { - "balance": "485000000000000000000" + "0xc69d663c8d60908391c8d236191533fdf7775613": { + "balance": "0x1a4aba225c20740000" }, - "c2ed5ffdd1add855a2692fe062b5d618742360d4": { - "balance": "1200000000000000000000" + "0xc2ed5ffdd1add855a2692fe062b5d618742360d4": { + "balance": "0x410d586a20a4c00000" }, - "454f0141d721d33cbdc41018bd01119aa4784818": { - "balance": "6000000000000000000000" + "0x454f0141d721d33cbdc41018bd01119aa4784818": { + "balance": "0x14542ba12a337c00000" }, - "6c8687e3417710bb8a93559021a1469e6a86bc77": { - "balance": "11126675000000000000000" + "0x6c8687e3417710bb8a93559021a1469e6a86bc77": { + "balance": "0x25b2da278d96b7b8000" }, - "ec5b198a00cfb55a97b5d53644cffa8a04d2ab45": { - "balance": "2000000000000000000000" + "0xec5b198a00cfb55a97b5d53644cffa8a04d2ab45": { + "balance": "0x6c6b935b8bbd400000" }, - "cd59f3dde77e09940befb6ee58031965cae7a336": { - "balance": "10000000000000000000000" + "0xcd59f3dde77e09940befb6ee58031965cae7a336": { + "balance": "0x21e19e0c9bab2400000" }, - "8eebec1a62c08b05a7d1d59180af9ff0d18e3f36": { - "balance": "500000000000000000000" + "0x8eebec1a62c08b05a7d1d59180af9ff0d18e3f36": { + "balance": "0x1b1ae4d6e2ef500000" }, - "92a971a739799f8cb48ea8475d72b2d2474172e6": { - "balance": "3940000000000000000000" + "0x92a971a739799f8cb48ea8475d72b2d2474172e6": { + "balance": "0xd5967be4fc3f100000" }, - "bed4649df646e2819229032d8868556fe1e053d3": { - "balance": "18200000000000000000" + "0xbed4649df646e2819229032d8868556fe1e053d3": { + "balance": "0xfc936392801c0000" }, - "c50fe415a641b0856c4e75bf960515441afa358d": { - "balance": "2000000000000000000000" + "0xc50fe415a641b0856c4e75bf960515441afa358d": { + "balance": "0x6c6b935b8bbd400000" }, - "91f516146cda20281719978060c6be4149067c88": { - "balance": "2000000000000000000000" + "0x91f516146cda20281719978060c6be4149067c88": { + "balance": "0x6c6b935b8bbd400000" }, - "54a1370116fe22099e015d07cd2669dd291cc9d1": { - "balance": "20000000000000000000" + "0x54a1370116fe22099e015d07cd2669dd291cc9d1": { + "balance": "0x1158e460913d00000" }, - "80c04efd310f440483c73f744b5b9e64599ce3ec": { - "balance": "1200000000000000000000" + "0x80c04efd310f440483c73f744b5b9e64599ce3ec": { + "balance": "0x410d586a20a4c00000" }, - "a8914c95b560ec13f140577338c32bcbb77d3a7a": { - "balance": "180000000000000000000" + "0xa8914c95b560ec13f140577338c32bcbb77d3a7a": { + "balance": "0x9c2007651b2500000" }, - "e3c812737ac606baf7522ad817428a36050e7a34": { - "balance": "1940000000000000000000" + "0xe3c812737ac606baf7522ad817428a36050e7a34": { + "balance": "0x692ae8897081d00000" }, - "6d1456fff0104ee844a3314737843338d24cd66c": { - "balance": "141840000000000000000" + "0x6d1456fff0104ee844a3314737843338d24cd66c": { + "balance": "0x7b06ce87fdd680000" }, - "0e6ece99111cad1961c748ed3df51edd69d2a3b1": { - "balance": "100000000000000000000000" + "0x0e6ece99111cad1961c748ed3df51edd69d2a3b1": { + "balance": "0x152d02c7e14af6800000" }, - "019d709579ff4bc09fdcdde431dc1447d2c260bc": { - "balance": "20000000000000000000" + "0x019d709579ff4bc09fdcdde431dc1447d2c260bc": { + "balance": "0x1158e460913d00000" }, - "ebff84bbef423071e604c361bba677f5593def4e": { - "balance": "10000000000000000000000" + "0xebff84bbef423071e604c361bba677f5593def4e": { + "balance": "0x21e19e0c9bab2400000" }, - "e10c540088113fa6ec00b4b2c8824f8796e96ec4": { - "balance": "236400000000000000000000" + "0xe10c540088113fa6ec00b4b2c8824f8796e96ec4": { + "balance": "0x320f4509ab1ec7c00000" }, - "e03220c697bcd28f26ef0b74404a8beb06b2ba7b": { - "balance": "8000000000000000000000" + "0xe03220c697bcd28f26ef0b74404a8beb06b2ba7b": { + "balance": "0x1b1ae4d6e2ef5000000" }, - "e69a6cdb3a8a7db8e1f30c8b84cd73bae02bc0f8": { - "balance": "16915503000000000000000" + "0xe69a6cdb3a8a7db8e1f30c8b84cd73bae02bc0f8": { + "balance": "0x394fdc2e452f6718000" }, - "e5fb31a5caee6a96de393bdbf89fbe65fe125bb3": { - "balance": "1000000000000000000000" + "0xe5fb31a5caee6a96de393bdbf89fbe65fe125bb3": { + "balance": "0x3635c9adc5dea00000" }, - "030fb3401f72bd3418b7d1da75bf8c519dd707dc": { - "balance": "3000000000000000000000" + "0x030fb3401f72bd3418b7d1da75bf8c519dd707dc": { + "balance": "0xa2a15d09519be00000" }, - "1c751e7f24df9d94a637a5dedeffc58277b5db19": { - "balance": "3220000000000000000000" + "0x1c751e7f24df9d94a637a5dedeffc58277b5db19": { + "balance": "0xae8e7a0bb575d00000" }, - "bded7e07d0711e684de65ac8b2ab57c55c1a8645": { - "balance": "591000000000000000000" + "0xbded7e07d0711e684de65ac8b2ab57c55c1a8645": { + "balance": "0x2009c5c8bf6fdc0000" }, - "dd7ff441ba6ffe3671f3c0dabbff1823a5043370": { - "balance": "2000000000000000000000" + "0xdd7ff441ba6ffe3671f3c0dabbff1823a5043370": { + "balance": "0x6c6b935b8bbd400000" }, - "b55474ba58f0f2f40e6cbabed4ea176e011fcad6": { - "balance": "1970000000000000000000" + "0xb55474ba58f0f2f40e6cbabed4ea176e011fcad6": { + "balance": "0x6acb3df27e1f880000" }, - "b92427ad7578b4bfe20a9f63a7c5506d5ca12dc8": { - "balance": "2000000000000000000000" + "0xb92427ad7578b4bfe20a9f63a7c5506d5ca12dc8": { + "balance": "0x6c6b935b8bbd400000" }, - "91a8baaed012ea2e63803b593d0d0c2aab4c5b0a": { - "balance": "1500000000000000000000" + "0x91a8baaed012ea2e63803b593d0d0c2aab4c5b0a": { + "balance": "0x5150ae84a8cdf00000" }, - "a97e072144499fe5ebbd354acc7e7efb58985d08": { - "balance": "2674000000000000000000" + "0xa97e072144499fe5ebbd354acc7e7efb58985d08": { + "balance": "0x90f534608a72880000" }, - "75c2ffa1bef54919d2097f7a142d2e14f9b04a58": { - "balance": "2673866000000000000000" + "0x75c2ffa1bef54919d2097f7a142d2e14f9b04a58": { + "balance": "0x90f358504032a10000" }, - "53faf165be031ec18330d9fce5bd1281a1af08db": { - "balance": "140000000000000000000" + "0x53faf165be031ec18330d9fce5bd1281a1af08db": { + "balance": "0x796e3ea3f8ab00000" }, - "055ab658c6f0ed4f875ed6742e4bc7292d1abbf0": { - "balance": "83500000000000000000" + "0x055ab658c6f0ed4f875ed6742e4bc7292d1abbf0": { + "balance": "0x486cb9799191e0000" }, - "6f18ec767e320508195f1374500e3f2e125689ff": { - "balance": "1000000000000000000000" + "0x6f18ec767e320508195f1374500e3f2e125689ff": { + "balance": "0x3635c9adc5dea00000" }, - "90fc537b210658660a83baa9ac4a8402f65746a8": { - "balance": "1880000000000000000000" + "0x90fc537b210658660a83baa9ac4a8402f65746a8": { + "balance": "0x65ea3db75546600000" }, - "34664d220fa7f37958024a3332d684bcc6d4c8bd": { - "balance": "10000000000000000000000" + "0x34664d220fa7f37958024a3332d684bcc6d4c8bd": { + "balance": "0x21e19e0c9bab2400000" }, - "15acb61568ec4af7ea2819386181b116a6c5ee70": { - "balance": "31000000000000000000000" + "0x15acb61568ec4af7ea2819386181b116a6c5ee70": { + "balance": "0x690836c0af5f5600000" }, - "69d98f38a3ba3dbc01fa5c2c1427d862832f2f70": { - "balance": "100000000000000000000000" + "0x69d98f38a3ba3dbc01fa5c2c1427d862832f2f70": { + "balance": "0x152d02c7e14af6800000" }, - "ece1152682b7598fe2d1e21ec15533885435ac85": { - "balance": "4000000000000000000000" + "0xece1152682b7598fe2d1e21ec15533885435ac85": { + "balance": "0xd8d726b7177a800000" }, - "f618d9b104411480a863e623fc55232d1a4f48aa": { - "balance": "265793000000000000000" + "0xf618d9b104411480a863e623fc55232d1a4f48aa": { + "balance": "0xe689e6d44b1668000" }, - "f9debaecb5f339beea4894e5204bfa340d067f25": { - "balance": "1665000000000000000000" + "0xf9debaecb5f339beea4894e5204bfa340d067f25": { + "balance": "0x5a42844673b1640000" }, - "5e731b55ced452bb3f3fe871ddc3ed7ee6510a8f": { - "balance": "3000000000000000000000" + "0x5e731b55ced452bb3f3fe871ddc3ed7ee6510a8f": { + "balance": "0xa2a15d09519be00000" }, - "67df242d240dd4b8071d72f8fcf35bb3809d71e8": { - "balance": "4000000000000000000000" + "0x67df242d240dd4b8071d72f8fcf35bb3809d71e8": { + "balance": "0xd8d726b7177a800000" }, - "c4cf930e5d116ab8d13b9f9a7ec4ab5003a6abde": { - "balance": "320000000000000000000" + "0xc4cf930e5d116ab8d13b9f9a7ec4ab5003a6abde": { + "balance": "0x1158e460913d000000" }, - "01a25a5f5af0169b30864c3be4d7563ccd44f09e": { - "balance": "1430000000000000000000" + "0x01a25a5f5af0169b30864c3be4d7563ccd44f09e": { + "balance": "0x4d853c8f8908980000" }, - "7f6efb6f4318876d2ee624e27595f44446f68e93": { - "balance": "1550000000000000000000" + "0x7f6efb6f4318876d2ee624e27595f44446f68e93": { + "balance": "0x54069233bf7f780000" }, - "82249fe70f61c6b16f19a324840fdc020231bb02": { - "balance": "9504014000000000000000" + "0x82249fe70f61c6b16f19a324840fdc020231bb02": { + "balance": "0x20336b08a93635b0000" }, - "205237c4be146fba99478f3a7dad17b09138da95": { - "balance": "2000000000000000000000" + "0x205237c4be146fba99478f3a7dad17b09138da95": { + "balance": "0x6c6b935b8bbd400000" }, - "fd1fb5a89a89a721b8797068fbc47f3e9d52e149": { - "balance": "236400000000000000000" + "0xfd1fb5a89a89a721b8797068fbc47f3e9d52e149": { + "balance": "0xcd0b5837fc6580000" }, - "e47fbaed99fc209962604ebd20e240f74f4591f1": { - "balance": "2000000000000000000000" + "0xe47fbaed99fc209962604ebd20e240f74f4591f1": { + "balance": "0x6c6b935b8bbd400000" }, - "a24c3ab62181e9a15b78c4621e4c7c588127be26": { - "balance": "162410000000000000000" + "0xa24c3ab62181e9a15b78c4621e4c7c588127be26": { + "balance": "0x8cde43a83d3310000" }, - "b6cd7432d5161be79768ad45de3e447a07982063": { - "balance": "4000000000000000000000" + "0xb6cd7432d5161be79768ad45de3e447a07982063": { + "balance": "0xd8d726b7177a800000" }, - "32a70691255c9fc9791a4f75c8b81f388e0a2503": { - "balance": "985000000000000000000" + "0x32a70691255c9fc9791a4f75c8b81f388e0a2503": { + "balance": "0x35659ef93f0fc40000" }, - "562f16d79abfcec3943e34b20f05f97bdfcda605": { - "balance": "4000000000000000000000" + "0x562f16d79abfcec3943e34b20f05f97bdfcda605": { + "balance": "0xd8d726b7177a800000" }, - "dbc66965e426ff1ac87ad6eb78c1d95271158f9f": { - "balance": "18200000000000000000" + "0xdbc66965e426ff1ac87ad6eb78c1d95271158f9f": { + "balance": "0xfc936392801c0000" }, - "7e87863ec43a481df04d017762edcb5caa629b5a": { - "balance": "39400000000000000000" + "0x7e87863ec43a481df04d017762edcb5caa629b5a": { + "balance": "0x222c8eb3ff6640000" }, - "587d6849b168f6c3332b7abae7eb6c42c37f48bf": { - "balance": "880000000000000000000" + "0x587d6849b168f6c3332b7abae7eb6c42c37f48bf": { + "balance": "0x2fb474098f67c00000" }, - "721158be5762b119cc9b2035e88ee4ee78f29b82": { - "balance": "10000000000000000000000" + "0x721158be5762b119cc9b2035e88ee4ee78f29b82": { + "balance": "0x21e19e0c9bab2400000" }, - "84b91e2e2902d05e2b591b41083bd7beb2d52c74": { - "balance": "9848621000000000000000" + "0x84b91e2e2902d05e2b591b41083bd7beb2d52c74": { + "balance": "0x215e5128b4504648000" }, - "632cecb10cfcf38ec986b43b8770adece9200221": { - "balance": "20000000000000000000" + "0x632cecb10cfcf38ec986b43b8770adece9200221": { + "balance": "0x1158e460913d00000" }, - "c34e3ba1322ed0571183a24f94204ee49c186641": { - "balance": "58200000000000000000" + "0xc34e3ba1322ed0571183a24f94204ee49c186641": { + "balance": "0x327afefa4a7bc0000" }, - "ae78bb849139a6ba38ae92a09a69601cc4cb62d1": { - "balance": "500000000000000000000" + "0xae78bb849139a6ba38ae92a09a69601cc4cb62d1": { + "balance": "0x1b1ae4d6e2ef500000" }, - "5ce0b6862cce9162e87e0849e387cb5df4f9118c": { - "balance": "1670000000000000000000" + "0x5ce0b6862cce9162e87e0849e387cb5df4f9118c": { + "balance": "0x5a87e7d7f5f6580000" }, - "f52c0a7877345fe0c233bb0f04fd6ab18b6f14ba": { - "balance": "400440000000000000000000" + "0xf52c0a7877345fe0c233bb0f04fd6ab18b6f14ba": { + "balance": "0x54cbe55989f38de00000" }, - "e016dc138e25815b90be3fe9eee8ffb2e105624f": { - "balance": "500000000000000000000" + "0xe016dc138e25815b90be3fe9eee8ffb2e105624f": { + "balance": "0x1b1ae4d6e2ef500000" }, - "5789d01db12c816ac268e9af19dc0dd6d99f15df": { - "balance": "200000000000000000000" + "0x5789d01db12c816ac268e9af19dc0dd6d99f15df": { + "balance": "0xad78ebc5ac6200000" }, - "d8b77db9b81bbe90427b62f702b201ffc29ff618": { - "balance": "930200000000000000000" + "0xd8b77db9b81bbe90427b62f702b201ffc29ff618": { + "balance": "0x326d1e4396d45c0000" }, - "5dff811dad819ece3ba602c383fb5dc64c0a3a48": { - "balance": "186000000000000000000" + "0x5dff811dad819ece3ba602c383fb5dc64c0a3a48": { + "balance": "0xa1544be879ea80000" }, - "af3087e62e04bf900d5a54dc3e946274da92423b": { - "balance": "20000000000000000000" + "0xaf3087e62e04bf900d5a54dc3e946274da92423b": { + "balance": "0x1158e460913d00000" }, - "8c1023fde1574db8bb54f1739670157ca47da652": { - "balance": "6969382000000000000000" + "0x8c1023fde1574db8bb54f1739670157ca47da652": { + "balance": "0x179cf9ac3a1b1770000" }, - "bb3b010b18e6e2be1135871026b7ba15ea0fde24": { - "balance": "10044000000000000000000" + "0xbb3b010b18e6e2be1135871026b7ba15ea0fde24": { + "balance": "0x2207c80309b77700000" }, - "cabdaf354f4720a466a764a528d60e3a482a393c": { - "balance": "1000000000000000000000" + "0xcabdaf354f4720a466a764a528d60e3a482a393c": { + "balance": "0x3635c9adc5dea00000" }, - "94bbc67d13f89ebca594be94bc5170920c30d9f3": { - "balance": "80200000000000000000" + "0x94bbc67d13f89ebca594be94bc5170920c30d9f3": { + "balance": "0x458ffa3150a540000" }, - "3275496fd4dd8931fd69fb0a0b04c4d1ff879ef5": { - "balance": "446000000000000000000" + "0x3275496fd4dd8931fd69fb0a0b04c4d1ff879ef5": { + "balance": "0x182d7e4cfda0380000" }, - "281250a29121270a4ee5d78d24feafe82c70ba3a": { - "balance": "1000000000000000000000" + "0x281250a29121270a4ee5d78d24feafe82c70ba3a": { + "balance": "0x3635c9adc5dea00000" }, - "590ccb5911cf78f6f622f535c474375f4a12cfcf": { - "balance": "20000000000000000000000" + "0x590ccb5911cf78f6f622f535c474375f4a12cfcf": { + "balance": "0x43c33c1937564800000" }, - "542e8096bafb88162606002e8c8a3ed19814aeac": { - "balance": "2000000000000000000000" + "0x542e8096bafb88162606002e8c8a3ed19814aeac": { + "balance": "0x6c6b935b8bbd400000" }, - "a65426cff378ed23253513b19f496de45fa7e18f": { - "balance": "7200000000000000000000" + "0xa65426cff378ed23253513b19f496de45fa7e18f": { + "balance": "0x18650127cc3dc800000" }, - "4aa693b122f314482a47b11cc77c68a497876162": { - "balance": "1970000000000000000000" + "0x4aa693b122f314482a47b11cc77c68a497876162": { + "balance": "0x6acb3df27e1f880000" }, - "d9b783d31d32adc50fa3eacaa15d92b568eaeb47": { - "balance": "34010000000000000000000" + "0xd9b783d31d32adc50fa3eacaa15d92b568eaeb47": { + "balance": "0x733af90374c1b280000" }, - "068e655766b944fb263619658740b850c94afa31": { - "balance": "35200000000000000000" + "0x068e655766b944fb263619658740b850c94afa31": { + "balance": "0x1e87f85809dc00000" }, - "9e23c5e4b782b00a5fadf1aead87dacf5b0367a1": { - "balance": "20000000000000000000" + "0x9e23c5e4b782b00a5fadf1aead87dacf5b0367a1": { + "balance": "0x1158e460913d00000" }, - "bf17f397f8f46f1bae45d187148c06eeb959fa4d": { - "balance": "1001440000000000000000" + "0xbf17f397f8f46f1bae45d187148c06eeb959fa4d": { + "balance": "0x3649c59624bb300000" }, - "8578e10212ca14ff0732a8241e37467db85632a9": { - "balance": "6000000000000000000000" + "0x8578e10212ca14ff0732a8241e37467db85632a9": { + "balance": "0x14542ba12a337c00000" }, - "2cb5495a505336c2465410d1cae095b8e1ba5cdd": { - "balance": "20000000000000000000000" + "0x2cb5495a505336c2465410d1cae095b8e1ba5cdd": { + "balance": "0x43c33c1937564800000" }, - "695b0f5242753701b264a67071a2dc880836b8db": { - "balance": "16400000000000000000" + "0x695b0f5242753701b264a67071a2dc880836b8db": { + "balance": "0xe398811bec680000" }, - "f2edde37f9a8c39ddea24d79f4015757d06bf786": { - "balance": "100000000000000000000000" + "0xf2edde37f9a8c39ddea24d79f4015757d06bf786": { + "balance": "0x152d02c7e14af6800000" }, - "480f31b989311e4124c6a7465f5a44094d36f9d0": { - "balance": "1025000000000000000000" + "0x480f31b989311e4124c6a7465f5a44094d36f9d0": { + "balance": "0x3790bb855137640000" }, - "cf157612764e0fd696c8cb5fba85df4c0ddc3cb0": { - "balance": "30000000000000000000000" + "0xcf157612764e0fd696c8cb5fba85df4c0ddc3cb0": { + "balance": "0x65a4da25d3016c00000" }, - "27521deb3b6ef1416ea4c781a2e5d7b36ee81c61": { - "balance": "2000000000000000000000" + "0x27521deb3b6ef1416ea4c781a2e5d7b36ee81c61": { + "balance": "0x6c6b935b8bbd400000" }, - "6efd90b535e00bbd889fda7e9c3184f879a151db": { - "balance": "10100000000000000000000" + "0x6efd90b535e00bbd889fda7e9c3184f879a151db": { + "balance": "0x22385a827e815500000" }, - "b635a4bc71fb28fdd5d2c322983a56c284426e69": { - "balance": "170000000000000000000" + "0xb635a4bc71fb28fdd5d2c322983a56c284426e69": { + "balance": "0x93739534d28680000" }, - "a17c9e4323069518189d5207a0728dcb92306a3f": { - "balance": "1000000000000000000000" + "0xa17c9e4323069518189d5207a0728dcb92306a3f": { + "balance": "0x3635c9adc5dea00000" }, - "6af940f63ec9b8d876272aca96fef65cdacecdea": { - "balance": "3000000000000000000000" + "0x6af940f63ec9b8d876272aca96fef65cdacecdea": { + "balance": "0xa2a15d09519be00000" }, - "469358709332c82b887e20bcddd0220f8edba7d0": { - "balance": "17300000000000000000000" + "0x469358709332c82b887e20bcddd0220f8edba7d0": { + "balance": "0x3a9d5baa4abf1d00000" }, - "a257ad594bd88328a7d90fc0a907df95eecae316": { - "balance": "520510000000000000000" + "0xa257ad594bd88328a7d90fc0a907df95eecae316": { + "balance": "0x1c3786ff3846930000" }, - "6f051666cb4f7bd2b1907221b829b555d7a3db74": { - "balance": "1760000000000000000000" + "0x6f051666cb4f7bd2b1907221b829b555d7a3db74": { + "balance": "0x5f68e8131ecf800000" }, - "46bfc5b207eb2013e2e60f775fecd71810c5990c": { - "balance": "1550000000000000000000" + "0x46bfc5b207eb2013e2e60f775fecd71810c5990c": { + "balance": "0x54069233bf7f780000" }, - "62b9081e7710345e38e02e16449ace1b85bcfc4e": { - "balance": "910000000000000000000" + "0x62b9081e7710345e38e02e16449ace1b85bcfc4e": { + "balance": "0x3154c9729d05780000" }, - "bc73f7b1ca3b773b34249ada2e2c8a9274cc17c2": { - "balance": "2000000000000000000000" + "0xbc73f7b1ca3b773b34249ada2e2c8a9274cc17c2": { + "balance": "0x6c6b935b8bbd400000" }, - "1adaf4abfa867db17f99af6abebf707a3cf55df6": { - "balance": "6000000000000000000000" + "0x1adaf4abfa867db17f99af6abebf707a3cf55df6": { + "balance": "0x14542ba12a337c00000" }, - "8d629c20608135491b5013f1002586a0383130e5": { - "balance": "1370000000000000000000" + "0x8d629c20608135491b5013f1002586a0383130e5": { + "balance": "0x4a4491bd6dcd280000" }, - "38e46de4453c38e941e7930f43304f94bb7b2be8": { - "balance": "2005500000000000000000" + "0x38e46de4453c38e941e7930f43304f94bb7b2be8": { + "balance": "0x6cb7e74867d5e60000" }, - "3485f621256433b98a4200dad857efe55937ec98": { - "balance": "2000000000000000000000" + "0x3485f621256433b98a4200dad857efe55937ec98": { + "balance": "0x6c6b935b8bbd400000" }, - "775c10c93e0db7205b2643458233c64fc33fd75b": { - "balance": "2000000000000000000000" + "0x775c10c93e0db7205b2643458233c64fc33fd75b": { + "balance": "0x6c6b935b8bbd400000" }, - "7c4401ae98f12ef6de39ae24cf9fc51f80eba16b": { - "balance": "200000000000000000000" + "0x7c4401ae98f12ef6de39ae24cf9fc51f80eba16b": { + "balance": "0xad78ebc5ac6200000" }, - "17b807afa3ddd647e723542e7b52fee39527f306": { - "balance": "400010000000000000000" + "0x17b807afa3ddd647e723542e7b52fee39527f306": { + "balance": "0x15af40ffa7fc010000" }, - "0ab366e6e7d5abbce6b44a438d69a1cabb90d133": { - "balance": "320000000000000000000" + "0x0ab366e6e7d5abbce6b44a438d69a1cabb90d133": { + "balance": "0x1158e460913d000000" }, - "194ffe78bbf5d20dd18a1f01da552e00b7b11db1": { - "balance": "7000000000000000000000" + "0x194ffe78bbf5d20dd18a1f01da552e00b7b11db1": { + "balance": "0x17b7883c06916600000" }, - "c45d47ab0c9aa98a5bd62d16223ea2471b121ca4": { - "balance": "593640000000000000000" + "0xc45d47ab0c9aa98a5bd62d16223ea2471b121ca4": { + "balance": "0x202e68f2c2aee40000" }, - "2487c3c4be86a2723d917c06b458550170c3edba": { - "balance": "1000000000000000000000" + "0x2487c3c4be86a2723d917c06b458550170c3edba": { + "balance": "0x3635c9adc5dea00000" }, - "ec4d08aa2e47496dca87225de33f2b40a8a5b36f": { - "balance": "158000000000000000000" + "0xec4d08aa2e47496dca87225de33f2b40a8a5b36f": { + "balance": "0x890b0c2e14fb80000" }, - "aaa8defe11e3613f11067fb983625a08995a8dfc": { - "balance": "200000000000000000000" + "0xaaa8defe11e3613f11067fb983625a08995a8dfc": { + "balance": "0xad78ebc5ac6200000" }, - "50bb67c8b8d8bd0f63c4760904f2d333f400aace": { - "balance": "2000000000000000000000" + "0x50bb67c8b8d8bd0f63c4760904f2d333f400aace": { + "balance": "0x6c6b935b8bbd400000" }, - "1227e10a4dbf9caca31b1780239f557615fc35c1": { - "balance": "200000000000000000000" + "0x1227e10a4dbf9caca31b1780239f557615fc35c1": { + "balance": "0xad78ebc5ac6200000" }, - "44a8989e32308121f72466978db395d1f76c3a4b": { - "balance": "7236900000000000000000" + "0x44a8989e32308121f72466978db395d1f76c3a4b": { + "balance": "0x18850299f42b06a0000" }, - "59569a21d28fba4bda37753405a081f2063da150": { - "balance": "4000000000000000000000" + "0x59569a21d28fba4bda37753405a081f2063da150": { + "balance": "0xd8d726b7177a800000" }, - "c3756bcdcc7eec74ed896adfc335275930266e08": { - "balance": "6000000000000000000000" + "0xc3756bcdcc7eec74ed896adfc335275930266e08": { + "balance": "0x14542ba12a337c00000" }, - "ce3a61f0461b00935e85fa1ead82c45e5a64d488": { - "balance": "500000000000000000000" + "0xce3a61f0461b00935e85fa1ead82c45e5a64d488": { + "balance": "0x1b1ae4d6e2ef500000" }, - "012f396a2b5eb83559bac515e5210df2c8c362ba": { - "balance": "200000000000000000000" + "0x012f396a2b5eb83559bac515e5210df2c8c362ba": { + "balance": "0xad78ebc5ac6200000" }, - "93bc7d9a4abd44c8bbb8fe8ba804c61ad8d6576c": { - "balance": "3999922000000000000000" + "0x93bc7d9a4abd44c8bbb8fe8ba804c61ad8d6576c": { + "balance": "0xd8d6119a8146050000" }, - "e20bb9f3966419e14bbbaaaa6789e92496cfa479": { - "balance": "3465116000000000000000" + "0xe20bb9f3966419e14bbbaaaa6789e92496cfa479": { + "balance": "0xbbd825030752760000" }, - "9eef442d291a447d74c5d253c49ef324eac1d8f0": { - "balance": "3420000000000000000000" + "0x9eef442d291a447d74c5d253c49ef324eac1d8f0": { + "balance": "0xb96608c8103bf00000" }, - "db6c2a73dac7424ab0d031b66761122566c01043": { - "balance": "3000000000000000000000" + "0xdb6c2a73dac7424ab0d031b66761122566c01043": { + "balance": "0xa2a15d09519be00000" }, - "704d243c2978e46c2c86adbecd246e3b295ff633": { - "balance": "2012000000000000000000" + "0x704d243c2978e46c2c86adbecd246e3b295ff633": { + "balance": "0x6d121bebf795f00000" }, - "d2ff672016f63b2f85398f4a6fedbb60a50d3cce": { - "balance": "342500000000000000000" + "0xd2ff672016f63b2f85398f4a6fedbb60a50d3cce": { + "balance": "0x1291246f5b734a0000" }, - "d2051cb3cb6704f0548cc890ab0a19db3415b42a": { - "balance": "334000000000000000000" + "0xd2051cb3cb6704f0548cc890ab0a19db3415b42a": { + "balance": "0x121b2e5e6464780000" }, - "1111e5dbf45e6f906d62866f1708101788ddd571": { - "balance": "1300200000000000000000" + "0x1111e5dbf45e6f906d62866f1708101788ddd571": { + "balance": "0x467be6533ec2e40000" }, - "6a686bf220b593deb9b7324615fb9144ded3f39d": { - "balance": "1460000000000000000000" + "0x6a686bf220b593deb9b7324615fb9144ded3f39d": { + "balance": "0x4f2591f896a6500000" }, - "911feea61fe0ed50c5b9e5a0d66071399d28bdc6": { - "balance": "60000000000000000000" + "0x911feea61fe0ed50c5b9e5a0d66071399d28bdc6": { + "balance": "0x340aad21b3b700000" }, - "3881defae1c07b3ce04c78abe26b0cdc8d73f010": { - "balance": "200000000000000000000" + "0x3881defae1c07b3ce04c78abe26b0cdc8d73f010": { + "balance": "0xad78ebc5ac6200000" }, - "ea94f32808a2ef8a9bf0861d1d2404f7b7be258a": { - "balance": "20000000000000000000" + "0xea94f32808a2ef8a9bf0861d1d2404f7b7be258a": { + "balance": "0x1158e460913d00000" }, - "2eef6b1417d7b10ecfc19b123a8a89e73e526c58": { - "balance": "600000000000000000000" + "0x2eef6b1417d7b10ecfc19b123a8a89e73e526c58": { + "balance": "0x2086ac351052600000" }, - "dd8af9e7765223f4446f44d3d509819a3d3db411": { - "balance": "10000000000000000000000" + "0xdd8af9e7765223f4446f44d3d509819a3d3db411": { + "balance": "0x21e19e0c9bab2400000" }, - "2efc4c647dac6acac35577ad221758fef6616faa": { - "balance": "8000000000000000000000" + "0x2efc4c647dac6acac35577ad221758fef6616faa": { + "balance": "0x1b1ae4d6e2ef5000000" }, - "1547b9bf7ad66274f3413827231ba405ee8c88c1": { - "balance": "17300000000000000000000" + "0x1547b9bf7ad66274f3413827231ba405ee8c88c1": { + "balance": "0x3a9d5baa4abf1d00000" }, - "250a40cef3202397f240469548beb5626af4f23c": { - "balance": "92500000000000000000" + "0x250a40cef3202397f240469548beb5626af4f23c": { + "balance": "0x503b203e9fba20000" }, - "c175be3194e669422d15fee81eb9f2c56c67d9c9": { - "balance": "200000000000000000000" + "0xc175be3194e669422d15fee81eb9f2c56c67d9c9": { + "balance": "0xad78ebc5ac6200000" }, - "c9e02608066828848aeb28c73672a12925181f4d": { - "balance": "500038000000000000000" + "0xc9e02608066828848aeb28c73672a12925181f4d": { + "balance": "0x1b1b6bd7af64c70000" }, - "8229ceb9f0d70839498d44e6abed93c5ca059f5d": { - "balance": "123300000000000000000000" + "0x8229ceb9f0d70839498d44e6abed93c5ca059f5d": { + "balance": "0x1a1c1b3c989a20100000" }, - "39f198331e4b21c1b760a3155f4ab2fe00a74619": { - "balance": "2000000000000000000000" + "0x39f198331e4b21c1b760a3155f4ab2fe00a74619": { + "balance": "0x6c6b935b8bbd400000" }, - "3ffcb870d4023d255d5167d8a507cefc366b68ba": { - "balance": "649400000000000000000" + "0x3ffcb870d4023d255d5167d8a507cefc366b68ba": { + "balance": "0x23343c4354d2ac0000" }, - "00dae27b350bae20c5652124af5d8b5cba001ec1": { - "balance": "40000000000000000000" + "0x00dae27b350bae20c5652124af5d8b5cba001ec1": { + "balance": "0x22b1c8c1227a00000" }, - "fc5500825105cf712a318a5e9c3bfc69c89d0c12": { - "balance": "4000000000000000000000" + "0xfc5500825105cf712a318a5e9c3bfc69c89d0c12": { + "balance": "0xd8d726b7177a800000" }, - "1ed8bb3f06778b039e9961d81cb71a73e6787c8e": { - "balance": "2000000000000000000000" + "0x1ed8bb3f06778b039e9961d81cb71a73e6787c8e": { + "balance": "0x6c6b935b8bbd400000" }, - "530ffac3bc3412e2ec0ea47b7981c770f5bb2f35": { - "balance": "133700000000000000000" + "0x530ffac3bc3412e2ec0ea47b7981c770f5bb2f35": { + "balance": "0x73f75d1a085ba0000" }, - "5f344b01c7191a32d0762ac188f0ec2dd460911d": { - "balance": "1000000000000000000000" + "0x5f344b01c7191a32d0762ac188f0ec2dd460911d": { + "balance": "0x3635c9adc5dea00000" }, - "5cfa9877f719c79d9e494a08d1e41cf103fc87c9": { - "balance": "200000000000000000000" + "0x5cfa9877f719c79d9e494a08d1e41cf103fc87c9": { + "balance": "0xad78ebc5ac6200000" }, - "f6eaac7032d492ef17fd6095afc11d634f56b382": { - "balance": "500038000000000000000" + "0xf6eaac7032d492ef17fd6095afc11d634f56b382": { + "balance": "0x1b1b6bd7af64c70000" }, - "962c0dec8a3d464bf39b1215eafd26480ae490cd": { - "balance": "2001680000000000000000" + "0x962c0dec8a3d464bf39b1215eafd26480ae490cd": { + "balance": "0x6c82e3eaa513e80000" }, - "262a8bfd7d9dc5dd3ad78161b6bb560824373655": { - "balance": "1169820000000000000000" + "0x262a8bfd7d9dc5dd3ad78161b6bb560824373655": { + "balance": "0x3f6a8384072b760000" }, - "9b4824ff9fb2abda554dee4fb8cf549165570631": { - "balance": "20000000000000000000" + "0x9b4824ff9fb2abda554dee4fb8cf549165570631": { + "balance": "0x1158e460913d00000" }, - "bb3b9005f46fd2ca3b30162599928c77d9f6b601": { - "balance": "8000014000000000000000" + "0xbb3b9005f46fd2ca3b30162599928c77d9f6b601": { + "balance": "0x1b1ae7f2b1bf7db0000" }, - "f7dc251196fbcbb77c947d7c1946b0ff65021cea": { - "balance": "1000000000000000000000" + "0xf7dc251196fbcbb77c947d7c1946b0ff65021cea": { + "balance": "0x3635c9adc5dea00000" }, - "af1148ef6c8e103d7530efc91679c9ac27000993": { - "balance": "200000000000000000000" + "0xaf1148ef6c8e103d7530efc91679c9ac27000993": { + "balance": "0xad78ebc5ac6200000" }, - "0bb2650ea01aca755bc0c017b64b1ab5a66d82e3": { - "balance": "1337000000000000000000" + "0x0bb2650ea01aca755bc0c017b64b1ab5a66d82e3": { + "balance": "0x487a9a304539440000" }, - "0cda12bf72d461bbc479eb92e6491d057e6b5ad1": { - "balance": "10000000000000000000000" + "0x0cda12bf72d461bbc479eb92e6491d057e6b5ad1": { + "balance": "0x21e19e0c9bab2400000" }, - "4e5b77f9066159e615933f2dda7477fa4e47d648": { - "balance": "200000000000000000000" + "0x4e5b77f9066159e615933f2dda7477fa4e47d648": { + "balance": "0xad78ebc5ac6200000" }, - "391161b0e43c302066e8a68d2ce7e199ecdb1d57": { - "balance": "4000000000000000000000" + "0x391161b0e43c302066e8a68d2ce7e199ecdb1d57": { + "balance": "0xd8d726b7177a800000" }, - "c7e330cd0c890ac99fe771fcc7e7b009b7413d8a": { - "balance": "4000000000000000000000" + "0xc7e330cd0c890ac99fe771fcc7e7b009b7413d8a": { + "balance": "0xd8d726b7177a800000" }, - "d4b38a5fdb63e01714e9801db47bc990bd509183": { - "balance": "5999000000000000000000" + "0xd4b38a5fdb63e01714e9801db47bc990bd509183": { + "balance": "0x14534d95bef905c0000" }, - "bc0f98598f88056a26339620923b8f1eb074a9fd": { - "balance": "200000000000000000000" + "0xbc0f98598f88056a26339620923b8f1eb074a9fd": { + "balance": "0xad78ebc5ac6200000" }, - "dbc59ed88973dead310884223af49763c05030f1": { - "balance": "20000000000000000000" + "0xdbc59ed88973dead310884223af49763c05030f1": { + "balance": "0x1158e460913d00000" }, - "0f85e42b1df321a4b3e835b50c00b06173968436": { - "balance": "985000000000000000000" + "0x0f85e42b1df321a4b3e835b50c00b06173968436": { + "balance": "0x35659ef93f0fc40000" }, - "d7788ef28658aa06cc53e1f3f0de58e5c371be78": { - "balance": "6685000000000000000000" + "0xd7788ef28658aa06cc53e1f3f0de58e5c371be78": { + "balance": "0x16a6502f15a1e540000" }, - "ecd276af64c79d1bd9a92b86b5e88d9a95eb88f8": { - "balance": "20000000000000000000" + "0xecd276af64c79d1bd9a92b86b5e88d9a95eb88f8": { + "balance": "0x1158e460913d00000" }, - "81c9e1aee2d3365d53bcfdcd96c7c538b0fd7eec": { - "balance": "1820000000000000000000" + "0x81c9e1aee2d3365d53bcfdcd96c7c538b0fd7eec": { + "balance": "0x62a992e53a0af00000" }, - "5d39ef9ea6bdfff15d11fe91f561a6f9e31f5da5": { - "balance": "2000000000000000000000" + "0x5d39ef9ea6bdfff15d11fe91f561a6f9e31f5da5": { + "balance": "0x6c6b935b8bbd400000" }, - "99878f9d6e0a7ed9aec78297b73879a80195afe0": { - "balance": "3980000000000000000000" + "0x99878f9d6e0a7ed9aec78297b73879a80195afe0": { + "balance": "0xd7c198710e66b00000" }, - "7294c918b1aefb4d25927ef9d799e71f93a28e85": { - "balance": "197000000000000000000" + "0x7294c918b1aefb4d25927ef9d799e71f93a28e85": { + "balance": "0xaadec983fcff40000" }, - "a33f70da7275ef057104dfa7db64f472e9f5d553": { - "balance": "80220000000000000000" + "0xa33f70da7275ef057104dfa7db64f472e9f5d553": { + "balance": "0x45946b0f9e9d60000" }, - "255bdd6474cc8262f26a22c38f45940e1ceea69b": { - "balance": "4000000000000000000000" + "0x255bdd6474cc8262f26a22c38f45940e1ceea69b": { + "balance": "0xd8d726b7177a800000" }, - "52f8b509fee1a874ab6f9d87367fbeaf15ac137f": { - "balance": "1000000000000000000000" + "0x52f8b509fee1a874ab6f9d87367fbeaf15ac137f": { + "balance": "0x3635c9adc5dea00000" }, - "e2728a3e8c2aaac983d05dc6877374a8f446eee9": { - "balance": "197600000000000000000" + "0xe2728a3e8c2aaac983d05dc6877374a8f446eee9": { + "balance": "0xab640391201300000" }, - "ed0206cb23315128f8caff26f6a30b985467d022": { - "balance": "40000000000000000000000" + "0xed0206cb23315128f8caff26f6a30b985467d022": { + "balance": "0x878678326eac9000000" }, - "87cf36ad03c9eae9053abb5242de9117bb0f2a0b": { - "balance": "500000000000000000000" + "0x87cf36ad03c9eae9053abb5242de9117bb0f2a0b": { + "balance": "0x1b1ae4d6e2ef500000" }, - "a929c8bd71db0c308dac06080a1747f21b1465aa": { - "balance": "500000000000000000000" + "0xa929c8bd71db0c308dac06080a1747f21b1465aa": { + "balance": "0x1b1ae4d6e2ef500000" }, - "9da6e075989c7419094cc9f6d2e49393bb199688": { - "balance": "11100000000000000000000" + "0x9da6e075989c7419094cc9f6d2e49393bb199688": { + "balance": "0x259bb71d5adf3f00000" }, - "763eece0b08ac89e32bfa4bece769514d8cb5b85": { - "balance": "4000000000000000000000" + "0x763eece0b08ac89e32bfa4bece769514d8cb5b85": { + "balance": "0xd8d726b7177a800000" }, - "5df3277ca85936c7a0d2c0795605ad25095e7159": { - "balance": "2000000000000000000000" + "0x5df3277ca85936c7a0d2c0795605ad25095e7159": { + "balance": "0x6c6b935b8bbd400000" }, - "7163758cbb6c4c525e0414a40a049dcccce919bb": { - "balance": "200000000000000000000" + "0x7163758cbb6c4c525e0414a40a049dcccce919bb": { + "balance": "0xad78ebc5ac6200000" }, - "14cdddbc8b09e6675a9e9e05091cb92238c39e1e": { - "balance": "5100000000000000000000" + "0x14cdddbc8b09e6675a9e9e05091cb92238c39e1e": { + "balance": "0x11478b7c30abc300000" }, - "b3b7f493b44a2c8d80ec78b1cdc75a652b73b06c": { - "balance": "2000000000000000000000" + "0xb3b7f493b44a2c8d80ec78b1cdc75a652b73b06c": { + "balance": "0x6c6b935b8bbd400000" }, - "c69b855539ce1b04714728eec25a37f367951de7": { - "balance": "2000000000000000000000" + "0xc69b855539ce1b04714728eec25a37f367951de7": { + "balance": "0x6c6b935b8bbd400000" }, - "052eab1f61b6d45517283f41d1441824878749d0": { - "balance": "4000000000000000000000" + "0x052eab1f61b6d45517283f41d1441824878749d0": { + "balance": "0xd8d726b7177a800000" }, - "515651d6db4faf9ecd103a921bbbbe6ae970fdd4": { - "balance": "20000000000000000000000" + "0x515651d6db4faf9ecd103a921bbbbe6ae970fdd4": { + "balance": "0x43c33c1937564800000" }, - "c7aff91929797489555a2ff1d14d5c695a108355": { - "balance": "1000000000000000000000" + "0xc7aff91929797489555a2ff1d14d5c695a108355": { + "balance": "0x3635c9adc5dea00000" }, - "d7ca7fdcfebe4588eff5421d1522b61328df7bf3": { - "balance": "4001070000000000000000" + "0xd7ca7fdcfebe4588eff5421d1522b61328df7bf3": { + "balance": "0xd8e6001e6c302b0000" }, - "eefba12dfc996742db790464ca7d273be6e81b3e": { - "balance": "1000000000000000000000" + "0xeefba12dfc996742db790464ca7d273be6e81b3e": { + "balance": "0x3635c9adc5dea00000" }, - "ebaa216de9cc5a43031707d36fe6d5bedc05bdf0": { - "balance": "1969606000000000000000" + "0xebaa216de9cc5a43031707d36fe6d5bedc05bdf0": { + "balance": "0x6ac5c62d9486070000" }, - "559194304f14b1b93afe444f0624e053c23a0009": { - "balance": "400000000000000000000" + "0x559194304f14b1b93afe444f0624e053c23a0009": { + "balance": "0x15af1d78b58c400000" }, - "4ecc19948dd9cd87b4c7201ab48e758f28e7cc76": { - "balance": "500200000000000000000" + "0x4ecc19948dd9cd87b4c7201ab48e758f28e7cc76": { + "balance": "0x1b1dab61d3aa640000" }, - "f224eb900b37b4490eee6a0b6420d85c947d8733": { - "balance": "970000000000000000000" + "0xf224eb900b37b4490eee6a0b6420d85c947d8733": { + "balance": "0x34957444b840e80000" }, - "97810bafc37e84306332aacb35e92ad911d23d24": { - "balance": "1000000000000000000000" + "0x97810bafc37e84306332aacb35e92ad911d23d24": { + "balance": "0x3635c9adc5dea00000" }, - "bd67d2e2f82da8861341bc96a2c0791fddf39e40": { - "balance": "200014000000000000000" + "0xbd67d2e2f82da8861341bc96a2c0791fddf39e40": { + "balance": "0xad7c07947c8fb0000" }, - "1b6495891240e64e594493c2662171db5e30ce13": { - "balance": "172400000000000000000" + "0x1b6495891240e64e594493c2662171db5e30ce13": { + "balance": "0x95887d695ed580000" }, - "00bdd4013aa31c04616c2bc9785f2788f915679b": { - "balance": "13400000000000000000" + "0x00bdd4013aa31c04616c2bc9785f2788f915679b": { + "balance": "0xb9f65d00f63c0000" }, - "c6ae287ddbe1149ba16ddcca4fe06aa2eaa988a9": { - "balance": "400000000000000000000" + "0xc6ae287ddbe1149ba16ddcca4fe06aa2eaa988a9": { + "balance": "0x15af1d78b58c400000" }, - "b7c9f12b038e73436d17e1c12ffe1aeccdb3f58c": { - "balance": "540000000000000000000" + "0xb7c9f12b038e73436d17e1c12ffe1aeccdb3f58c": { + "balance": "0x1d460162f516f00000" }, - "c1b500011cfba95d7cd636e95e6cbf6167464b25": { - "balance": "200000000000000000000" + "0xc1b500011cfba95d7cd636e95e6cbf6167464b25": { + "balance": "0xad78ebc5ac6200000" }, - "39e0db4d60568c800b8c5500026c2594f5768960": { - "balance": "1000000000000000000000" + "0x39e0db4d60568c800b8c5500026c2594f5768960": { + "balance": "0x3635c9adc5dea00000" }, - "40e3c283f7e24de0410c121bee60a5607f3e29a6": { - "balance": "1000000000000000000000" + "0x40e3c283f7e24de0410c121bee60a5607f3e29a6": { + "balance": "0x3635c9adc5dea00000" }, - "2f7d3290851be5c6b4b43f7d4574329f61a792c3": { - "balance": "100000000000000000000" + "0x2f7d3290851be5c6b4b43f7d4574329f61a792c3": { + "balance": "0x56bc75e2d63100000" }, - "c33ece935a8f4ef938ea7e1bac87cb925d8490ca": { - "balance": "33122000000000000000000" + "0xc33ece935a8f4ef938ea7e1bac87cb925d8490ca": { + "balance": "0x7038c16781f78480000" }, - "57bddf078834009c89d88e6282759dc45335b470": { - "balance": "2148000000000000000000" + "0x57bddf078834009c89d88e6282759dc45335b470": { + "balance": "0x74717cfb6883100000" }, - "50ad187ab21167c2b6e78be0153f44504a07945e": { - "balance": "100076000000000000000" + "0x50ad187ab21167c2b6e78be0153f44504a07945e": { + "balance": "0x56cd55fc64dfe0000" }, - "5bd24aac3612b20c609eb46779bf95698407c57c": { - "balance": "1970000000000000000000" + "0x5bd24aac3612b20c609eb46779bf95698407c57c": { + "balance": "0x6acb3df27e1f880000" }, - "16526c9edf943efa4f6d0f0bae81e18b31c54079": { - "balance": "985000000000000000000" + "0x16526c9edf943efa4f6d0f0bae81e18b31c54079": { + "balance": "0x35659ef93f0fc40000" }, - "4c6a9dc2cab10abb2e7c137006f08fecb5b779e1": { - "balance": "499000000000000000000" + "0x4c6a9dc2cab10abb2e7c137006f08fecb5b779e1": { + "balance": "0x1b0d04202f47ec0000" }, - "02c9f7940a7b8b7a410bf83dc9c22333d4275dd3": { - "balance": "5000000000000000000000" + "0x02c9f7940a7b8b7a410bf83dc9c22333d4275dd3": { + "balance": "0x10f0cf064dd59200000" }, - "b9fd3833e88e7cf1fa9879bdf55af4b99cd5ce3f": { - "balance": "1000000000000000000000" + "0xb9fd3833e88e7cf1fa9879bdf55af4b99cd5ce3f": { + "balance": "0x3635c9adc5dea00000" }, - "7e268f131ddf687cc325c412f78ba961205e9112": { - "balance": "16000600000000000000000" + "0x7e268f131ddf687cc325c412f78ba961205e9112": { + "balance": "0x36364ee7d301b3c0000" }, - "180478a655d78d0f3b0c4f202b61485bc4002fd5": { - "balance": "2000000000000000000000" + "0x180478a655d78d0f3b0c4f202b61485bc4002fd5": { + "balance": "0x6c6b935b8bbd400000" }, - "ed4014538cee664a2fbcb6dc669f7ab16d0ba57c": { - "balance": "200000000000000000000" + "0xed4014538cee664a2fbcb6dc669f7ab16d0ba57c": { + "balance": "0xad78ebc5ac6200000" }, - "f63a579bc3eac2a9490410128dbcebe6d9de8243": { - "balance": "1490000000000000000000" + "0xf63a579bc3eac2a9490410128dbcebe6d9de8243": { + "balance": "0x50c5e761a444080000" }, - "5d822d9b3ef4b502627407da272f67814a6becd4": { - "balance": "20000000000000000000" + "0x5d822d9b3ef4b502627407da272f67814a6becd4": { + "balance": "0x1158e460913d00000" }, - "eb52ab10553492329c1c54833ae610f398a65b9d": { - "balance": "152000000000000000000" + "0xeb52ab10553492329c1c54833ae610f398a65b9d": { + "balance": "0x83d6c7aab63600000" }, - "63340a57716bfa63eb6cd133721202575bf796f0": { - "balance": "209967000000000000000" + "0x63340a57716bfa63eb6cd133721202575bf796f0": { + "balance": "0xb61e0a20c12718000" }, - "933bf33f8299702b3a902642c33e0bfaea5c1ca3": { - "balance": "15200000000000000000" + "0x933bf33f8299702b3a902642c33e0bfaea5c1ca3": { + "balance": "0xd2f13f7789f00000" }, - "25bc49ef288cd165e525c661a812cf84fbec8f33": { - "balance": "338464000000000000000" + "0x25bc49ef288cd165e525c661a812cf84fbec8f33": { + "balance": "0x125921aebda9d00000" }, - "c8231ba5a411a13e222b29bfc1083f763158f226": { - "balance": "1000090000000000000000" + "0xc8231ba5a411a13e222b29bfc1083f763158f226": { + "balance": "0x3637096c4bcc690000" }, - "6c15ec3520bf8ebbc820bd0ff19778375494cf9d": { - "balance": "2005500000000000000000" + "0x6c15ec3520bf8ebbc820bd0ff19778375494cf9d": { + "balance": "0x6cb7e74867d5e60000" }, - "aaced8a9563b1bc311dbdffc1ae7f57519c4440c": { - "balance": "2000000000000000000000" + "0xaaced8a9563b1bc311dbdffc1ae7f57519c4440c": { + "balance": "0x6c6b935b8bbd400000" }, - "d90f3009db437e4e11c780bec8896f738d65ef0d": { - "balance": "4000000000000000000000" + "0xd90f3009db437e4e11c780bec8896f738d65ef0d": { + "balance": "0xd8d726b7177a800000" }, - "5603241eb8f08f721e348c9d9ad92f48e390aa24": { - "balance": "200000000000000000000" + "0x5603241eb8f08f721e348c9d9ad92f48e390aa24": { + "balance": "0xad78ebc5ac6200000" }, - "53cec6c88092f756efe56f7db11228a2db45b122": { - "balance": "4000000000000000000000" + "0x53cec6c88092f756efe56f7db11228a2db45b122": { + "balance": "0xd8d726b7177a800000" }, - "194cebb4929882bf3b4bf9864c2b1b0f62c283f9": { - "balance": "571300000000000000000" + "0x194cebb4929882bf3b4bf9864c2b1b0f62c283f9": { + "balance": "0x1ef861531f74aa0000" }, - "4be8628a8154874e048d80c142181022b180bcc1": { - "balance": "60000000000000000000" + "0x4be8628a8154874e048d80c142181022b180bcc1": { + "balance": "0x340aad21b3b700000" }, - "5fd973af366aa5157c54659bcfb27cbfa5ac15d6": { - "balance": "4000000000000000000000" + "0x5fd973af366aa5157c54659bcfb27cbfa5ac15d6": { + "balance": "0xd8d726b7177a800000" }, - "303139bc596403d5d3931f774c66c4ba467454db": { - "balance": "1699830000000000000000" + "0x303139bc596403d5d3931f774c66c4ba467454db": { + "balance": "0x5c25e14aea283f0000" }, - "87584a3f613bd4fac74c1e780b86d6caeb890cb2": { - "balance": "1700000000000000000000" + "0x87584a3f613bd4fac74c1e780b86d6caeb890cb2": { + "balance": "0x5c283d410394100000" }, - "77f4e3bdf056883cc87280dbe640a18a0d02a207": { - "balance": "193806000000000000000" + "0x77f4e3bdf056883cc87280dbe640a18a0d02a207": { + "balance": "0xa81993a2bfb5b0000" }, - "4de3fe34a6fbf634c051997f47cc7f48791f5824": { - "balance": "1999000000000000000000" + "0x4de3fe34a6fbf634c051997f47cc7f48791f5824": { + "balance": "0x6c5db2a4d815dc0000" }, - "c45a1ca1036b95004187cdac44a36e33a94ab5c3": { - "balance": "254800000000000000000" + "0xc45a1ca1036b95004187cdac44a36e33a94ab5c3": { + "balance": "0xdd00f720301880000" }, - "65d33eb39cda6453b19e61c1fe4db93170ef9d34": { - "balance": "13370000000000000000" + "0x65d33eb39cda6453b19e61c1fe4db93170ef9d34": { + "balance": "0xb98bc829a6f90000" }, - "f65616be9c8b797e7415227c9138faa0891742d7": { - "balance": "790000000000000000000" + "0xf65616be9c8b797e7415227c9138faa0891742d7": { + "balance": "0x2ad373ce668e980000" }, - "e17812f66c5e65941e186c46922b6e7b2f0eeb46": { - "balance": "1820000000000000000000" + "0xe17812f66c5e65941e186c46922b6e7b2f0eeb46": { + "balance": "0x62a992e53a0af00000" }, - "d47f50df89a1cff96513bef1b2ae3a2971accf2c": { - "balance": "840000000000000000000" + "0xd47f50df89a1cff96513bef1b2ae3a2971accf2c": { + "balance": "0x2d89577d7d40200000" }, - "8ed1528b447ed4297902f639c514d0944a88f8c8": { - "balance": "198800000000000000000" + "0x8ed1528b447ed4297902f639c514d0944a88f8c8": { + "balance": "0xac6e77ab663a80000" }, - "a4fb14409a67b45688a8593e5cc2cf596ced6f11": { - "balance": "1790000000000000000000" + "0xa4fb14409a67b45688a8593e5cc2cf596ced6f11": { + "balance": "0x61093d7c2c6d380000" }, - "855d9aef2c39c6230d09c99ef6494989abe68785": { - "balance": "161000000000000000000" + "0x855d9aef2c39c6230d09c99ef6494989abe68785": { + "balance": "0x8ba52e6fc45e40000" }, - "778c43d11afe3b586ff374192d96a7f23d2b9b7f": { - "balance": "2577139000000000000000" + "0x778c43d11afe3b586ff374192d96a7f23d2b9b7f": { + "balance": "0x8bb4fcfa3b7d6b8000" }, - "e3ece1f632711d13bfffa1f8f6840871ee58fb27": { - "balance": "4000000000000000000000" + "0xe3ece1f632711d13bfffa1f8f6840871ee58fb27": { + "balance": "0xd8d726b7177a800000" }, - "beb3358c50cf9f75ffc76d443c2c7f55075a0589": { - "balance": "2674000000000000000000" + "0xbeb3358c50cf9f75ffc76d443c2c7f55075a0589": { + "balance": "0x90f534608a72880000" }, - "f156dc0b2a981e5b55d3f2f03b8134e331dbadb7": { - "balance": "100000000000000000000" + "0xf156dc0b2a981e5b55d3f2f03b8134e331dbadb7": { + "balance": "0x56bc75e2d63100000" }, - "eb9cc9fe0869d2dab52cc7aae8fd57adb35f9feb": { - "balance": "1966000000000000000000" + "0xeb9cc9fe0869d2dab52cc7aae8fd57adb35f9feb": { + "balance": "0x6a93bb17af81f80000" }, - "2467c6a5c696ede9a1e542bf1ad06bcc4b06aca0": { - "balance": "18500000000000000000" + "0x2467c6a5c696ede9a1e542bf1ad06bcc4b06aca0": { + "balance": "0x100bd33fb98ba0000" }, - "ec75b4a47513120ba5f86039814f1998e3817ac3": { - "balance": "178756000000000000000" + "0xec75b4a47513120ba5f86039814f1998e3817ac3": { + "balance": "0x9b0bce2e8fdba0000" }, - "9c3d0692ceeef80aa4965ceed262ffc7f069f2dc": { - "balance": "200000000000000000000" + "0x9c3d0692ceeef80aa4965ceed262ffc7f069f2dc": { + "balance": "0xad78ebc5ac6200000" }, - "e05029aceb0778675bef1741ab2cd2931ef7c84b": { - "balance": "5000057000000000000000" + "0xe05029aceb0778675bef1741ab2cd2931ef7c84b": { + "balance": "0x10f0dbae61009528000" }, - "41d3b731a326e76858baa5f4bd89b57b36932343": { - "balance": "394000000000000000000" + "0x41d3b731a326e76858baa5f4bd89b57b36932343": { + "balance": "0x155bd9307f9fe80000" }, - "c346cb1fbce2ab285d8e5401f42dd7234d37e86d": { - "balance": "83500000000000000000" + "0xc346cb1fbce2ab285d8e5401f42dd7234d37e86d": { + "balance": "0x486cb9799191e0000" }, - "45f4fc60f08eaca10598f0336329801e3c92cb46": { - "balance": "200000000000000000000" + "0x45f4fc60f08eaca10598f0336329801e3c92cb46": { + "balance": "0xad78ebc5ac6200000" }, - "f04a6a379708b9428d722aa2b06b77e88935cf89": { - "balance": "300000000000000000000" + "0xf04a6a379708b9428d722aa2b06b77e88935cf89": { + "balance": "0x1043561a8829300000" }, - "232832cd5977e00a4c30d0163f2e24f088a6cb09": { - "balance": "3000000000000000000000" + "0x232832cd5977e00a4c30d0163f2e24f088a6cb09": { + "balance": "0xa2a15d09519be00000" }, - "d2ac0d3a58605e1d0f0eb3de25b2cad129ed6058": { - "balance": "4000000000000000000000" + "0xd2ac0d3a58605e1d0f0eb3de25b2cad129ed6058": { + "balance": "0xd8d726b7177a800000" }, - "a356551bb77d4f45a6d7e09f0a089e79cca249cb": { - "balance": "340000000000000000000" + "0xa356551bb77d4f45a6d7e09f0a089e79cca249cb": { + "balance": "0x126e72a69a50d00000" }, - "b50c9f5789ae44e2dce017c714caf00c830084c2": { - "balance": "394000000000000000000" + "0xb50c9f5789ae44e2dce017c714caf00c830084c2": { + "balance": "0x155bd9307f9fe80000" }, - "21fd6c5d97f9c600b76821ddd4e776350fce2be0": { - "balance": "1999946000000000000000" + "0x21fd6c5d97f9c600b76821ddd4e776350fce2be0": { + "balance": "0x6c6ad382d4fb610000" }, - "f0d5c31ccb6cbe30c7c9ea19f268d159851f8c9c": { - "balance": "16700000000000000000000" + "0xf0d5c31ccb6cbe30c7c9ea19f268d159851f8c9c": { + "balance": "0x3894f0e6f9b9f700000" }, - "ab7091932e4bc39dbb552380ca934fd7166d1e6e": { - "balance": "3340000000000000000000" + "0xab7091932e4bc39dbb552380ca934fd7166d1e6e": { + "balance": "0xb50fcfafebecb00000" }, - "acd8dd91f714764c45677c63d852e56eb9eece2e": { - "balance": "2000000000000000000000" + "0xacd8dd91f714764c45677c63d852e56eb9eece2e": { + "balance": "0x6c6b935b8bbd400000" }, - "57d032a43d164e71aa2ef3ffd8491b0a4ef1ea5b": { - "balance": "2000000000000000000000" + "0x57d032a43d164e71aa2ef3ffd8491b0a4ef1ea5b": { + "balance": "0x6c6b935b8bbd400000" }, - "5af46a25ac09cb73616b53b14fb42ff0a51cddb2": { - "balance": "4000000000000000000000" + "0x5af46a25ac09cb73616b53b14fb42ff0a51cddb2": { + "balance": "0xd8d726b7177a800000" }, - "1ea6bf2f15ae9c1dbc64daa7f8ea4d0d81aad3eb": { - "balance": "4200000000000000000000" + "0x1ea6bf2f15ae9c1dbc64daa7f8ea4d0d81aad3eb": { + "balance": "0xe3aeb5737240a00000" }, - "03337012ae1d7ff3ee7f697c403e7780188bf0ef": { - "balance": "200000000000000000000" + "0x03337012ae1d7ff3ee7f697c403e7780188bf0ef": { + "balance": "0xad78ebc5ac6200000" }, - "32eb64be1b5dede408c6bdefbe6e405c16b7ed02": { - "balance": "1970000000000000000000" + "0x32eb64be1b5dede408c6bdefbe6e405c16b7ed02": { + "balance": "0x6acb3df27e1f880000" }, - "22e2488e2da26a49ae84c01bd54b21f2947891c6": { - "balance": "1730000000000000000000" + "0x22e2488e2da26a49ae84c01bd54b21f2947891c6": { + "balance": "0x5dc892aa1131c80000" }, - "be98a77fd41097b34f59d7589baad021659ff712": { - "balance": "900000000000000000000" + "0xbe98a77fd41097b34f59d7589baad021659ff712": { + "balance": "0x30ca024f987b900000" }, - "dda4ed2a58a8dd20a73275347b580d71b95bf99a": { - "balance": "399000000000000000000" + "0xdda4ed2a58a8dd20a73275347b580d71b95bf99a": { + "balance": "0x15a13cc201e4dc0000" }, - "671110d96aaff11523cc546bf9940eedffb2faf7": { - "balance": "4000000000000000000000" + "0x671110d96aaff11523cc546bf9940eedffb2faf7": { + "balance": "0xd8d726b7177a800000" }, - "5d71799c8df3bccb7ee446df50b8312bc4eb71c5": { - "balance": "200000000000000000000" + "0x5d71799c8df3bccb7ee446df50b8312bc4eb71c5": { + "balance": "0xad78ebc5ac6200000" }, - "ae179a460db66326743d24e67523a57b246daf7f": { - "balance": "4722920000000000000000" + "0xae179a460db66326743d24e67523a57b246daf7f": { + "balance": "0x10007ae7ce5bbe40000" }, - "198bfcf1b07ae308fa2c02069ac9dafe7135fb47": { - "balance": "20000000000000000000" + "0x198bfcf1b07ae308fa2c02069ac9dafe7135fb47": { + "balance": "0x1158e460913d00000" }, - "4662a1765ee921842ddc88898d1dc8627597bd7e": { - "balance": "10000000000000000000000" + "0x4662a1765ee921842ddc88898d1dc8627597bd7e": { + "balance": "0x21e19e0c9bab2400000" }, - "783eec8aa5dac77b2e6623ed5198a431abbaee07": { - "balance": "440000000000000000000" + "0x783eec8aa5dac77b2e6623ed5198a431abbaee07": { + "balance": "0x17da3a04c7b3e00000" }, - "ed6643c0e8884b2d3211853785a08bf8f33ed29f": { - "balance": "1337000000000000000000" + "0xed6643c0e8884b2d3211853785a08bf8f33ed29f": { + "balance": "0x487a9a304539440000" }, - "5cc7d3066d45d27621f78bb4b339473e442a860f": { - "balance": "9999908000000000000000" + "0x5cc7d3066d45d27621f78bb4b339473e442a860f": { + "balance": "0x21e1899f0377aea0000" }, - "94ef8be45077c7d4c5652740de946a62624f713f": { - "balance": "100085000000000000000" + "0x94ef8be45077c7d4c5652740de946a62624f713f": { + "balance": "0x56cf5593a18f88000" }, - "2f853817afd3b8f3b86e9f60ee77b5d97773c0e3": { - "balance": "1451450000000000000000" + "0x2f853817afd3b8f3b86e9f60ee77b5d97773c0e3": { + "balance": "0x4eaeea44e368b90000" }, - "3e0b8ed86ed669e12723af7572fbacfe829b1e16": { - "balance": "1499800000000000000000" + "0x3e0b8ed86ed669e12723af7572fbacfe829b1e16": { + "balance": "0x514de7f9b812dc0000" }, - "fa68e0cb3edf51f0a6f211c9b2cb5e073c9bffe6": { - "balance": "291200000000000000000" + "0xfa68e0cb3edf51f0a6f211c9b2cb5e073c9bffe6": { + "balance": "0xfc936392801c00000" }, - "2c234f505ca8dcc77d9b7e01d257c318cc19396d": { - "balance": "100000000000000000000" + "0x2c234f505ca8dcc77d9b7e01d257c318cc19396d": { + "balance": "0x56bc75e2d63100000" }, - "f3f24fc29e20403fc0e8f5ebbb553426f78270a2": { - "balance": "100000000000000000000" + "0xf3f24fc29e20403fc0e8f5ebbb553426f78270a2": { + "balance": "0x56bc75e2d63100000" }, - "91546b79ecf69f936b5a561508b0d7e50cc5992f": { - "balance": "267400000000000000000" + "0x91546b79ecf69f936b5a561508b0d7e50cc5992f": { + "balance": "0xe7eeba3410b740000" }, - "435443b81dfdb9bd8c6787bc2518e2d47e57c15f": { - "balance": "5968500000000000000000" + "0x435443b81dfdb9bd8c6787bc2518e2d47e57c15f": { + "balance": "0x1438d9397881ef20000" }, - "3a06e3bb1edcfd0c44c3074de0bb606b049894a2": { - "balance": "10000000000000000000000" + "0x3a06e3bb1edcfd0c44c3074de0bb606b049894a2": { + "balance": "0x21e19e0c9bab2400000" }, - "3a3108c1e680a33b336c21131334409d97e5adec": { - "balance": "20000000000000000000" + "0x3a3108c1e680a33b336c21131334409d97e5adec": { + "balance": "0x1158e460913d00000" }, - "2caf6bf4ec7d5a19c5e0897a5eeb011dcece4210": { - "balance": "139740000000000000000" + "0x2caf6bf4ec7d5a19c5e0897a5eeb011dcece4210": { + "balance": "0x7934835a031160000" }, - "f44f8551ace933720712c5c491cdb6f2f951736c": { - "balance": "4000000000000000000000" + "0xf44f8551ace933720712c5c491cdb6f2f951736c": { + "balance": "0xd8d726b7177a800000" }, - "5bc1f95507b1018642e45cd9c0e22733b9b1a326": { - "balance": "100000000000000000000" + "0x5bc1f95507b1018642e45cd9c0e22733b9b1a326": { + "balance": "0x56bc75e2d63100000" }, - "94ca56de777fd453177f5e0694c478e66aff8a84": { - "balance": "500000000000000000000" + "0x94ca56de777fd453177f5e0694c478e66aff8a84": { + "balance": "0x1b1ae4d6e2ef500000" }, - "afdd1b786162b8317e20f0e979f4b2ce486d765d": { - "balance": "20000000000000000000" + "0xafdd1b786162b8317e20f0e979f4b2ce486d765d": { + "balance": "0x1158e460913d00000" }, - "3a805fa0f7387f73055b7858ca8519edd93d634f": { - "balance": "1850000000000000000000" + "0x3a805fa0f7387f73055b7858ca8519edd93d634f": { + "balance": "0x6449e84e47a8a80000" }, - "8b36224c7356e751f0c066c35e3b44860364bfc2": { - "balance": "998987000000000000000" + "0x8b36224c7356e751f0c066c35e3b44860364bfc2": { + "balance": "0x3627bac7a3d9278000" }, - "cfecbea07c27002f65fe534bb8842d0925c78402": { - "balance": "4000000000000000000000" + "0xcfecbea07c27002f65fe534bb8842d0925c78402": { + "balance": "0xd8d726b7177a800000" }, - "482982ac1f1c6d1721feecd9b9c96cd949805055": { - "balance": "10000000000000000000000" + "0x482982ac1f1c6d1721feecd9b9c96cd949805055": { + "balance": "0x21e19e0c9bab2400000" }, - "af880fc7567d5595cacce15c3fc14c8742c26c9e": { - "balance": "133700000000000000000" + "0xaf880fc7567d5595cacce15c3fc14c8742c26c9e": { + "balance": "0x73f75d1a085ba0000" }, - "acc1c78786ab4d2b3b277135b5ba123e0400486b": { - "balance": "78800000000000000000" + "0xacc1c78786ab4d2b3b277135b5ba123e0400486b": { + "balance": "0x44591d67fecc80000" }, - "41f27e744bd29de2b0598f02a0bb9f98e681eaa4": { - "balance": "7760000000000000000000" + "0x41f27e744bd29de2b0598f02a0bb9f98e681eaa4": { + "balance": "0x1a4aba225c207400000" }, - "09a025316f967fa8b9a1d60700063f5a68001caa": { - "balance": "38200000000000000000" + "0x09a025316f967fa8b9a1d60700063f5a68001caa": { + "balance": "0x21221a99b93ec0000" }, - "391f20176d12360d724d51470a90703675594a4d": { - "balance": "1600000000000000000000" + "0x391f20176d12360d724d51470a90703675594a4d": { + "balance": "0x56bc75e2d631000000" }, - "fe4d8403216fd571572bf1bdb01d00578978d688": { - "balance": "9850000000000000000000" + "0xfe4d8403216fd571572bf1bdb01d00578978d688": { + "balance": "0x215f835bc769da80000" }, - "900f0b8e35b668f81ef252b13855aa5007d012e7": { - "balance": "425000000000000000000" + "0x900f0b8e35b668f81ef252b13855aa5007d012e7": { + "balance": "0x170a0f5040e5040000" }, - "c35b95a2a3737cb8f0f596b34524872bd30da234": { - "balance": "7540000000000000000000" + "0xc35b95a2a3737cb8f0f596b34524872bd30da234": { + "balance": "0x198be85235e2d500000" }, - "412a68f6c645559cc977fc4964047a201d1bb0e2": { - "balance": "50000000000000000000000" + "0x412a68f6c645559cc977fc4964047a201d1bb0e2": { + "balance": "0xa968163f0a57b400000" }, - "d3dad1b6d08d4581ccae65a8732db6ac69f0c69e": { - "balance": "6000000000000000000000" + "0xd3dad1b6d08d4581ccae65a8732db6ac69f0c69e": { + "balance": "0x14542ba12a337c00000" }, - "35855ec641ab9e081ed0c2a6dcd81354d0244a87": { - "balance": "1201897000000000000000" + "0x35855ec641ab9e081ed0c2a6dcd81354d0244a87": { + "balance": "0x4127abe993a7aa8000" }, - "88015d7203c5e0224aeda286ed12f1a51b789333": { - "balance": "4999711000000000000000" + "0x88015d7203c5e0224aeda286ed12f1a51b789333": { + "balance": "0x10f08eda8e555098000" }, - "251c12722c6879227992a304eb3576cd18434ea5": { - "balance": "2000000000000000000000" + "0x251c12722c6879227992a304eb3576cd18434ea5": { + "balance": "0x6c6b935b8bbd400000" }, - "1f6f0030349752061c96072bc3d6eb3549208d6b": { - "balance": "23891000000000000000" + "0x1f6f0030349752061c96072bc3d6eb3549208d6b": { + "balance": "0x14b8de1eb88db8000" }, - "86153063a1ae7f02f1a88136d4d69c7c5e3e4327": { - "balance": "1000000000000000000000" + "0x86153063a1ae7f02f1a88136d4d69c7c5e3e4327": { + "balance": "0x3635c9adc5dea00000" }, - "78355df0a230f83d032c703154414de3eedab557": { - "balance": "2000000000000000000000" + "0x78355df0a230f83d032c703154414de3eedab557": { + "balance": "0x6c6b935b8bbd400000" }, - "c5b56cd234267c28e89c6f6b2266b086a12f970c": { - "balance": "4000000000000000000000" + "0xc5b56cd234267c28e89c6f6b2266b086a12f970c": { + "balance": "0xd8d726b7177a800000" }, - "3e3cd3bec06591d6346f254b621eb41c89008d31": { - "balance": "993800000000000000000" + "0x3e3cd3bec06591d6346f254b621eb41c89008d31": { + "balance": "0x35dfbeda9f37340000" }, - "378ea1dc8edc19bae82638029ea8752ce98bcfcd": { - "balance": "2000000000000000000000" + "0x378ea1dc8edc19bae82638029ea8752ce98bcfcd": { + "balance": "0x6c6b935b8bbd400000" }, - "67632046dcb25a54936928a96f423f3320cbed92": { - "balance": "2000000000000000000000" + "0x67632046dcb25a54936928a96f423f3320cbed92": { + "balance": "0x6c6b935b8bbd400000" }, - "ddbee6f094eae63420b003fb4757142aea6cd0fd": { - "balance": "2000000000000000000000" + "0xddbee6f094eae63420b003fb4757142aea6cd0fd": { + "balance": "0x6c6b935b8bbd400000" }, - "b555d00f9190cc3677aef314acd73fdc39399259": { - "balance": "2000000000000000000000" + "0xb555d00f9190cc3677aef314acd73fdc39399259": { + "balance": "0x6c6b935b8bbd400000" }, - "e230fe1bff03186d0219f15d4c481b7d59be286a": { - "balance": "36710000000000000000" + "0xe230fe1bff03186d0219f15d4c481b7d59be286a": { + "balance": "0x1fd741e8088970000" }, - "3e4e9265223c9738324cf20bd06006d0073edb8c": { - "balance": "133700000000000000000" + "0x3e4e9265223c9738324cf20bd06006d0073edb8c": { + "balance": "0x73f75d1a085ba0000" }, - "7450ff7f99eaa9116275deac68e428df5bbcd8b9": { - "balance": "2000000000000000000000" + "0x7450ff7f99eaa9116275deac68e428df5bbcd8b9": { + "balance": "0x6c6b935b8bbd400000" }, - "021f69043de88c4917ca10f1842897eec0589c7c": { - "balance": "1978760000000000000000" + "0x021f69043de88c4917ca10f1842897eec0589c7c": { + "balance": "0x6b44cfb81487f40000" }, - "351787843505f8e4eff46566cce6a59f4d1c5fe7": { - "balance": "9250000000000000000000" + "0x351787843505f8e4eff46566cce6a59f4d1c5fe7": { + "balance": "0x1f5718987664b480000" }, - "ebd37b256563e30c6f9289a8e2702f0852880833": { - "balance": "1999944000000000000000" + "0xebd37b256563e30c6f9289a8e2702f0852880833": { + "balance": "0x6c6acc67d7b1d40000" }, - "ed41e1a28f5caa843880ef4e8b08bd6c33141edf": { - "balance": "790174000000000000000" + "0xed41e1a28f5caa843880ef4e8b08bd6c33141edf": { + "balance": "0x2ad5ddfa7a8d830000" }, - "8d238e036596987643d73173c37b0ad06055b96c": { - "balance": "2089724000000000000000" + "0x8d238e036596987643d73173c37b0ad06055b96c": { + "balance": "0x7148bf0a2af0660000" }, - "478e524ef2a381d70c82588a93ca7a5fa9d51cbf": { - "balance": "254908000000000000000000" + "0x478e524ef2a381d70c82588a93ca7a5fa9d51cbf": { + "balance": "0x35fa97226f8899700000" }, - "4419ac618d5dea7cdc6077206fb07dbdd71c1702": { - "balance": "4000000000000000000000" + "0x4419ac618d5dea7cdc6077206fb07dbdd71c1702": { + "balance": "0xd8d726b7177a800000" }, - "ca25ff34934c1942e22a4e7bd56f14021a1af088": { - "balance": "197000000000000000000" + "0xca25ff34934c1942e22a4e7bd56f14021a1af088": { + "balance": "0xaadec983fcff40000" }, - "5552f4b3ed3e1da79a2f78bb13e8ae5a68a9df3b": { - "balance": "1000000000000000000000" + "0x5552f4b3ed3e1da79a2f78bb13e8ae5a68a9df3b": { + "balance": "0x3635c9adc5dea00000" }, - "4354221e62dc09e6406436163a185ef06d114a81": { - "balance": "2000000000000000000000" + "0x4354221e62dc09e6406436163a185ef06d114a81": { + "balance": "0x6c6b935b8bbd400000" }, - "ca0432cb157b5179f02ebba5c9d1b54fec4d88ca": { - "balance": "1000000000000000000000" + "0xca0432cb157b5179f02ebba5c9d1b54fec4d88ca": { + "balance": "0x3635c9adc5dea00000" }, - "8a780ab87a9145fe10ed60fa476a740af4cab1d2": { - "balance": "334000000000000000000" + "0x8a780ab87a9145fe10ed60fa476a740af4cab1d2": { + "balance": "0x121b2e5e6464780000" }, - "4ff676e27f681a982d8fd9d20e648b3dce05e945": { - "balance": "2800000000000000000000" + "0x4ff676e27f681a982d8fd9d20e648b3dce05e945": { + "balance": "0x97c9ce4cf6d5c00000" }, - "6c63fc85029a2654d79b2bea4de349e4524577c5": { - "balance": "660000000000000000000" + "0x6c63fc85029a2654d79b2bea4de349e4524577c5": { + "balance": "0x23c757072b8dd00000" }, - "1ac089c3bc4d82f06a20051a9d732dc0e734cb61": { - "balance": "700300000000000000000" + "0x1ac089c3bc4d82f06a20051a9d732dc0e734cb61": { + "balance": "0x25f69d63a6ce0e0000" }, - "4bf4479799ef82eea20943374f56a1bf54001e5e": { - "balance": "3940000000000000000000" + "0x4bf4479799ef82eea20943374f56a1bf54001e5e": { + "balance": "0xd5967be4fc3f100000" }, - "08411652c871713609af0062a8a1281bf1bbcfd9": { - "balance": "1400000000000000000000" + "0x08411652c871713609af0062a8a1281bf1bbcfd9": { + "balance": "0x4be4e7267b6ae00000" }, - "e1bfaa5a45c504428923c4a61192a55b1400b45d": { - "balance": "2674000000000000000000" + "0xe1bfaa5a45c504428923c4a61192a55b1400b45d": { + "balance": "0x90f534608a72880000" }, - "5e1fbd4e58e2312b3c78d7aaaafa10bf9c3189e3": { - "balance": "40000000000000000000000" + "0x5e1fbd4e58e2312b3c78d7aaaafa10bf9c3189e3": { + "balance": "0x878678326eac9000000" }, - "bb27c6a7f91075475ab229619040f804c8ec7a6a": { - "balance": "10000000000000000000000" + "0xbb27c6a7f91075475ab229619040f804c8ec7a6a": { + "balance": "0x21e19e0c9bab2400000" }, - "5d8d31faa864e22159cd6f5175ccecc53fa54d72": { - "balance": "26980000000000000000000" + "0x5d8d31faa864e22159cd6f5175ccecc53fa54d72": { + "balance": "0x5b696b70dd567100000" }, - "2dd8eeef87194abc2ce7585da1e35b7cea780cb7": { - "balance": "999999000000000000000" + "0x2dd8eeef87194abc2ce7585da1e35b7cea780cb7": { + "balance": "0x3635c6204739d98000" }, - "0e1801e70b6262861b1134ccbc391f568afc92f7": { - "balance": "4000000000000000000000" + "0x0e1801e70b6262861b1134ccbc391f568afc92f7": { + "balance": "0xd8d726b7177a800000" }, - "61042b80fd6095d1b87be2f00f109fabafd157a6": { - "balance": "100000000000000000000" + "0x61042b80fd6095d1b87be2f00f109fabafd157a6": { + "balance": "0x56bc75e2d63100000" }, - "fb5518714cefc36d04865de5915ef0ff47dfe743": { - "balance": "2000000000000000000000" + "0xfb5518714cefc36d04865de5915ef0ff47dfe743": { + "balance": "0x6c6b935b8bbd400000" }, - "b5add1e7809f7d03069bfe883b0a932210be8712": { - "balance": "1000000000000000000000" + "0xb5add1e7809f7d03069bfe883b0a932210be8712": { + "balance": "0x3635c9adc5dea00000" }, - "c2e2d498f70dcd0859e50b023a710a6d4b2133bd": { - "balance": "1037130000000000000000" + "0xc2e2d498f70dcd0859e50b023a710a6d4b2133bd": { + "balance": "0x383911f00cbce10000" }, - "4ad047fae67ef162fe68fedbc27d3b65caf10c36": { - "balance": "1970000000000000000000" + "0x4ad047fae67ef162fe68fedbc27d3b65caf10c36": { + "balance": "0x6acb3df27e1f880000" }, - "69cb3e2153998d86e5ee20c1fcd1a6baeeb2863f": { - "balance": "4000000000000000000000" + "0x69cb3e2153998d86e5ee20c1fcd1a6baeeb2863f": { + "balance": "0xd8d726b7177a800000" }, - "683633010a88686bea5a98ea53e87997cbf73e69": { - "balance": "99960000000000000000" + "0x683633010a88686bea5a98ea53e87997cbf73e69": { + "balance": "0x56b394263a40c0000" }, - "6cb11ecb32d3ce829601310636f5a10cf7cf9b5f": { - "balance": "20068370000000000000000" + "0x6cb11ecb32d3ce829601310636f5a10cf7cf9b5f": { + "balance": "0x43fe8949c3801f50000" }, - "a613456996408af1c2e93e177788ab55895e2b32": { - "balance": "6366000000000000000000" + "0xa613456996408af1c2e93e177788ab55895e2b32": { + "balance": "0x15919ff477c88b80000" }, - "8308ed0af7f8a3c1751fafc877b5a42af7d35882": { - "balance": "1000000000000000000000" + "0x8308ed0af7f8a3c1751fafc877b5a42af7d35882": { + "balance": "0x3635c9adc5dea00000" }, - "e5edf8123f2403ce1a0299becf7aac744d075f23": { - "balance": "200200000000000000000" + "0xe5edf8123f2403ce1a0299becf7aac744d075f23": { + "balance": "0xada55474b81340000" }, - "05665155cc49cbf6aabdd5ae92cbfaad82b8c0c1": { - "balance": "400000000000000000000" + "0x05665155cc49cbf6aabdd5ae92cbfaad82b8c0c1": { + "balance": "0x15af1d78b58c400000" }, - "00b277b099a8e866ca0ec65bcb87284fd142a582": { - "balance": "1970000000000000000000" + "0x00b277b099a8e866ca0ec65bcb87284fd142a582": { + "balance": "0x6acb3df27e1f880000" }, - "4b9e068fc4680976e61504912985fd5ce94bab0d": { - "balance": "668500000000000000000" + "0x4b9e068fc4680976e61504912985fd5ce94bab0d": { + "balance": "0x243d4d18229ca20000" }, - "12134e7f6b017bf48e855a399ca58e2e892fa5c8": { - "balance": "1000000000000000000000" + "0x12134e7f6b017bf48e855a399ca58e2e892fa5c8": { + "balance": "0x3635c9adc5dea00000" }, - "dffcea5421ec15900c6ecfc777184e140e209e24": { - "balance": "19980000000000000000" + "0xdffcea5421ec15900c6ecfc777184e140e209e24": { + "balance": "0x115473824344e0000" }, - "2132c0516a2e17174ac547c43b7b0020d1eb4c59": { - "balance": "985000000000000000000" + "0x2132c0516a2e17174ac547c43b7b0020d1eb4c59": { + "balance": "0x35659ef93f0fc40000" }, - "d39a5da460392b940b3c69bc03757bf3f2e82489": { - "balance": "7019250000000000000000" + "0xd39a5da460392b940b3c69bc03757bf3f2e82489": { + "balance": "0x17c83a97d6b6ca50000" }, - "66c8331efe7198e98b2d32b938688e3241d0e24f": { - "balance": "9620000000000000000000" + "0x66c8331efe7198e98b2d32b938688e3241d0e24f": { + "balance": "0x2098051970e39d00000" }, - "bdca2a0ff34588af625fa8e28fc3015ab5a3aa00": { - "balance": "2339800000000000000000" + "0xbdca2a0ff34588af625fa8e28fc3015ab5a3aa00": { + "balance": "0x7ed73f773552fc0000" }, - "7dfc342dffcf45dfee74f84c0995397bd1a63172": { - "balance": "250000000000000000000" + "0x7dfc342dffcf45dfee74f84c0995397bd1a63172": { + "balance": "0xd8d726b7177a80000" }, - "a202547242806f6e70e74058d6e5292defc8c8d4": { - "balance": "2002000000000000000000" + "0xa202547242806f6e70e74058d6e5292defc8c8d4": { + "balance": "0x6c8754c8f30c080000" }, - "3bbc13d04accc0707aebdcaef087d0b87e0b5ee3": { - "balance": "3520000000000000000000" + "0x3bbc13d04accc0707aebdcaef087d0b87e0b5ee3": { + "balance": "0xbed1d0263d9f000000" }, - "be5cba8d37427986e8ca2600e858bb03c359520f": { - "balance": "2955000000000000000000" + "0xbe5cba8d37427986e8ca2600e858bb03c359520f": { + "balance": "0xa030dcebbd2f4c0000" }, - "4174fa1bc12a3b7183cbabb77a0b59557ba5f1db": { - "balance": "2000000000000000000000" + "0x4174fa1bc12a3b7183cbabb77a0b59557ba5f1db": { + "balance": "0x6c6b935b8bbd400000" }, - "9eb3a7cb5e6726427a3a361cfa8d6164dbd0ba16": { - "balance": "804000000000000000000" + "0x9eb3a7cb5e6726427a3a361cfa8d6164dbd0ba16": { + "balance": "0x2b95bdcc39b6100000" }, - "25e661c939863acc044e6f17b5698cce379ec3cc": { - "balance": "1370000000000000000000" + "0x25e661c939863acc044e6f17b5698cce379ec3cc": { + "balance": "0x4a4491bd6dcd280000" }, - "24bd5904059091d2f9e12d6a26a010ca22ab14e8": { - "balance": "1880000000000000000000" + "0x24bd5904059091d2f9e12d6a26a010ca22ab14e8": { + "balance": "0x65ea3db75546600000" }, - "c96626728aaa4c4fb3d31c26df3af310081710d1": { - "balance": "3340000000000000000000" + "0xc96626728aaa4c4fb3d31c26df3af310081710d1": { + "balance": "0xb50fcfafebecb00000" }, - "0fb5d2c673bfb1ddca141b9894fd6d3f05da6720": { - "balance": "100000000000000000000" + "0x0fb5d2c673bfb1ddca141b9894fd6d3f05da6720": { + "balance": "0x56bc75e2d63100000" }, - "2de31afd189a13a76ff6fe73ead9f74bb5c4a629": { - "balance": "6000000000000000000000" + "0x2de31afd189a13a76ff6fe73ead9f74bb5c4a629": { + "balance": "0x14542ba12a337c00000" }, - "bd09126c891c4a83068059fe0e15796c4661a9f4": { - "balance": "800000000000000000000" + "0xbd09126c891c4a83068059fe0e15796c4661a9f4": { + "balance": "0x2b5e3af16b18800000" }, - "496f5843f6d24cd98d255e4c23d1e1f023227545": { - "balance": "1754143000000000000000" + "0x496f5843f6d24cd98d255e4c23d1e1f023227545": { + "balance": "0x5f179fd4a6ee098000" }, - "540cf23dd95c4d558a279d778d2b3735b3164191": { - "balance": "10000000000000000000000" + "0x540cf23dd95c4d558a279d778d2b3735b3164191": { + "balance": "0x21e19e0c9bab2400000" }, - "9b5ec18e8313887df461d2902e81e67a8f113bb1": { - "balance": "100000000000000000000" + "0x9b5ec18e8313887df461d2902e81e67a8f113bb1": { + "balance": "0x56bc75e2d63100000" }, - "b7a7f77c348f92a9f1100c6bd829a8ac6d7fcf91": { - "balance": "1820000000000000000000" + "0xb7a7f77c348f92a9f1100c6bd829a8ac6d7fcf91": { + "balance": "0x62a992e53a0af00000" }, - "2590126870e0bde8a663ab040a72a5573d8d41c2": { - "balance": "5000000000000000000000" + "0x2590126870e0bde8a663ab040a72a5573d8d41c2": { + "balance": "0x10f0cf064dd59200000" }, - "090fa9367bda57d0d3253a0a8ff76ce0b8e19a73": { - "balance": "1000000000000000000000" + "0x090fa9367bda57d0d3253a0a8ff76ce0b8e19a73": { + "balance": "0x3635c9adc5dea00000" }, - "2a5ba9e34cd58da54c9a2712663a3be274c8e47b": { - "balance": "197000000000000000000" + "0x2a5ba9e34cd58da54c9a2712663a3be274c8e47b": { + "balance": "0xaadec983fcff40000" }, - "3e8641d43c42003f0a33c929f711079deb2b9e46": { - "balance": "500000000000000000000" + "0x3e8641d43c42003f0a33c929f711079deb2b9e46": { + "balance": "0x1b1ae4d6e2ef500000" }, - "f4d97664cc4eec9edbe7fa09f4750a663b507d79": { - "balance": "4000000000000000000000" + "0xf4d97664cc4eec9edbe7fa09f4750a663b507d79": { + "balance": "0xd8d726b7177a800000" }, - "b1540e94cff3465cc3d187e7c8e3bdaf984659e2": { - "balance": "2989950000000000000000" + "0xb1540e94cff3465cc3d187e7c8e3bdaf984659e2": { + "balance": "0xa215e44390e3330000" }, - "f96883582459908c827627e86f28e646f9c7fc7a": { - "balance": "8350000000000000000000" + "0xf96883582459908c827627e86f28e646f9c7fc7a": { + "balance": "0x1c4a78737cdcfb80000" }, - "d4feed99e8917c5c5458635f3603ecb7e817a7d0": { - "balance": "300031000000000000000" + "0xd4feed99e8917c5c5458635f3603ecb7e817a7d0": { + "balance": "0x1043c43cde1d398000" }, - "14b1603ec62b20022033eec4d6d6655ac24a015a": { - "balance": "50000000000000000000" + "0x14b1603ec62b20022033eec4d6d6655ac24a015a": { + "balance": "0x2b5e3af16b1880000" }, - "af8e1dcb314c950d3687434d309858e1a8739cd4": { - "balance": "267400000000000000000" + "0xaf8e1dcb314c950d3687434d309858e1a8739cd4": { + "balance": "0xe7eeba3410b740000" }, - "4b9206ba6b549a1a7f969e1d5dba867539d1fa67": { - "balance": "7880000000000000000000" + "0x4b9206ba6b549a1a7f969e1d5dba867539d1fa67": { + "balance": "0x1ab2cf7c9f87e200000" }, - "471010da492f4018833b088d9872901e06129174": { - "balance": "500000000000000000000" + "0x471010da492f4018833b088d9872901e06129174": { + "balance": "0x1b1ae4d6e2ef500000" }, - "d243184c801e5d79d2063f3578dbae81e7b3a9cb": { - "balance": "1989700000000000000000" + "0xd243184c801e5d79d2063f3578dbae81e7b3a9cb": { + "balance": "0x6bdca2681e1aba0000" }, - "3eada8c92f56067e1bb73ce378da56dc2cdfd365": { - "balance": "2210000000000000000000" + "0x3eada8c92f56067e1bb73ce378da56dc2cdfd365": { + "balance": "0x77cde93aeb0d480000" }, - "33ea6b7855e05b07ab80dab1e14de9b649e99b6c": { - "balance": "532000000000000000000" + "0x33ea6b7855e05b07ab80dab1e14de9b649e99b6c": { + "balance": "0x1cd6fbad57dbd00000" }, - "700711e311bb947355f755b579250ca7fd765a3e": { - "balance": "1790000000000000000000" + "0x700711e311bb947355f755b579250ca7fd765a3e": { + "balance": "0x61093d7c2c6d380000" }, - "87fb26c31e48644d693134205cae43b21f18614b": { - "balance": "1370000000000000000000" + "0x87fb26c31e48644d693134205cae43b21f18614b": { + "balance": "0x4a4491bd6dcd280000" }, - "001d14804b399c6ef80e64576f657660804fec0b": { - "balance": "4200000000000000000000" + "0x001d14804b399c6ef80e64576f657660804fec0b": { + "balance": "0xe3aeb5737240a00000" }, - "f9642086b1fbae61a6804dbe5fb15ec2d2b537f4": { - "balance": "2000000000000000000000" + "0xf9642086b1fbae61a6804dbe5fb15ec2d2b537f4": { + "balance": "0x6c6b935b8bbd400000" }, - "6919dd5e5dfb1afa404703b9faea8cee35d00d70": { - "balance": "5910000000000000000000" + "0x6919dd5e5dfb1afa404703b9faea8cee35d00d70": { + "balance": "0x14061b9d77a5e980000" }, - "9ac4da51d27822d1e208c96ea64a1e5b55299723": { - "balance": "100040000000000000000" + "0x9ac4da51d27822d1e208c96ea64a1e5b55299723": { + "balance": "0x56c5579f722140000" }, - "1bd8ebaa7674bb18e19198db244f570313075f43": { - "balance": "150000000000000000000" + "0x1bd8ebaa7674bb18e19198db244f570313075f43": { + "balance": "0x821ab0d4414980000" }, - "e64ef012658d54f8e8609c4e9023c09fe865c83b": { - "balance": "28000000000000000000" + "0xe64ef012658d54f8e8609c4e9023c09fe865c83b": { + "balance": "0x18493fba64ef00000" }, - "43b079baf0727999e66bf743d5bcbf776c3b0922": { - "balance": "2000000000000000000000" + "0x43b079baf0727999e66bf743d5bcbf776c3b0922": { + "balance": "0x6c6b935b8bbd400000" }, - "06ac26ad92cb859bd5905ddce4266aa0ec50a9c5": { - "balance": "775000000000000000000" + "0x06ac26ad92cb859bd5905ddce4266aa0ec50a9c5": { + "balance": "0x2a034919dfbfbc0000" }, - "99c1d9f40c6ab7f8a92fce2fdce47a54a586c53f": { - "balance": "985000000000000000000" + "0x99c1d9f40c6ab7f8a92fce2fdce47a54a586c53f": { + "balance": "0x35659ef93f0fc40000" }, - "4ae93082e45187c26160e66792f57fad3551c73a": { - "balance": "21658000000000000000000" + "0x4ae93082e45187c26160e66792f57fad3551c73a": { + "balance": "0x4961520daff82280000" }, - "7da7613445a21299aa74f0ad71431ec43fbb1be9": { - "balance": "68000000000000000000" + "0x7da7613445a21299aa74f0ad71431ec43fbb1be9": { + "balance": "0x3afb087b876900000" }, - "4a9a26fd0a8ba10f977da4f77c31908dab4a8016": { - "balance": "1790000000000000000000" + "0x4a9a26fd0a8ba10f977da4f77c31908dab4a8016": { + "balance": "0x61093d7c2c6d380000" }, - "972c2f96aa00cf8a2f205abcf8937c0c75f5d8d9": { - "balance": "200000000000000000000" + "0x972c2f96aa00cf8a2f205abcf8937c0c75f5d8d9": { + "balance": "0xad78ebc5ac6200000" }, - "b5046cb3dc1dedbd364514a2848e44c1de4ed147": { - "balance": "16445100000000000000000" + "0xb5046cb3dc1dedbd364514a2848e44c1de4ed147": { + "balance": "0x37b7d9bb820405e0000" }, - "48c2ee91a50756d8ce9abeeb7589d22c6fee5dfb": { - "balance": "3220000000000000000000" + "0x48c2ee91a50756d8ce9abeeb7589d22c6fee5dfb": { + "balance": "0xae8e7a0bb575d00000" }, - "46c1aa2244b9c8a957ca8fac431b0595a3b86824": { - "balance": "4000000000000000000000" + "0x46c1aa2244b9c8a957ca8fac431b0595a3b86824": { + "balance": "0xd8d726b7177a800000" }, - "21fd0bade5f4ef7474d058b7f3d854cb1300524e": { - "balance": "20000000000000000000" + "0x21fd0bade5f4ef7474d058b7f3d854cb1300524e": { + "balance": "0x1158e460913d00000" }, - "1864a3c7b48155448c54c88c708f166709736d31": { - "balance": "133700000000000000000" + "0x1864a3c7b48155448c54c88c708f166709736d31": { + "balance": "0x73f75d1a085ba0000" }, - "5dd53ae897526b167d39f1744ef7c3da5b37a293": { - "balance": "8000000000000000000000" + "0x5dd53ae897526b167d39f1744ef7c3da5b37a293": { + "balance": "0x1b1ae4d6e2ef5000000" }, - "ece111670b563ccdbebca52384290ecd68fe5c92": { - "balance": "20000000000000000000" + "0xece111670b563ccdbebca52384290ecd68fe5c92": { + "balance": "0x1158e460913d00000" }, - "74d671d99cbea1ab57906375b63ff42b50451d17": { - "balance": "1000000000000000000000" + "0x74d671d99cbea1ab57906375b63ff42b50451d17": { + "balance": "0x3635c9adc5dea00000" }, - "5717cc9301511d4a81b9f583148beed3d3cc8309": { - "balance": "2600000000000000000000" + "0x5717cc9301511d4a81b9f583148beed3d3cc8309": { + "balance": "0x8cf23f909c0fa00000" }, - "8f92844f282a92999ee5b4a8d773d06b694dbd9f": { - "balance": "1940000000000000000000" + "0x8f92844f282a92999ee5b4a8d773d06b694dbd9f": { + "balance": "0x692ae8897081d00000" }, - "b5a606f4ddcbb9471ec67f658caf2b00ee73025e": { - "balance": "4325000000000000000000" + "0xb5a606f4ddcbb9471ec67f658caf2b00ee73025e": { + "balance": "0xea756ea92afc740000" }, - "bdb60b823a1173d45a0792245fb496f1fd3301cf": { - "balance": "2000000000000000000000" + "0xbdb60b823a1173d45a0792245fb496f1fd3301cf": { + "balance": "0x6c6b935b8bbd400000" }, - "1d2615f8b6ca5012b663bdd094b0c5137c778ddf": { - "balance": "10000000000000000000000" + "0x1d2615f8b6ca5012b663bdd094b0c5137c778ddf": { + "balance": "0x21e19e0c9bab2400000" }, - "82ff716fdf033ec7e942c909d9831867b8b6e2ef": { - "balance": "1790000000000000000000" + "0x82ff716fdf033ec7e942c909d9831867b8b6e2ef": { + "balance": "0x61093d7c2c6d380000" }, - "44c14765127cde11fab46c5d2cf4d4b2890023fd": { - "balance": "2000000000000000000000" + "0x44c14765127cde11fab46c5d2cf4d4b2890023fd": { + "balance": "0x6c6b935b8bbd400000" }, - "c72cb301258e91bc08998a805dd192f25c2f9a35": { - "balance": "591000000000000000000" + "0xc72cb301258e91bc08998a805dd192f25c2f9a35": { + "balance": "0x2009c5c8bf6fdc0000" }, - "ad732c976593eec4783b4e2ecd793979780bfedb": { - "balance": "2000000000000000000000" + "0xad732c976593eec4783b4e2ecd793979780bfedb": { + "balance": "0x6c6b935b8bbd400000" }, - "d8f62036f03b7635b858f1103f8a1d9019a892b6": { - "balance": "50000000000000000000" + "0xd8f62036f03b7635b858f1103f8a1d9019a892b6": { + "balance": "0x2b5e3af16b1880000" }, - "0a06fad7dcd7a492cbc053eeabde6934b39d8637": { - "balance": "20000000000000000000" + "0x0a06fad7dcd7a492cbc053eeabde6934b39d8637": { + "balance": "0x1158e460913d00000" }, - "67f2bb78b8d3e11f7c458a10b5c8e0a1d374467d": { - "balance": "1790000000000000000000" + "0x67f2bb78b8d3e11f7c458a10b5c8e0a1d374467d": { + "balance": "0x61093d7c2c6d380000" }, - "4b5cdb1e428c91dd7cb54a6aed4571da054bfe52": { - "balance": "88000000000000000000" + "0x4b5cdb1e428c91dd7cb54a6aed4571da054bfe52": { + "balance": "0x4c53ecdc18a600000" }, - "b3557d39b5411b84445f5f54f38f62d2714d0087": { - "balance": "600000000000000000000" + "0xb3557d39b5411b84445f5f54f38f62d2714d0087": { + "balance": "0x2086ac351052600000" }, - "0b0e055b28cbd03dc5ff44aa64f3dce04f5e63fb": { - "balance": "2000000000000000000000" + "0x0b0e055b28cbd03dc5ff44aa64f3dce04f5e63fb": { + "balance": "0x6c6b935b8bbd400000" }, - "9b2be7f56754f505e3441a10f7f0e20fd3ddf849": { - "balance": "340000000000000000000" + "0x9b2be7f56754f505e3441a10f7f0e20fd3ddf849": { + "balance": "0x126e72a69a50d00000" }, - "0b93fca4a4f09cac20db60e065edcccc11e0a5b6": { - "balance": "200000000000000000000" + "0x0b93fca4a4f09cac20db60e065edcccc11e0a5b6": { + "balance": "0xad78ebc5ac6200000" }, - "3bc85d6c735b9cda4bba5f48b24b13e70630307b": { - "balance": "1970000000000000000000" + "0x3bc85d6c735b9cda4bba5f48b24b13e70630307b": { + "balance": "0x6acb3df27e1f880000" }, - "52102354a6aca95d8a2e86d5debda6de69346076": { - "balance": "2000000000000000000000" + "0x52102354a6aca95d8a2e86d5debda6de69346076": { + "balance": "0x6c6b935b8bbd400000" }, - "cda4530f4b9bc50905b79d17c28fc46f95349bdf": { - "balance": "942000000000000000000" + "0xcda4530f4b9bc50905b79d17c28fc46f95349bdf": { + "balance": "0x3310e04911f1f80000" }, - "ff545bbb66fbd00eb5e6373ff4e326f5feb5fe12": { - "balance": "20000000000000000000" + "0xff545bbb66fbd00eb5e6373ff4e326f5feb5fe12": { + "balance": "0x1158e460913d00000" }, - "4030a925706b2c101c8c5cb9bd05fbb4f6759b18": { - "balance": "4000000000000000000000" + "0x4030a925706b2c101c8c5cb9bd05fbb4f6759b18": { + "balance": "0xd8d726b7177a800000" }, - "f11e01c7a9d12499005f4dae7716095a34176277": { - "balance": "400000000000000000000" + "0xf11e01c7a9d12499005f4dae7716095a34176277": { + "balance": "0x15af1d78b58c400000" }, - "a4826b6c3882fad0ed5c8fbb25cc40cc4f33759f": { - "balance": "2068000000000000000000" + "0xa4826b6c3882fad0ed5c8fbb25cc40cc4f33759f": { + "balance": "0x701b43e34433d00000" }, - "28510e6eff1fc829b6576f4328bc3938ec7a6580": { - "balance": "10000000000000000000000" + "0x28510e6eff1fc829b6576f4328bc3938ec7a6580": { + "balance": "0x21e19e0c9bab2400000" }, - "9ce5363b13e8238aa4dd15acd0b2e8afe0873247": { - "balance": "200000000000000000000" + "0x9ce5363b13e8238aa4dd15acd0b2e8afe0873247": { + "balance": "0xad78ebc5ac6200000" }, - "d97bc84abd47c05bbf457b2ef659d61ca5e5e48f": { - "balance": "122000000000000000000" + "0xd97bc84abd47c05bbf457b2ef659d61ca5e5e48f": { + "balance": "0x69d17119dc5a80000" }, - "4a719061f5285495b37b9d7ef8a51b07d6e6acac": { - "balance": "199800000000000000000" + "0x4a719061f5285495b37b9d7ef8a51b07d6e6acac": { + "balance": "0xad4c8316a0b0c0000" }, - "8b714522fa2839620470edcf0c4401b713663df1": { - "balance": "200000000000000000000" + "0x8b714522fa2839620470edcf0c4401b713663df1": { + "balance": "0xad78ebc5ac6200000" }, - "b6decf82969819ba02de29b9b593f21b64eeda0f": { - "balance": "740000000000000000000" + "0xb6decf82969819ba02de29b9b593f21b64eeda0f": { + "balance": "0x281d901f4fdd100000" }, - "c87d3ae3d88704d9ab0009dcc1a0067131f8ba3c": { - "balance": "1969606000000000000000" + "0xc87d3ae3d88704d9ab0009dcc1a0067131f8ba3c": { + "balance": "0x6ac5c62d9486070000" }, - "dccb370ed68aa922283043ef7cad1b9d403fc34a": { - "balance": "4000000000000000000000" + "0xdccb370ed68aa922283043ef7cad1b9d403fc34a": { + "balance": "0xd8d726b7177a800000" }, - "2d532df4c63911d1ce91f6d1fcbff7960f78a885": { - "balance": "1669833000000000000000" + "0x2d532df4c63911d1ce91f6d1fcbff7960f78a885": { + "balance": "0x5a85968a5878da8000" }, - "1fcfd1d57f872290560cb62d600e1defbefccc1c": { - "balance": "1490000000000000000000" + "0x1fcfd1d57f872290560cb62d600e1defbefccc1c": { + "balance": "0x50c5e761a444080000" }, - "d9e27eb07dfc71a706060c7f079238ca93e88539": { - "balance": "1000000000000000000000" + "0xd9e27eb07dfc71a706060c7f079238ca93e88539": { + "balance": "0x3635c9adc5dea00000" }, - "da7732f02f2e272eaf28df972ecc0ddeed9cf498": { - "balance": "205274000000000000000" + "0xda7732f02f2e272eaf28df972ecc0ddeed9cf498": { + "balance": "0xb20bfbf6967890000" }, - "bf09d77048e270b662330e9486b38b43cd781495": { - "balance": "436000000000000000000000" + "0xbf09d77048e270b662330e9486b38b43cd781495": { + "balance": "0x5c539b7bf4ff28800000" }, - "619f171445d42b02e2e07004ad8afe694fa53d6a": { - "balance": "20000000000000000000" + "0x619f171445d42b02e2e07004ad8afe694fa53d6a": { + "balance": "0x1158e460913d00000" }, - "2bdd03bebbee273b6ca1059b34999a5bbd61bb79": { - "balance": "20000000000000000000" + "0x2bdd03bebbee273b6ca1059b34999a5bbd61bb79": { + "balance": "0x1158e460913d00000" }, - "8da1d359ba6cb4bcc57d7a437720d55db2f01c72": { - "balance": "80000000000000000000" + "0x8da1d359ba6cb4bcc57d7a437720d55db2f01c72": { + "balance": "0x4563918244f400000" }, - "be935793f45b70d8045d2654d8dd3ad24b5b6137": { - "balance": "880000000000000000000" + "0xbe935793f45b70d8045d2654d8dd3ad24b5b6137": { + "balance": "0x2fb474098f67c00000" }, - "ee71793e3acf12a7274f563961f537529d89c7de": { - "balance": "2000000000000000000000" + "0xee71793e3acf12a7274f563961f537529d89c7de": { + "balance": "0x6c6b935b8bbd400000" }, - "86f05d19063e9369c6004eb3f123943a7cff4eab": { - "balance": "1999944000000000000000" + "0x86f05d19063e9369c6004eb3f123943a7cff4eab": { + "balance": "0x6c6acc67d7b1d40000" }, - "87b10f9c280098179a2b76e9ce90be61fc844d0d": { - "balance": "1337000000000000000000" + "0x87b10f9c280098179a2b76e9ce90be61fc844d0d": { + "balance": "0x487a9a304539440000" }, - "243c84d12420570cc4ef3baba1c959c283249520": { - "balance": "2345000000000000000000" + "0x243c84d12420570cc4ef3baba1c959c283249520": { + "balance": "0x7f1f6993a853040000" }, - "6bc85acd5928722ef5095331ee88f484b8cf8357": { - "balance": "180000000000000000000" + "0x6bc85acd5928722ef5095331ee88f484b8cf8357": { + "balance": "0x9c2007651b2500000" }, - "2561a138dcf83bd813e0e7f108642be3de3d6f05": { - "balance": "999940000000000000000" + "0x2561a138dcf83bd813e0e7f108642be3de3d6f05": { + "balance": "0x3634f48417401a0000" }, - "7d0350e40b338dda736661872be33f1f9752d755": { - "balance": "49933000000000000000" + "0x7d0350e40b338dda736661872be33f1f9752d755": { + "balance": "0x2b4f5a6f191948000" }, - "e5dc9349cb52e161196122cf87a38936e2c57f34": { - "balance": "2000000000000000000000" + "0xe5dc9349cb52e161196122cf87a38936e2c57f34": { + "balance": "0x6c6b935b8bbd400000" }, - "543a8c0efb8bcd15c543e2a6a4f807597631adef": { - "balance": "5893800000000000000000" + "0x543a8c0efb8bcd15c543e2a6a4f807597631adef": { + "balance": "0x13f80e7e14f2d440000" }, - "0413d0cf78c001898a378b918cd6e498ea773c4d": { - "balance": "280000000000000000000" + "0x0413d0cf78c001898a378b918cd6e498ea773c4d": { + "balance": "0xf2dc7d47f15600000" }, - "3708e59de6b4055088782902e0579c7201a8bf50": { - "balance": "200000000000000000000000" + "0x3708e59de6b4055088782902e0579c7201a8bf50": { + "balance": "0x2a5a058fc295ed000000" }, - "699fc6d68a4775573c1dcdaec830fefd50397c4e": { - "balance": "60000000000000000000" + "0x699fc6d68a4775573c1dcdaec830fefd50397c4e": { + "balance": "0x340aad21b3b700000" }, - "379a7f755a81a17edb7daaa28afc665dfa6be63a": { - "balance": "25000000000000000000" + "0x379a7f755a81a17edb7daaa28afc665dfa6be63a": { + "balance": "0x15af1d78b58c40000" }, - "260a230e4465077e0b14ee4442a482d5b0c914bf": { - "balance": "1677935000000000000000" + "0x260a230e4465077e0b14ee4442a482d5b0c914bf": { + "balance": "0x5af606a06b5b118000" }, - "3daa01ceb70eaf9591fa521ba4a27ea9fb8ede4a": { - "balance": "1667400000000000000000" + "0x3daa01ceb70eaf9591fa521ba4a27ea9fb8ede4a": { + "balance": "0x5a63d2c9bc76540000" }, - "7f3a1e45f67e92c880e573b43379d71ee089db54": { - "balance": "100000000000000000000000" + "0x7f3a1e45f67e92c880e573b43379d71ee089db54": { + "balance": "0x152d02c7e14af6800000" }, - "38643babea6011316cc797d9b093c897a17bdae7": { - "balance": "334400000000000000000" + "0x38643babea6011316cc797d9b093c897a17bdae7": { + "balance": "0x1220bb7445daa00000" }, - "84675e9177726d45eaa46b3992a340ba7f710c95": { - "balance": "1000000000000000000000" + "0x84675e9177726d45eaa46b3992a340ba7f710c95": { + "balance": "0x3635c9adc5dea00000" }, - "0f83461ba224bb1e8fdd9dae535172b735acb4e0": { - "balance": "200000000000000000000" + "0x0f83461ba224bb1e8fdd9dae535172b735acb4e0": { + "balance": "0xad78ebc5ac6200000" }, - "31aa3b1ebe8c4dbcb6a708b1d74831e60e497660": { - "balance": "400000000000000000000" + "0x31aa3b1ebe8c4dbcb6a708b1d74831e60e497660": { + "balance": "0x15af1d78b58c400000" }, - "a32cf7dde20c3dd5679ff5e325845c70c5962662": { - "balance": "20000000000000000000" + "0xa32cf7dde20c3dd5679ff5e325845c70c5962662": { + "balance": "0x1158e460913d00000" }, - "c007f0bdb6e7009202b7af3ea90902697c721413": { - "balance": "2999966000000000000000" + "0xc007f0bdb6e7009202b7af3ea90902697c721413": { + "balance": "0xa2a0e43e7fb9830000" }, - "05c64004a9a826e94e5e4ee267fa2a7632dd4e6f": { - "balance": "16191931000000000000000" + "0x05c64004a9a826e94e5e4ee267fa2a7632dd4e6f": { + "balance": "0x36dc42ebff90b7f8000" }, - "f622e584a6623eaaf99f2be49e5380c5cbcf5cd8": { - "balance": "200000000000000000000" + "0xf622e584a6623eaaf99f2be49e5380c5cbcf5cd8": { + "balance": "0xad78ebc5ac6200000" }, - "9dc10fa38f9fb06810e11f60173ec3d2fd6a751e": { - "balance": "1970000000000000000000" + "0x9dc10fa38f9fb06810e11f60173ec3d2fd6a751e": { + "balance": "0x6acb3df27e1f880000" }, - "423c3107f4bace414e499c64390a51f74615ca5e": { - "balance": "2000000000000000000000" + "0x423c3107f4bace414e499c64390a51f74615ca5e": { + "balance": "0x6c6b935b8bbd400000" }, - "92438e5203b6346ff886d7c36288aacccc78ceca": { - "balance": "1000000000000000000000" + "0x92438e5203b6346ff886d7c36288aacccc78ceca": { + "balance": "0x3635c9adc5dea00000" }, - "bef07d97c3481f9d6aee1c98f9d91a180a32442b": { - "balance": "100000000000000000000000" + "0xbef07d97c3481f9d6aee1c98f9d91a180a32442b": { + "balance": "0x152d02c7e14af6800000" }, - "55aa5d313ebb084da0e7801091e29e92c5dec3aa": { - "balance": "2000000000000000000000" + "0x55aa5d313ebb084da0e7801091e29e92c5dec3aa": { + "balance": "0x6c6b935b8bbd400000" }, - "89c433d601fad714da6369308fd26c1dc9942bbf": { - "balance": "2000000000000000000000" + "0x89c433d601fad714da6369308fd26c1dc9942bbf": { + "balance": "0x6c6b935b8bbd400000" }, - "25106ab6755df86d6b63a187703b0cfea0e594a0": { - "balance": "27400000000000000000" + "0x25106ab6755df86d6b63a187703b0cfea0e594a0": { + "balance": "0x17c405ad41db40000" }, - "494256e99b0f9cd6e5ebca3899863252900165c8": { - "balance": "14000000000000000000000" + "0x494256e99b0f9cd6e5ebca3899863252900165c8": { + "balance": "0x2f6f10780d22cc00000" }, - "5f4ace4c1cc13391e01f00b198e1f20b5f91cbf5": { - "balance": "5000196000000000000000" + "0x5f4ace4c1cc13391e01f00b198e1f20b5f91cbf5": { + "balance": "0x10f0fa8b9d3811a0000" }, - "135cecd955e5798370769230159303d9b1839f66": { - "balance": "5000000000000000000000" + "0x135cecd955e5798370769230159303d9b1839f66": { + "balance": "0x10f0cf064dd59200000" }, - "ced81ec3533ff1bfebf3e3843ee740ad11758d3e": { - "balance": "1970000000000000000000" + "0xced81ec3533ff1bfebf3e3843ee740ad11758d3e": { + "balance": "0x6acb3df27e1f880000" }, - "688eb3853bbcc50ecfee0fa87f0ab693cabdef02": { - "balance": "31600000000000000000000" + "0x688eb3853bbcc50ecfee0fa87f0ab693cabdef02": { + "balance": "0x6b10a18400647c00000" }, - "2159240813a73095a7ebf7c3b3743e8028ae5f09": { - "balance": "2000000000000000000000" + "0x2159240813a73095a7ebf7c3b3743e8028ae5f09": { + "balance": "0x6c6b935b8bbd400000" }, - "99d1579cd42682b7644e1d4f7128441eeffe339d": { - "balance": "20000000000000000000000" + "0x99d1579cd42682b7644e1d4f7128441eeffe339d": { + "balance": "0x43c33c1937564800000" }, - "8a243a0a9fea49b839547745ff2d11af3f4b0522": { - "balance": "985000000000000000000" + "0x8a243a0a9fea49b839547745ff2d11af3f4b0522": { + "balance": "0x35659ef93f0fc40000" }, - "c1a41a5a27199226e4c7eb198b031b59196f9842": { - "balance": "191000000000000000000" + "0xc1a41a5a27199226e4c7eb198b031b59196f9842": { + "balance": "0xa5aa85009e39c0000" }, - "7514adbdc63f483f304d8e94b67ff3309f180b82": { - "balance": "622911000000000000000" + "0x7514adbdc63f483f304d8e94b67ff3309f180b82": { + "balance": "0x21c4a06e2d13598000" }, - "74aeec915de01cc69b2cb5a6356feea14658c6c5": { - "balance": "232500000000000000000" + "0x74aeec915de01cc69b2cb5a6356feea14658c6c5": { + "balance": "0xc9a95ee2986520000" }, - "76f9ad3d9bbd04ae055c1477c0c35e7592cb2a20": { - "balance": "40200000000000000000000" + "0x76f9ad3d9bbd04ae055c1477c0c35e7592cb2a20": { + "balance": "0x8833f11e3458f200000" }, - "a8a7b68adab4e3eadff19ffa58e34a3fcec0d96a": { - "balance": "6000000000000000000000" + "0xa8a7b68adab4e3eadff19ffa58e34a3fcec0d96a": { + "balance": "0x14542ba12a337c00000" }, - "60de22a1507432a47b01cc68c52a0bf8a2e0d098": { - "balance": "19100000000000000000" + "0x60de22a1507432a47b01cc68c52a0bf8a2e0d098": { + "balance": "0x10910d4cdc9f60000" }, - "ceb33d78e7547a9da2e87d51aec5f3441c87923a": { - "balance": "20000000000000000000" + "0xceb33d78e7547a9da2e87d51aec5f3441c87923a": { + "balance": "0x1158e460913d00000" }, - "432809a2390f07c665921ff37d547d12f1c9966a": { - "balance": "30000000000000000000000" + "0x432809a2390f07c665921ff37d547d12f1c9966a": { + "balance": "0x65a4da25d3016c00000" }, - "d5e656a1b916f9bf45afb07dd8afaf73b4c56f41": { - "balance": "97000000000000000000" + "0xd5e656a1b916f9bf45afb07dd8afaf73b4c56f41": { + "balance": "0x542253a126ce40000" }, - "e3410bb7557cf91d79fa69d0dfea0aa075402651": { - "balance": "2000000000000000000000" + "0xe3410bb7557cf91d79fa69d0dfea0aa075402651": { + "balance": "0x6c6b935b8bbd400000" }, - "dee942d5caf5fac11421d86b010b458e5c392990": { - "balance": "4000000000000000000000" + "0xdee942d5caf5fac11421d86b010b458e5c392990": { + "balance": "0xd8d726b7177a800000" }, - "a98f109835f5eacd0543647c34a6b269e3802fac": { - "balance": "400000000000000000000" + "0xa98f109835f5eacd0543647c34a6b269e3802fac": { + "balance": "0x15af1d78b58c400000" }, - "932b9c04d40d2ac83083d94298169dae81ab2ed0": { - "balance": "2000000000000000000000" + "0x932b9c04d40d2ac83083d94298169dae81ab2ed0": { + "balance": "0x6c6b935b8bbd400000" }, - "ba10f2764290f875434372f79dbf713801caac01": { - "balance": "955000000000000000000" + "0xba10f2764290f875434372f79dbf713801caac01": { + "balance": "0x33c5499031720c0000" }, - "a2c7eaffdc2c9d937345206c909a52dfb14c478f": { - "balance": "143000000000000000000" + "0xa2c7eaffdc2c9d937345206c909a52dfb14c478f": { + "balance": "0x7c0860e5a80dc0000" }, - "6c67e0d7b62e2a08506945a5dfe38263339f1f22": { - "balance": "1970000000000000000000" + "0x6c67e0d7b62e2a08506945a5dfe38263339f1f22": { + "balance": "0x6acb3df27e1f880000" }, - "60c3714fdddb634659e4a2b1ea42c4728cc7b8ba": { - "balance": "13370000000000000000" + "0x60c3714fdddb634659e4a2b1ea42c4728cc7b8ba": { + "balance": "0xb98bc829a6f90000" }, - "73b4d499de3f38bf35aaf769a6e318bc6d123692": { - "balance": "2000000000000000000000" + "0x73b4d499de3f38bf35aaf769a6e318bc6d123692": { + "balance": "0x6c6b935b8bbd400000" }, - "3b22dea3c25f1b59c7bd27bb91d3a3eaecef3984": { - "balance": "100000000000000000000" + "0x3b22dea3c25f1b59c7bd27bb91d3a3eaecef3984": { + "balance": "0x56bc75e2d63100000" }, - "1e3badb1b6e1380e27039c576ae6222e963a5b53": { - "balance": "20000000000000000000000" + "0x1e3badb1b6e1380e27039c576ae6222e963a5b53": { + "balance": "0x43c33c1937564800000" }, - "abd4d6c1666358c0406fdf3af248f78ece830104": { - "balance": "2112000000000000000000" + "0xabd4d6c1666358c0406fdf3af248f78ece830104": { + "balance": "0x727de34a24f9000000" }, - "0c925ad5eb352c8ef76d0c222d115b0791b962a1": { - "balance": "3180000000000000000000" + "0x0c925ad5eb352c8ef76d0c222d115b0791b962a1": { + "balance": "0xac635d7fa34e300000" }, - "be9186c34a52514abb9107860f674f97b821bd5b": { - "balance": "509600000000000000000" + "0xbe9186c34a52514abb9107860f674f97b821bd5b": { + "balance": "0x1ba01ee40603100000" }, - "b7f67314cb832e32e63b15a40ce0d7ffbdb26985": { - "balance": "1060866000000000000000" + "0xb7f67314cb832e32e63b15a40ce0d7ffbdb26985": { + "balance": "0x398279264a818d0000" }, - "3f30d3bc9f602232bc724288ca46cd0b0788f715": { - "balance": "4000000000000000000000" + "0x3f30d3bc9f602232bc724288ca46cd0b0788f715": { + "balance": "0xd8d726b7177a800000" }, - "970abd53a54fca4a6429207c182d4d57bb39d4a0": { - "balance": "2000000000000000000000" + "0x970abd53a54fca4a6429207c182d4d57bb39d4a0": { + "balance": "0x6c6b935b8bbd400000" }, - "36d85dc3683156e63bf880a9fab7788cf8143a27": { - "balance": "20000000000000000000000" + "0x36d85dc3683156e63bf880a9fab7788cf8143a27": { + "balance": "0x43c33c1937564800000" }, - "2836123046b284e5ef102bfd22b1765e508116ad": { - "balance": "411880000000000000000" + "0x2836123046b284e5ef102bfd22b1765e508116ad": { + "balance": "0x1653fbb5c427e40000" }, - "de06d5ea777a4eb1475e605dbcbf43444e8037ea": { - "balance": "50000000000000000000000" + "0xde06d5ea777a4eb1475e605dbcbf43444e8037ea": { + "balance": "0xa968163f0a57b400000" }, - "9af11399511c213181bfda3a8b264c05fc81b3ce": { - "balance": "14000000000000000000000" + "0x9af11399511c213181bfda3a8b264c05fc81b3ce": { + "balance": "0x2f6f10780d22cc00000" }, - "e2191215983f33fd33e22cd4a2490054da53fddc": { - "balance": "15800000000000000000" + "0xe2191215983f33fd33e22cd4a2490054da53fddc": { + "balance": "0xdb44e049bb2c0000" }, - "2eebf59432b52892f9380bd140aa99dcf8ad0c0f": { - "balance": "152000000000000000000" + "0x2eebf59432b52892f9380bd140aa99dcf8ad0c0f": { + "balance": "0x83d6c7aab63600000" }, - "dc087f9390fb9e976ac23ab689544a0942ec2021": { - "balance": "1820000000000000000000" + "0xdc087f9390fb9e976ac23ab689544a0942ec2021": { + "balance": "0x62a992e53a0af00000" }, - "fd4b989558ae11be0c3b36e2d6f2a54a9343ca2e": { - "balance": "2000000000000000000000" + "0xfd4b989558ae11be0c3b36e2d6f2a54a9343ca2e": { + "balance": "0x6c6b935b8bbd400000" }, - "770c2fb2c4a81753ac0182ea460ec09c90a516f8": { - "balance": "20000000000000000000" + "0x770c2fb2c4a81753ac0182ea460ec09c90a516f8": { + "balance": "0x1158e460913d00000" }, - "b28dbfc6499894f73a71faa00abe0f4bc9d19f2a": { - "balance": "100000000000000000000" + "0xb28dbfc6499894f73a71faa00abe0f4bc9d19f2a": { + "balance": "0x56bc75e2d63100000" }, - "b0cef8e8fb8984a6019f01c679f272bbe68f5c77": { - "balance": "152000000000000000000" + "0xb0cef8e8fb8984a6019f01c679f272bbe68f5c77": { + "balance": "0x83d6c7aab63600000" }, - "f400f93d5f5c7e3fc303129ac8fb0c2f786407fa": { - "balance": "2000000000000000000000" + "0xf400f93d5f5c7e3fc303129ac8fb0c2f786407fa": { + "balance": "0x6c6b935b8bbd400000" }, - "f2133431d1d9a37ba2f0762bc40c5acc8aa6978e": { - "balance": "2000000000000000000000" + "0xf2133431d1d9a37ba2f0762bc40c5acc8aa6978e": { + "balance": "0x6c6b935b8bbd400000" }, - "9003d270891ba2df643da8341583193545e3e000": { - "balance": "4000000000000000000000" + "0x9003d270891ba2df643da8341583193545e3e000": { + "balance": "0xd8d726b7177a800000" }, - "8938d1b4daee55a54d738cf17e4477f6794e46f7": { - "balance": "18200000000000000000" + "0x8938d1b4daee55a54d738cf17e4477f6794e46f7": { + "balance": "0xfc936392801c0000" }, - "98e6f547db88e75f1f9c8ac2c5cf1627ba580b3e": { - "balance": "1000000000000000000000" + "0x98e6f547db88e75f1f9c8ac2c5cf1627ba580b3e": { + "balance": "0x3635c9adc5dea00000" }, - "009fdbf44e1f4a6362b769c39a475f95a96c2bc7": { - "balance": "564000000000000000000" + "0x009fdbf44e1f4a6362b769c39a475f95a96c2bc7": { + "balance": "0x1e931283ccc8500000" }, - "d0f9597811b0b992bb7d3757aa25b4c2561d32e2": { - "balance": "500000000000000000000" + "0xd0f9597811b0b992bb7d3757aa25b4c2561d32e2": { + "balance": "0x1b1ae4d6e2ef500000" }, - "dcd10c55bb854f754434f1219c2c9a98ace79f03": { - "balance": "4000086000000000000000" + "0xdcd10c55bb854f754434f1219c2c9a98ace79f03": { + "balance": "0xd8d8583fa2d52f0000" }, - "67048f3a12a4dd1f626c64264cb1d7971de2ca38": { - "balance": "180000000000000000000" + "0x67048f3a12a4dd1f626c64264cb1d7971de2ca38": { + "balance": "0x9c2007651b2500000" }, - "d33cf82bf14c592640a08608914c237079d5be34": { - "balance": "2000000000000000000000" + "0xd33cf82bf14c592640a08608914c237079d5be34": { + "balance": "0x6c6b935b8bbd400000" }, - "f5b068989df29c253577d0405ade6e0e7528f89e": { - "balance": "1610000000000000000000" + "0xf5b068989df29c253577d0405ade6e0e7528f89e": { + "balance": "0x57473d05dabae80000" }, - "a9a8eca11a23d64689a2aa3e417dbb3d336bb59a": { - "balance": "262025000000000000000" + "0xa9a8eca11a23d64689a2aa3e417dbb3d336bb59a": { + "balance": "0xe3453cd3b67ba8000" }, - "99413704b1a32e70f3bc0d69dd881c38566b54cb": { - "balance": "27382708000000000000000" + "0x99413704b1a32e70f3bc0d69dd881c38566b54cb": { + "balance": "0x5cc6b694631f7120000" }, - "2a085e25b64862f5e68d768e2b0f7a8529858eee": { - "balance": "1983618000000000000000" + "0x2a085e25b64862f5e68d768e2b0f7a8529858eee": { + "balance": "0x6b883acd5766cd0000" }, - "833d3fae542ad5f8b50ce19bde2bec579180c88c": { - "balance": "346000000000000000000" + "0x833d3fae542ad5f8b50ce19bde2bec579180c88c": { + "balance": "0x12c1b6eed03d280000" }, - "c3483d6e88ac1f4ae73cc4408d6c03abe0e49dca": { - "balance": "17000000000000000000000" + "0xc3483d6e88ac1f4ae73cc4408d6c03abe0e49dca": { + "balance": "0x39992648a23c8a00000" }, - "fde395bc0b6d5cbb4c1d8fea3e0b4bff635e9db7": { - "balance": "2000000000000000000000" + "0xfde395bc0b6d5cbb4c1d8fea3e0b4bff635e9db7": { + "balance": "0x6c6b935b8bbd400000" }, - "eddacd94ec89a2ef968fcf977a08f1fae2757869": { - "balance": "8000000000000000000000" + "0xeddacd94ec89a2ef968fcf977a08f1fae2757869": { + "balance": "0x1b1ae4d6e2ef5000000" }, - "dc29119745d2337320da51e19100c948d980b915": { - "balance": "160000000000000000000" + "0xdc29119745d2337320da51e19100c948d980b915": { + "balance": "0x8ac7230489e800000" }, - "640bf87415e0cf407301e5599a68366da09bbac8": { - "balance": "493207000000000000000" + "0x640bf87415e0cf407301e5599a68366da09bbac8": { + "balance": "0x1abc9f416098158000" }, - "afcc7dbb8356d842d43ae7e23c8422b022a30803": { - "balance": "30400000000000000000000" + "0xafcc7dbb8356d842d43ae7e23c8422b022a30803": { + "balance": "0x66ffcbfd5e5a3000000" }, - "9120e71173e1ba19ba8f9f4fdbdcaa34e1d6bb78": { - "balance": "2000000000000000000000" + "0x9120e71173e1ba19ba8f9f4fdbdcaa34e1d6bb78": { + "balance": "0x6c6b935b8bbd400000" }, - "9092918707c621fdbd1d90fb80eb787fd26f7350": { - "balance": "2460000000000000000000" + "0x9092918707c621fdbd1d90fb80eb787fd26f7350": { + "balance": "0x855b5ba65c84f00000" }, - "263e57dacbe0149f82fe65a2664898866ff5b463": { - "balance": "38000000000000000000000" + "0x263e57dacbe0149f82fe65a2664898866ff5b463": { + "balance": "0x80bfbefcb5f0bc00000" }, - "315db7439fa1d5b423afa7dd7198c1cf74c918bc": { - "balance": "600000000000000000000" + "0x315db7439fa1d5b423afa7dd7198c1cf74c918bc": { + "balance": "0x2086ac351052600000" }, - "09b4668696f86a080f8bebb91db8e6f87015915a": { - "balance": "656010000000000000000" + "0x09b4668696f86a080f8bebb91db8e6f87015915a": { + "balance": "0x238ff7b34f60010000" }, - "5c31996dcac015f9be985b611f468730ef244d90": { - "balance": "200000000000000000000" + "0x5c31996dcac015f9be985b611f468730ef244d90": { + "balance": "0xad78ebc5ac6200000" }, - "b1179589e19db9d41557bbec1cb24ccc2dec1c7f": { - "balance": "100000000000000000000000" + "0xb1179589e19db9d41557bbec1cb24ccc2dec1c7f": { + "balance": "0x152d02c7e14af6800000" }, - "3b1937d5e793b89b63fb8eb5f1b1c9ca6ba0fa8e": { - "balance": "2000000000000000000000" + "0x3b1937d5e793b89b63fb8eb5f1b1c9ca6ba0fa8e": { + "balance": "0x6c6b935b8bbd400000" }, - "c9127b7f6629ee13fc3f60bc2f4467a20745a762": { - "balance": "16465639000000000000000" + "0xc9127b7f6629ee13fc3f60bc2f4467a20745a762": { + "balance": "0x37c9aa4e7ce421d8000" }, - "7306de0e288b56cfdf987ef0d3cc29660793f6dd": { - "balance": "508060000000000000000" + "0x7306de0e288b56cfdf987ef0d3cc29660793f6dd": { + "balance": "0x1b8abfb62ec8f60000" }, - "2aa192777ca5b978b6b2c2ff800ac1860f753f47": { - "balance": "335000000000000000000" + "0x2aa192777ca5b978b6b2c2ff800ac1860f753f47": { + "balance": "0x12290f15180bdc0000" }, - "55da9dcdca61cbfe1f133c7bcefc867b9c8122f9": { - "balance": "880000000000000000000" + "0x55da9dcdca61cbfe1f133c7bcefc867b9c8122f9": { + "balance": "0x2fb474098f67c00000" }, - "cdd9efac4d6d60bd71d95585dce5d59705c13564": { - "balance": "100000000000000000000" + "0xcdd9efac4d6d60bd71d95585dce5d59705c13564": { + "balance": "0x56bc75e2d63100000" }, - "ad8e48a377695de014363a523a28b1a40c78f208": { - "balance": "1000000000000000000000" + "0xad8e48a377695de014363a523a28b1a40c78f208": { + "balance": "0x3635c9adc5dea00000" }, - "252b6555afdc80f2d96d972d17db84ea5ad521ac": { - "balance": "7880000000000000000000" + "0x252b6555afdc80f2d96d972d17db84ea5ad521ac": { + "balance": "0x1ab2cf7c9f87e200000" }, - "60ab71cd26ea6d6e59a7a0f627ee079c885ebbf6": { - "balance": "26740000000000000000" + "0x60ab71cd26ea6d6e59a7a0f627ee079c885ebbf6": { + "balance": "0x1731790534df20000" }, - "f40b134fea22c6b29c8457f49f000f9cda789adb": { - "balance": "600000000000000000000" + "0xf40b134fea22c6b29c8457f49f000f9cda789adb": { + "balance": "0x2086ac351052600000" }, - "85a2f6ea94d05e8c1d9ae2f4910338a358e98ded": { - "balance": "2000000000000000000000" + "0x85a2f6ea94d05e8c1d9ae2f4910338a358e98ded": { + "balance": "0x6c6b935b8bbd400000" }, - "ae13a08511110f32e53be4127845c843a1a57c7b": { - "balance": "500000000000000000000" + "0xae13a08511110f32e53be4127845c843a1a57c7b": { + "balance": "0x1b1ae4d6e2ef500000" }, - "40db1ba585ce34531edec5494849391381e6ccd3": { - "balance": "1790000000000000000000" + "0x40db1ba585ce34531edec5494849391381e6ccd3": { + "balance": "0x61093d7c2c6d380000" }, - "0c5589a7a89b9ad15b02751930415948a875fbef": { - "balance": "126000000000000000000" + "0x0c5589a7a89b9ad15b02751930415948a875fbef": { + "balance": "0x6d499ec6c63380000" }, - "89054430dcdc28ac15fa635ef87c105e602bf70c": { - "balance": "108000000000000000000" + "0x89054430dcdc28ac15fa635ef87c105e602bf70c": { + "balance": "0x5dacd13ca9e300000" }, - "6c882c27732cef5c7c13a686f0a2ea77555ac289": { - "balance": "100000000000000000000000" + "0x6c882c27732cef5c7c13a686f0a2ea77555ac289": { + "balance": "0x152d02c7e14af6800000" }, - "de374299c1d07d79537385190f442ef9ca24061f": { - "balance": "133700000000000000000" + "0xde374299c1d07d79537385190f442ef9ca24061f": { + "balance": "0x73f75d1a085ba0000" }, - "b146a0b925553cf06fcaf54a1b4dfea621290757": { - "balance": "2000200000000000000000" + "0xb146a0b925553cf06fcaf54a1b4dfea621290757": { + "balance": "0x6c6e59e67c78540000" }, - "09ae49e37f121df5dc158cfde806f173a06b0c7f": { - "balance": "3988000000000000000000" + "0x09ae49e37f121df5dc158cfde806f173a06b0c7f": { + "balance": "0xd8309e26aba1d00000" }, - "b758896f1baa864f17ebed16d953886fee68aae6": { - "balance": "1000000000000000000000" + "0xb758896f1baa864f17ebed16d953886fee68aae6": { + "balance": "0x3635c9adc5dea00000" }, - "30730466b8eb6dc90d5496aa76a3472d7dbe0bbe": { - "balance": "1999800000000000000000" + "0x30730466b8eb6dc90d5496aa76a3472d7dbe0bbe": { + "balance": "0x6c68ccd09b022c0000" }, - "fc02734033e57f70517e0afc7ee62461f06fad8e": { - "balance": "394000000000000000000" + "0xfc02734033e57f70517e0afc7ee62461f06fad8e": { + "balance": "0x155bd9307f9fe80000" }, - "a9b2d2e0494eab18e07d37bbb856d80e80f84cd3": { - "balance": "10000000000000000000000" + "0xa9b2d2e0494eab18e07d37bbb856d80e80f84cd3": { + "balance": "0x21e19e0c9bab2400000" }, - "95278b08dee7c0f2c8c0f722f9fcbbb9a5241fda": { - "balance": "2408672000000000000000" + "0x95278b08dee7c0f2c8c0f722f9fcbbb9a5241fda": { + "balance": "0x829309f64f0db00000" }, - "dab6bcdb83cf24a0ae1cb21b3b5b83c2f3824927": { - "balance": "50000000000000000000000" + "0xdab6bcdb83cf24a0ae1cb21b3b5b83c2f3824927": { + "balance": "0xa968163f0a57b400000" }, - "94439ca9cc169a79d4a09cae5e67764a6f871a21": { - "balance": "240000000000000000000" + "0x94439ca9cc169a79d4a09cae5e67764a6f871a21": { + "balance": "0xd02ab486cedc00000" }, - "e06c29a81517e0d487b67fb0b6aabc4f57368388": { - "balance": "401100000000000000000" + "0xe06c29a81517e0d487b67fb0b6aabc4f57368388": { + "balance": "0x15be6174e1912e0000" }, - "458e3cc99e947844a18e6a42918fef7e7f5f5eb3": { - "balance": "36400000000000000000000" + "0x458e3cc99e947844a18e6a42918fef7e7f5f5eb3": { + "balance": "0x7b53f79e888dac00000" }, - "0a9804137803ba6868d93a55f9985fcd540451e4": { - "balance": "13370000000000000000" + "0x0a9804137803ba6868d93a55f9985fcd540451e4": { + "balance": "0xb98bc829a6f90000" }, - "40630024bd2c58d248edd8465617b2bf1647da0e": { - "balance": "1000000000000000000000" + "0x40630024bd2c58d248edd8465617b2bf1647da0e": { + "balance": "0x3635c9adc5dea00000" }, - "15224ad1c0face46f9f556e4774a3025ad06bd52": { - "balance": "13370000000000000000" + "0x15224ad1c0face46f9f556e4774a3025ad06bd52": { + "balance": "0xb98bc829a6f90000" }, - "2e2810dee44ae4dff3d86342ab126657d653c336": { - "balance": "200000000000000000000" + "0x2e2810dee44ae4dff3d86342ab126657d653c336": { + "balance": "0xad78ebc5ac6200000" }, - "48a30de1c919d3fd3180e97d5f2b2a9dbd964d2d": { - "balance": "44000000000000000000" + "0x48a30de1c919d3fd3180e97d5f2b2a9dbd964d2d": { + "balance": "0x2629f66e0c5300000" }, - "46a30b8a808931217445c3f5a93e882c0345b426": { - "balance": "250019000000000000000" + "0x46a30b8a808931217445c3f5a93e882c0345b426": { + "balance": "0xd8db5ebd7b2638000" }, - "455396a4bbd9bae8af9fb7c4d64d471db9c24505": { - "balance": "161000000000000000000" + "0x455396a4bbd9bae8af9fb7c4d64d471db9c24505": { + "balance": "0x8ba52e6fc45e40000" }, - "edfda2d5db98f9380714664d54b4ee971a1cae03": { - "balance": "40044000000000000000" + "0xedfda2d5db98f9380714664d54b4ee971a1cae03": { + "balance": "0x22bb8ddd679be0000" }, - "f5eadcd2d1b8657a121f33c458a8b13e76b65526": { - "balance": "249828000000000000000" + "0xf5eadcd2d1b8657a121f33c458a8b13e76b65526": { + "balance": "0xd8b0f5a5ac24a0000" }, - "90e7070f4d033fe6910c9efe5a278e1fc6234def": { - "balance": "100392000000000000000" + "0x90e7070f4d033fe6910c9efe5a278e1fc6234def": { + "balance": "0x571380819b3040000" }, - "d55508adbbbe9be81b80f97a6ea89add68da674f": { - "balance": "2000000000000000000000" + "0xd55508adbbbe9be81b80f97a6ea89add68da674f": { + "balance": "0x6c6b935b8bbd400000" }, - "66925de3e43f4b41bf9dadde27d5488ef569ea0d": { - "balance": "39400000000000000000" + "0x66925de3e43f4b41bf9dadde27d5488ef569ea0d": { + "balance": "0x222c8eb3ff6640000" }, - "b7c077946674ba9341fb4c747a5d50f5d2da6415": { - "balance": "1000000000000000000000" + "0xb7c077946674ba9341fb4c747a5d50f5d2da6415": { + "balance": "0x3635c9adc5dea00000" }, - "c52d1a0c73c2a1be84915185f8b34faa0adf1de3": { - "balance": "1400001000000000000000" + "0xc52d1a0c73c2a1be84915185f8b34faa0adf1de3": { + "balance": "0x4be4eab3fa0fa68000" }, - "79b8aad879dd30567e8778d2d231c8f37ab8734e": { - "balance": "2000000000000000000000" + "0x79b8aad879dd30567e8778d2d231c8f37ab8734e": { + "balance": "0x6c6b935b8bbd400000" }, - "3aae4872fd9093cbcad1406f1e8078bab50359e2": { - "balance": "39400000000000000000" + "0x3aae4872fd9093cbcad1406f1e8078bab50359e2": { + "balance": "0x222c8eb3ff6640000" }, - "b2e9d76bf50fc36bf7d3944b63e9ca889b699968": { - "balance": "2660000000000000000000" + "0xb2e9d76bf50fc36bf7d3944b63e9ca889b699968": { + "balance": "0x9032ea62b74b100000" }, - "405f596b94b947344c033ce2dcbff12e25b79784": { - "balance": "2000000000000000000000" + "0x405f596b94b947344c033ce2dcbff12e25b79784": { + "balance": "0x6c6b935b8bbd400000" }, - "232cb1cd49993c144a3f88b3611e233569a86bd6": { - "balance": "15576000000000000000000" + "0x232cb1cd49993c144a3f88b3611e233569a86bd6": { + "balance": "0x34c606c42d0ac600000" }, - "9e232c08c14dc1a6ed0b8a3b2868977ba5c17d10": { - "balance": "20000000000000000000" + "0x9e232c08c14dc1a6ed0b8a3b2868977ba5c17d10": { + "balance": "0x1158e460913d00000" }, - "095270cc42141dd998ad2862dbd1fe9b44e7e650": { - "balance": "1200000000000000000000" + "0x095270cc42141dd998ad2862dbd1fe9b44e7e650": { + "balance": "0x410d586a20a4c00000" }, - "15d99468507aa0413fb60dca2adc7f569cb36b54": { - "balance": "2000000000000000000000" + "0x15d99468507aa0413fb60dca2adc7f569cb36b54": { + "balance": "0x6c6b935b8bbd400000" }, - "04852732b4c652f6c2e58eb36587e60a62da14db": { - "balance": "20000000000000000000000" + "0x04852732b4c652f6c2e58eb36587e60a62da14db": { + "balance": "0x43c33c1937564800000" }, - "ecf24cdd7c22928c441e694de4aa31b0fab59778": { - "balance": "600000000000000000000" + "0xecf24cdd7c22928c441e694de4aa31b0fab59778": { + "balance": "0x2086ac351052600000" }, - "512b91bbfaa9e581ef683fc90d9db22a8f49f48b": { - "balance": "310000000000000000000000" + "0x512b91bbfaa9e581ef683fc90d9db22a8f49f48b": { + "balance": "0x41a522386d9b95c00000" }, - "a88577a073fbaf33c4cd202e00ea70ef711b4006": { - "balance": "2000000000000000000000" + "0xa88577a073fbaf33c4cd202e00ea70ef711b4006": { + "balance": "0x6c6b935b8bbd400000" }, - "00acc6f082a442828764d11f58d6894ae408f073": { - "balance": "60000000000000000000000" + "0x00acc6f082a442828764d11f58d6894ae408f073": { + "balance": "0xcb49b44ba602d800000" }, - "0355bcacbd21441e95adeedc30c17218c8a408ce": { - "balance": "400000000000000000000" + "0x0355bcacbd21441e95adeedc30c17218c8a408ce": { + "balance": "0x15af1d78b58c400000" }, - "4e73cf2379f124860f73d6d91bf59acc5cfc845b": { - "balance": "40110000000000000000" + "0x4e73cf2379f124860f73d6d91bf59acc5cfc845b": { + "balance": "0x22ca3587cf4eb0000" }, - "2a742b8910941e0932830a1d9692cfd28494cf40": { - "balance": "499986000000000000000" + "0x2a742b8910941e0932830a1d9692cfd28494cf40": { + "balance": "0x1b1ab319f5ec750000" }, - "41a8c2830081b102df6e0131657c07ab635b54ce": { - "balance": "1999944000000000000000" + "0x41a8c2830081b102df6e0131657c07ab635b54ce": { + "balance": "0x6c6acc67d7b1d40000" }, - "b63064bd3355e6e07e2d377024125a33776c4afa": { - "balance": "38800000000000000000000" + "0xb63064bd3355e6e07e2d377024125a33776c4afa": { + "balance": "0x8375a2abcca24400000" }, - "1a25e1c5bc7e5f50ec16f8885f210ea1b938800e": { - "balance": "4000000000000000000000" + "0x1a25e1c5bc7e5f50ec16f8885f210ea1b938800e": { + "balance": "0xd8d726b7177a800000" }, - "09b59b8698a7fbd3d2f8c73a008988de3e406b2b": { - "balance": "40000000000000000000000" + "0x09b59b8698a7fbd3d2f8c73a008988de3e406b2b": { + "balance": "0x878678326eac9000000" }, - "c555b93156f09101233c6f7cf6eb3c4f196d3346": { - "balance": "3000000000000000000000" + "0xc555b93156f09101233c6f7cf6eb3c4f196d3346": { + "balance": "0xa2a15d09519be00000" }, - "12f32c0a1f2daab676fe69abd9e018352d4ccd45": { - "balance": "50000000000000000000" + "0x12f32c0a1f2daab676fe69abd9e018352d4ccd45": { + "balance": "0x2b5e3af16b1880000" }, - "5956b28ec7890b76fc061a1feb52d82ae81fb635": { - "balance": "2000000000000000000000" + "0x5956b28ec7890b76fc061a1feb52d82ae81fb635": { + "balance": "0x6c6b935b8bbd400000" }, - "c739259e7f85f2659bef5f609ed86b3d596c201e": { - "balance": "200000000000000000000" + "0xc739259e7f85f2659bef5f609ed86b3d596c201e": { + "balance": "0xad78ebc5ac6200000" }, - "fae92c1370e9e1859a5df83b56d0f586aa3b404c": { - "balance": "106480000000000000000" + "0xfae92c1370e9e1859a5df83b56d0f586aa3b404c": { + "balance": "0x5c5b4f3d843980000" }, - "d5a7bec332adde18b3104b5792546aa59b879b52": { - "balance": "2000000000000000000000" + "0xd5a7bec332adde18b3104b5792546aa59b879b52": { + "balance": "0x6c6b935b8bbd400000" }, - "4f88dfd01091a45a9e2676021e64286cd36b8d34": { - "balance": "1000000000000000000000" + "0x4f88dfd01091a45a9e2676021e64286cd36b8d34": { + "balance": "0x3635c9adc5dea00000" }, - "102c477d69aadba9a0b0f62b7459e17fbb1c1561": { - "balance": "2000000000000000000000" + "0x102c477d69aadba9a0b0f62b7459e17fbb1c1561": { + "balance": "0x6c6b935b8bbd400000" }, - "34272d5e7574315dcae9abbd317bac90289d4765": { - "balance": "1820000000000000000000" + "0x34272d5e7574315dcae9abbd317bac90289d4765": { + "balance": "0x62a992e53a0af00000" }, - "fe615d975c0887e0c9113ec7298420a793af8b96": { - "balance": "8000000000000000000000" + "0xfe615d975c0887e0c9113ec7298420a793af8b96": { + "balance": "0x1b1ae4d6e2ef5000000" }, - "487adf7d70a6740f8d51cbdd68bb3f91c4a5ce68": { - "balance": "66850000000000000000" + "0x487adf7d70a6740f8d51cbdd68bb3f91c4a5ce68": { + "balance": "0x39fbae8d042dd0000" }, - "7e5d9993104e4cb545e179a2a3f971f744f98482": { - "balance": "2000000000000000000000" + "0x7e5d9993104e4cb545e179a2a3f971f744f98482": { + "balance": "0x6c6b935b8bbd400000" }, - "5529830a61c1f13c197e550beddfd6bd195c9d02": { - "balance": "10000000000000000000000" + "0x5529830a61c1f13c197e550beddfd6bd195c9d02": { + "balance": "0x21e19e0c9bab2400000" }, - "2f282abbb6d4a3c3cd3b5ca812f7643e80305f06": { - "balance": "1850000000000000000000" + "0x2f282abbb6d4a3c3cd3b5ca812f7643e80305f06": { + "balance": "0x6449e84e47a8a80000" }, - "7352586d021ad0cf77e0e928404a59f374ff4582": { - "balance": "3400000000000000000000" + "0x7352586d021ad0cf77e0e928404a59f374ff4582": { + "balance": "0xb8507a820728200000" }, - "03f7b92008813ae0a676eb212814afab35221069": { - "balance": "2000000000000000000000" + "0x03f7b92008813ae0a676eb212814afab35221069": { + "balance": "0x6c6b935b8bbd400000" }, - "056686078fb6bcf9ba0a8a8dc63a906f5feac0ea": { - "balance": "499800000000000000000" + "0x056686078fb6bcf9ba0a8a8dc63a906f5feac0ea": { + "balance": "0x1b181e4bf2343c0000" }, - "8063379a7bf2cb923a84c5093e68dac7f75481c5": { - "balance": "322102000000000000000" + "0x8063379a7bf2cb923a84c5093e68dac7f75481c5": { + "balance": "0x1176102e6e32df0000" }, - "200264a09f8c68e3e6629795280f56254f8640d0": { - "balance": "20000000000000000000" + "0x200264a09f8c68e3e6629795280f56254f8640d0": { + "balance": "0x1158e460913d00000" }, - "5a891155f50e42074374c739baadf7df2651153a": { - "balance": "4775000000000000000000" + "0x5a891155f50e42074374c739baadf7df2651153a": { + "balance": "0x102da6fd0f73a3c0000" }, - "80022a1207e910911fc92849b069ab0cdad043d3": { - "balance": "13370000000000000000" + "0x80022a1207e910911fc92849b069ab0cdad043d3": { + "balance": "0xb98bc829a6f90000" }, - "e781ec732d401202bb9bd13860910dd6c29ac0b6": { - "balance": "1240000000000000000000" + "0xe781ec732d401202bb9bd13860910dd6c29ac0b6": { + "balance": "0x433874f632cc600000" }, - "4c2f1afef7c5868c44832fc77cb03b55f89e6d6e": { - "balance": "20000000000000000000000" + "0x4c2f1afef7c5868c44832fc77cb03b55f89e6d6e": { + "balance": "0x43c33c1937564800000" }, - "34ff582952ff24458f7b13d51f0b4f987022c1fe": { - "balance": "2804400000000000000000" + "0x34ff582952ff24458f7b13d51f0b4f987022c1fe": { + "balance": "0x9806de3da6e9780000" }, - "73914b22fc2f131584247d82be4fecbf978ad4ba": { - "balance": "2000000000000000000000" + "0x73914b22fc2f131584247d82be4fecbf978ad4ba": { + "balance": "0x6c6b935b8bbd400000" }, - "562be95aba17c5371fe2ba828799b1f55d2177d6": { - "balance": "38200000000000000000000" + "0x562be95aba17c5371fe2ba828799b1f55d2177d6": { + "balance": "0x816d37e87b9d1e00000" }, - "648f5bd2a2ae8902db37847d1cb0db9390b06248": { - "balance": "7769965000000000000000" + "0x648f5bd2a2ae8902db37847d1cb0db9390b06248": { + "balance": "0x1a535ecf0760a048000" }, - "6a9758743b603eea3aa0524b42889723c4153948": { - "balance": "10100000000000000000000" + "0x6a9758743b603eea3aa0524b42889723c4153948": { + "balance": "0x22385a827e815500000" }, - "5985c59a449dfc5da787d8244e746c6d70caa55f": { - "balance": "100000000000000000000" + "0x5985c59a449dfc5da787d8244e746c6d70caa55f": { + "balance": "0x56bc75e2d63100000" }, - "56ee197f4bbf9f1b0662e41c2bbd9aa1f799e846": { - "balance": "1000000000000000000000" + "0x56ee197f4bbf9f1b0662e41c2bbd9aa1f799e846": { + "balance": "0x3635c9adc5dea00000" }, - "d47c242edffea091bc54d57df5d1fdb93101476c": { - "balance": "2914000000000000000000" + "0xd47c242edffea091bc54d57df5d1fdb93101476c": { + "balance": "0x9df7dfa8f760480000" }, - "d482e7f68e41f238fe517829de15477fe0f6dd1d": { - "balance": "500000000000000000000" + "0xd482e7f68e41f238fe517829de15477fe0f6dd1d": { + "balance": "0x1b1ae4d6e2ef500000" }, - "05bf4fcfe772e45b826443852e6c351350ce72a2": { - "balance": "8000000000000000000000" + "0x05bf4fcfe772e45b826443852e6c351350ce72a2": { + "balance": "0x1b1ae4d6e2ef5000000" }, - "f10462e58fcc07f39584a187639451167e859201": { - "balance": "169830000000000000000" + "0xf10462e58fcc07f39584a187639451167e859201": { + "balance": "0x934dd5d33bc970000" }, - "1aa27699cada8dc3a76f7933aa66c71919040e88": { - "balance": "400000000000000000000" + "0x1aa27699cada8dc3a76f7933aa66c71919040e88": { + "balance": "0x15af1d78b58c400000" }, - "24046b91da9b61b629cb8b8ec0c351a07e0703e4": { - "balance": "2000000000000000000000" + "0x24046b91da9b61b629cb8b8ec0c351a07e0703e4": { + "balance": "0x6c6b935b8bbd400000" }, - "41033c1b6d05e1ca89b0948fc64453fbe87ab25e": { - "balance": "1337000000000000000000" + "0x41033c1b6d05e1ca89b0948fc64453fbe87ab25e": { + "balance": "0x487a9a304539440000" }, - "369822f5578b40dd1f4471706b22cd971352da6b": { - "balance": "346000000000000000000" + "0x369822f5578b40dd1f4471706b22cd971352da6b": { + "balance": "0x12c1b6eed03d280000" }, - "044e853144e3364495e7a69fa1d46abea3ac0964": { - "balance": "49225000000000000000" + "0x044e853144e3364495e7a69fa1d46abea3ac0964": { + "balance": "0x2ab2254b1dc9a8000" }, - "abf728cf9312f22128024e7046c251f5dc5901ed": { - "balance": "29550000000000000000000" + "0xabf728cf9312f22128024e7046c251f5dc5901ed": { + "balance": "0x641e8a13563d8f80000" }, - "d781f7fc09184611568570b4986e2c72872b7ed0": { - "balance": "20002000000000000000" + "0xd781f7fc09184611568570b4986e2c72872b7ed0": { + "balance": "0x1159561065d5d0000" }, - "6bb4a661a33a71d424d49bb5df28622ed4dffcf4": { - "balance": "630400000000000000000" + "0x6bb4a661a33a71d424d49bb5df28622ed4dffcf4": { + "balance": "0x222c8eb3ff66400000" }, - "fef3b3dead1a6926d49aa32b12c22af54d9ff985": { - "balance": "1000000000000000000000" + "0xfef3b3dead1a6926d49aa32b12c22af54d9ff985": { + "balance": "0x3635c9adc5dea00000" }, - "fa410971ad229c3036f41acf852f2ac999281950": { - "balance": "3997400000000000000000" + "0xfa410971ad229c3036f41acf852f2ac999281950": { + "balance": "0xd8b311a8ddfa7c0000" }, - "de176b5284bcee3a838ba24f67fc7cbf67d78ef6": { - "balance": "37600000000000000000" + "0xde176b5284bcee3a838ba24f67fc7cbf67d78ef6": { + "balance": "0x209ce08c962b00000" }, - "23120046f6832102a752a76656691c863e17e59c": { - "balance": "329800000000000000000" + "0x23120046f6832102a752a76656691c863e17e59c": { + "balance": "0x11e0e4f8a50bd40000" }, - "a2f472fe4f22b77db489219ea4023d11582a9329": { - "balance": "40000000000000000000000" + "0xa2f472fe4f22b77db489219ea4023d11582a9329": { + "balance": "0x878678326eac9000000" }, - "f0d64cf9df09741133d170485fd24b005011d520": { - "balance": "498680000000000000000" + "0xf0d64cf9df09741133d170485fd24b005011d520": { + "balance": "0x1b089341e14fcc0000" }, - "8b505e2871f7deb7a63895208e8227dcaa1bff05": { - "balance": "61216600000000000000000" + "0x8b505e2871f7deb7a63895208e8227dcaa1bff05": { + "balance": "0xcf68efc308d79bc0000" }, - "481e3a91bfdc2f1c8428a0119d03a41601417e1c": { - "balance": "1000000000000000000000" + "0x481e3a91bfdc2f1c8428a0119d03a41601417e1c": { + "balance": "0x3635c9adc5dea00000" }, - "bc69a0d2a31c3dbf7a9122116901b2bdfe9802a0": { - "balance": "3000000000000000000000" + "0xbc69a0d2a31c3dbf7a9122116901b2bdfe9802a0": { + "balance": "0xa2a15d09519be00000" }, - "20a81680e465f88790f0074f60b4f35f5d1e6aa5": { - "balance": "1279851000000000000000" + "0x20a81680e465f88790f0074f60b4f35f5d1e6aa5": { + "balance": "0x456180278f0c778000" }, - "194a6bb302b8aba7a5b579df93e0df1574967625": { - "balance": "500000000000000000000" + "0x194a6bb302b8aba7a5b579df93e0df1574967625": { + "balance": "0x1b1ae4d6e2ef500000" }, - "264cc8086a8710f91b21720905912cd7964ae868": { - "balance": "26740000000000000000" + "0x264cc8086a8710f91b21720905912cd7964ae868": { + "balance": "0x1731790534df20000" }, - "24aca08d5be85ebb9f3132dfc1b620824edfedf9": { - "balance": "18200000000000000000" + "0x24aca08d5be85ebb9f3132dfc1b620824edfedf9": { + "balance": "0xfc936392801c0000" }, - "1851a063ccdb30549077f1d139e72de7971197d5": { - "balance": "2000000000000000000000" + "0x1851a063ccdb30549077f1d139e72de7971197d5": { + "balance": "0x6c6b935b8bbd400000" }, - "f64a4ac8d540a9289c68d960d5fb7cc45a77831c": { - "balance": "2000000000000000000000" + "0xf64a4ac8d540a9289c68d960d5fb7cc45a77831c": { + "balance": "0x6c6b935b8bbd400000" }, - "c3db5657bb72f10d58f231fddf11980aff678693": { - "balance": "5910000000000000000000" + "0xc3db5657bb72f10d58f231fddf11980aff678693": { + "balance": "0x14061b9d77a5e980000" }, - "b46ace865e2c50ea4698d216ab455dff5a11cd72": { - "balance": "1000000000000000000000" + "0xb46ace865e2c50ea4698d216ab455dff5a11cd72": { + "balance": "0x3635c9adc5dea00000" }, - "9faea13c733412dc4b490402bfef27a0397a9bc3": { - "balance": "310000000000000000000" + "0x9faea13c733412dc4b490402bfef27a0397a9bc3": { + "balance": "0x10ce1d3d8cb3180000" }, - "b40594c4f3664ef849cca6227b8a25aa690925ee": { - "balance": "4000000000000000000000" + "0xb40594c4f3664ef849cca6227b8a25aa690925ee": { + "balance": "0xd8d726b7177a800000" }, - "672fa0a019088db3166f6119438d07a99f8ba224": { - "balance": "13370000000000000000000" + "0x672fa0a019088db3166f6119438d07a99f8ba224": { + "balance": "0x2d4ca05e2b43ca80000" }, - "c1ffad07db96138c4b2a530ec1c7de29b8a0592c": { - "balance": "17600000000000000000" + "0xc1ffad07db96138c4b2a530ec1c7de29b8a0592c": { + "balance": "0xf43fc2c04ee00000" }, - "87af25d3f6f8eea15313d5fe4557e810c524c083": { - "balance": "19700000000000000000000" + "0x87af25d3f6f8eea15313d5fe4557e810c524c083": { + "balance": "0x42bf06b78ed3b500000" }, - "d6a22e598dabd38ea6e958bd79d48ddd9604f4df": { - "balance": "1000000000000000000000" + "0xd6a22e598dabd38ea6e958bd79d48ddd9604f4df": { + "balance": "0x3635c9adc5dea00000" }, - "a2a435de44a01bd0ecb29e44e47644e46a0cdffb": { - "balance": "500171000000000000000" + "0xa2a435de44a01bd0ecb29e44e47644e46a0cdffb": { + "balance": "0x1b1d445a7affe78000" }, - "549b47649cfad993e4064d2636a4baa0623305cc": { - "balance": "601650000000000000000" + "0x549b47649cfad993e4064d2636a4baa0623305cc": { + "balance": "0x209d922f5259c50000" }, - "1321b605026f4ffb296a3e0edcb390c9c85608b7": { - "balance": "2000000000000000000000" + "0x1321b605026f4ffb296a3e0edcb390c9c85608b7": { + "balance": "0x6c6b935b8bbd400000" }, - "b4bf24cb83686bc469869fefb044b909716993e2": { - "balance": "2000000000000000000000" + "0xb4bf24cb83686bc469869fefb044b909716993e2": { + "balance": "0x6c6b935b8bbd400000" }, - "12d91a92d74fc861a729646db192a125b79f5374": { - "balance": "18200000000000000000" + "0x12d91a92d74fc861a729646db192a125b79f5374": { + "balance": "0xfc936392801c0000" }, - "7f0662b410298c99f311d3a1454a1eedba2fea76": { - "balance": "200000000000000000000" + "0x7f0662b410298c99f311d3a1454a1eedba2fea76": { + "balance": "0xad78ebc5ac6200000" }, - "83908aa7478a6d1c9b9b0281148f8f9f242b9fdc": { - "balance": "2000000000000000000000" + "0x83908aa7478a6d1c9b9b0281148f8f9f242b9fdc": { + "balance": "0x6c6b935b8bbd400000" }, - "c1438c99dd51ef1ca8386af0a317e9b041457888": { - "balance": "223500000000000000000" + "0xc1438c99dd51ef1ca8386af0a317e9b041457888": { + "balance": "0xc1daf81d8a3ce0000" }, - "545bb070e781172eb1608af7fc2895d6cb87197e": { - "balance": "2244000000000000000000" + "0x545bb070e781172eb1608af7fc2895d6cb87197e": { + "balance": "0x79a5c17ec748900000" }, - "161d26ef6759ba5b9f20fdcd66f16132c352415e": { - "balance": "2000000000000000000000" + "0x161d26ef6759ba5b9f20fdcd66f16132c352415e": { + "balance": "0x6c6b935b8bbd400000" }, - "d7f370d4bed9d57c6f49c999de729ee569d3f4e4": { - "balance": "200000000000000000000" + "0xd7f370d4bed9d57c6f49c999de729ee569d3f4e4": { + "balance": "0xad78ebc5ac6200000" }, - "90e35aabb2deef408bb9b5acef714457dfde6272": { - "balance": "100076000000000000000" + "0x90e35aabb2deef408bb9b5acef714457dfde6272": { + "balance": "0x56cd55fc64dfe0000" }, - "0fcfc4065008cfd323305f6286b57a4dd7eee23b": { - "balance": "20000000000000000000000" + "0x0fcfc4065008cfd323305f6286b57a4dd7eee23b": { + "balance": "0x43c33c1937564800000" }, - "cd725d70be97e677e3c8e85c0b26ef31e9955045": { - "balance": "1337000000000000000000" + "0xcd725d70be97e677e3c8e85c0b26ef31e9955045": { + "balance": "0x487a9a304539440000" }, - "dcf6b657266e91a4dae6033ddac15332dd8d2b34": { - "balance": "1760000000000000000000" + "0xdcf6b657266e91a4dae6033ddac15332dd8d2b34": { + "balance": "0x5f68e8131ecf800000" }, - "31f006f3494ed6c16eb92aaf9044fa8abb5fd5a3": { - "balance": "500000000000000000000" + "0x31f006f3494ed6c16eb92aaf9044fa8abb5fd5a3": { + "balance": "0x1b1ae4d6e2ef500000" }, - "cdea386f9d0fd804d02818f237b7d9fa7646d35e": { - "balance": "3012139000000000000000" + "0xcdea386f9d0fd804d02818f237b7d9fa7646d35e": { + "balance": "0xa349d36d80ec578000" }, - "d45b3341e8f15c80329320c3977e3b90e7826a7e": { - "balance": "500000000000000000000" + "0xd45b3341e8f15c80329320c3977e3b90e7826a7e": { + "balance": "0x1b1ae4d6e2ef500000" }, - "0b649da3b96a102cdc6db652a0c07d65b1e443e6": { - "balance": "2000000000000000000000" + "0x0b649da3b96a102cdc6db652a0c07d65b1e443e6": { + "balance": "0x6c6b935b8bbd400000" }, - "0a58fddd71898de773a74fdae45e7bd84ef43646": { - "balance": "20000000000000000000" + "0x0a58fddd71898de773a74fdae45e7bd84ef43646": { + "balance": "0x1158e460913d00000" }, - "0256149f5b5063bea14e15661ffb58f9b459a957": { - "balance": "704000000000000000000" + "0x0256149f5b5063bea14e15661ffb58f9b459a957": { + "balance": "0x2629f66e0c53000000" }, - "4438e880cb2766b0c1ceaec9d2418fceb952a044": { - "balance": "133712000000000000000" + "0x4438e880cb2766b0c1ceaec9d2418fceb952a044": { + "balance": "0x73fa073903f080000" }, - "9ed80eda7f55054db9fb5282451688f26bb374c1": { - "balance": "300000000000000000000" + "0x9ed80eda7f55054db9fb5282451688f26bb374c1": { + "balance": "0x1043561a8829300000" }, - "8dab948ae81da301d972e3f617a912e5a753712e": { - "balance": "400000000000000000000" + "0x8dab948ae81da301d972e3f617a912e5a753712e": { + "balance": "0x15af1d78b58c400000" }, - "5b5d8c8eed6c85ac215661de026676823faa0a0c": { - "balance": "20000000000000000000000" + "0x5b5d8c8eed6c85ac215661de026676823faa0a0c": { + "balance": "0x43c33c1937564800000" }, - "46722a36a01e841d03f780935e917d85d5a67abd": { - "balance": "14900000000000000000" + "0x46722a36a01e841d03f780935e917d85d5a67abd": { + "balance": "0xcec76f0e71520000" }, - "d4b8bdf3df9a51b0b91d16abbea05bb4783c8661": { - "balance": "1000000000000000000000" + "0xd4b8bdf3df9a51b0b91d16abbea05bb4783c8661": { + "balance": "0x3635c9adc5dea00000" }, - "98f6b8e6213dbc9a5581f4cce6655f95252bdb07": { - "balance": "319968000000000000000" + "0x98f6b8e6213dbc9a5581f4cce6655f95252bdb07": { + "balance": "0x115872b0bca4300000" }, - "3599493ce65772cf93e98af1195ec0955dc98002": { - "balance": "1500048000000000000000" + "0x3599493ce65772cf93e98af1195ec0955dc98002": { + "balance": "0x5151590c67b3280000" }, - "ecab5aba5b828de1705381f38bc744b32ba1b437": { - "balance": "940000000000000000000" + "0xecab5aba5b828de1705381f38bc744b32ba1b437": { + "balance": "0x32f51edbaaa3300000" }, - "9a82826d3c29481dcc2bd2950047e8b60486c338": { - "balance": "20000000000000000000000" + "0x9a82826d3c29481dcc2bd2950047e8b60486c338": { + "balance": "0x43c33c1937564800000" }, - "6c474bc66a54780066aa4f512eefa773abf919c7": { - "balance": "94000000000000000000" + "0x6c474bc66a54780066aa4f512eefa773abf919c7": { + "balance": "0x5188315f776b80000" }, - "d5903e9978ee20a38c3f498d63d57f31a39f6a06": { - "balance": "10380000000000000000000" + "0xd5903e9978ee20a38c3f498d63d57f31a39f6a06": { + "balance": "0x232b36ffc672ab00000" }, - "341480cc8cb476f8d01ff30812e7c70e05afaf5d": { - "balance": "2000000000000000000000" + "0x341480cc8cb476f8d01ff30812e7c70e05afaf5d": { + "balance": "0x6c6b935b8bbd400000" }, - "af771039345a343001bc0f8a5923b126b60d509c": { - "balance": "985000000000000000000" + "0xaf771039345a343001bc0f8a5923b126b60d509c": { + "balance": "0x35659ef93f0fc40000" }, - "b5a4679685fa14196c2e9230c8c4e33bffbc10e2": { - "balance": "1400000000000000000000" + "0xb5a4679685fa14196c2e9230c8c4e33bffbc10e2": { + "balance": "0x4be4e7267b6ae00000" }, - "2a400dff8594de7228b4fd15c32322b75bb87da8": { - "balance": "95810000000000000000" + "0x2a400dff8594de7228b4fd15c32322b75bb87da8": { + "balance": "0x531a17f607a2d0000" }, - "a1336dfb96b6bcbe4b3edf3205be5723c90fad52": { - "balance": "5000000000000000000000" + "0xa1336dfb96b6bcbe4b3edf3205be5723c90fad52": { + "balance": "0x10f0cf064dd59200000" }, - "e9b1f1fca3fa47269f21b061c353b7f5e96d905a": { - "balance": "500000000000000000000" + "0xe9b1f1fca3fa47269f21b061c353b7f5e96d905a": { + "balance": "0x1b1ae4d6e2ef500000" }, - "0ee414940487fd24e390378285c5d7b9334d8b65": { - "balance": "2680000000000000000000" + "0x0ee414940487fd24e390378285c5d7b9334d8b65": { + "balance": "0x914878a8c05ee00000" }, - "6ab5b4c41cddb829690c2fda7f20c85e629dd5d5": { - "balance": "1860000000000000000000" + "0x6ab5b4c41cddb829690c2fda7f20c85e629dd5d5": { + "balance": "0x64d4af714c32900000" }, - "dd63042f25ed32884ad26e3ad959eb94ea36bf67": { - "balance": "21340000000000000000000" + "0xdd63042f25ed32884ad26e3ad959eb94ea36bf67": { + "balance": "0x484d7fde7d593f00000" }, - "c0b3f244bca7b7de5b48a53edb9cbeab0b6d88c0": { - "balance": "5820000000000000000000" + "0xc0b3f244bca7b7de5b48a53edb9cbeab0b6d88c0": { + "balance": "0x13b80b99c5185700000" }, - "ed1a5c43c574d4e934299b24f1472cdc9fd6f010": { - "balance": "200000000000000000000" + "0xed1a5c43c574d4e934299b24f1472cdc9fd6f010": { + "balance": "0xad78ebc5ac6200000" }, - "b2d9ab9664bcf6df203c346fc692fd9cbab9205e": { - "balance": "438000000000000000000" + "0xb2d9ab9664bcf6df203c346fc692fd9cbab9205e": { + "balance": "0x17be78976065180000" }, - "ede8c2cb876fbe8a4cca8290361a7ea01a69fdf8": { - "balance": "7813091000000000000000" + "0xede8c2cb876fbe8a4cca8290361a7ea01a69fdf8": { + "balance": "0x1a78c6b44f841838000" }, - "6a7c252042e7468a3ff773d6450bba85efa26391": { - "balance": "500000000000000000000" + "0x6a7c252042e7468a3ff773d6450bba85efa26391": { + "balance": "0x1b1ae4d6e2ef500000" }, - "a106e6923edd53ca8ed650968a9108d6ccfd9670": { - "balance": "9499935000000000000000" + "0xa106e6923edd53ca8ed650968a9108d6ccfd9670": { + "balance": "0x202fe1505afec898000" }, - "031e25db516b0f099faebfd94f890cf96660836b": { - "balance": "2000000000000000000000" + "0x031e25db516b0f099faebfd94f890cf96660836b": { + "balance": "0x6c6b935b8bbd400000" }, - "7fdbc3a844e40d96b2f3a635322e6065f4ca0e84": { - "balance": "2000000000000000000000" + "0x7fdbc3a844e40d96b2f3a635322e6065f4ca0e84": { + "balance": "0x6c6b935b8bbd400000" }, - "df47a61b72535193c561cccc75c3f3ce0804a20e": { - "balance": "398000000000000000000" + "0xdf47a61b72535193c561cccc75c3f3ce0804a20e": { + "balance": "0x15935c0b4e3d780000" }, - "ed31305c319f9273d3936d8f5b2f71e9b1b22963": { - "balance": "100000000000000000000" + "0xed31305c319f9273d3936d8f5b2f71e9b1b22963": { + "balance": "0x56bc75e2d63100000" }, - "a6b2d573297360102c07a18fc21df2e7499ff4eb": { - "balance": "4011000000000000000000" + "0xa6b2d573297360102c07a18fc21df2e7499ff4eb": { + "balance": "0xd96fce90cfabcc0000" }, - "f68464bf64f2411356e4d3250efefe5c50a5f65b": { - "balance": "20000000000000000000" + "0xf68464bf64f2411356e4d3250efefe5c50a5f65b": { + "balance": "0x1158e460913d00000" }, - "927cc2bfda0e088d02eff70b38b08aa53cc30941": { - "balance": "1852700000000000000000" + "0x927cc2bfda0e088d02eff70b38b08aa53cc30941": { + "balance": "0x646f60a1f986360000" }, - "41cb9896445f70a10a14215296daf614e32cf4d5": { - "balance": "1910000000000000000000" + "0x41cb9896445f70a10a14215296daf614e32cf4d5": { + "balance": "0x678a932062e4180000" }, - "3ad70243d88bf0400f57c8c1fd57811848af162a": { - "balance": "860000000000000000000" + "0x3ad70243d88bf0400f57c8c1fd57811848af162a": { + "balance": "0x2e9ee5c38653f00000" }, - "63b9754d75d12d384039ec69063c0be210d5e0e3": { - "balance": "2694055000000000000000" + "0x63b9754d75d12d384039ec69063c0be210d5e0e3": { + "balance": "0x920b860cc8ecfd8000" }, - "ad1799aad7602b4540cd832f9db5f11150f1687a": { - "balance": "2000000000000000000000" + "0xad1799aad7602b4540cd832f9db5f11150f1687a": { + "balance": "0x6c6b935b8bbd400000" }, - "a8b65ba3171a3f77a6350b9daf1f8d55b4d201eb": { - "balance": "745000000000000000000" + "0xa8b65ba3171a3f77a6350b9daf1f8d55b4d201eb": { + "balance": "0x2862f3b0d222040000" }, - "ad0a4ae478e9636e88c604f242cf5439c6d45639": { - "balance": "3520000000000000000000" + "0xad0a4ae478e9636e88c604f242cf5439c6d45639": { + "balance": "0xbed1d0263d9f000000" }, - "4cd0b0a6436362595ceade052ebc9b929fb6c6c0": { - "balance": "2000000000000000000000" + "0x4cd0b0a6436362595ceade052ebc9b929fb6c6c0": { + "balance": "0x6c6b935b8bbd400000" }, - "c1d4af38e9ba799040894849b8a8219375f1ac78": { - "balance": "20000000000000000000000" + "0xc1d4af38e9ba799040894849b8a8219375f1ac78": { + "balance": "0x43c33c1937564800000" }, - "49ddee902e1d0c99d1b11af3cc8a96f78e4dcf1a": { - "balance": "199358000000000000000" + "0x49ddee902e1d0c99d1b11af3cc8a96f78e4dcf1a": { + "balance": "0xacea5e4c18c530000" }, - "ae842210f44d14c4a4db91fc9d3b3b50014f7bf7": { - "balance": "4000000000000000000000" + "0xae842210f44d14c4a4db91fc9d3b3b50014f7bf7": { + "balance": "0xd8d726b7177a800000" }, - "10a1c42dc1ba746986b985a522a73c93eae64c63": { - "balance": "1000000000000000000000" + "0x10a1c42dc1ba746986b985a522a73c93eae64c63": { + "balance": "0x3635c9adc5dea00000" }, - "5103bc09933e9921fd53dc536f11f05d0d47107d": { - "balance": "4000000000000000000000" + "0x5103bc09933e9921fd53dc536f11f05d0d47107d": { + "balance": "0xd8d726b7177a800000" }, - "c88eec54d305c928cc2848c2fee23531acb96d49": { - "balance": "1999946000000000000000" + "0xc88eec54d305c928cc2848c2fee23531acb96d49": { + "balance": "0x6c6ad382d4fb610000" }, - "9a2ce43b5d89d6936b8e8c354791b8afff962425": { - "balance": "2000000000000000000000" + "0x9a2ce43b5d89d6936b8e8c354791b8afff962425": { + "balance": "0x6c6b935b8bbd400000" }, - "562020e3ed792d2f1835fe5f55417d5111460c6a": { - "balance": "20000000000000000000000" + "0x562020e3ed792d2f1835fe5f55417d5111460c6a": { + "balance": "0x43c33c1937564800000" }, - "ed16ce39feef3bd7f5d162045e0f67c0f00046bb": { - "balance": "20000000000000000000" + "0xed16ce39feef3bd7f5d162045e0f67c0f00046bb": { + "balance": "0x1158e460913d00000" }, - "ab948a4ae3795cbca13126e19253bdc21d3a8514": { - "balance": "200000000000000000000" + "0xab948a4ae3795cbca13126e19253bdc21d3a8514": { + "balance": "0xad78ebc5ac6200000" }, - "c12b7f40df9a2f7bf983661422ab84c9c1f50858": { - "balance": "8000000000000000000000" + "0xc12b7f40df9a2f7bf983661422ab84c9c1f50858": { + "balance": "0x1b1ae4d6e2ef5000000" }, - "62e6b2f5eb94fa7a43831fc87e254a3fe3bf8f89": { - "balance": "250000000000000000000" + "0x62e6b2f5eb94fa7a43831fc87e254a3fe3bf8f89": { + "balance": "0xd8d726b7177a80000" }, - "423bca47abc00c7057e3ad34fca63e375fbd8b4a": { - "balance": "18000000000000000000000" + "0x423bca47abc00c7057e3ad34fca63e375fbd8b4a": { + "balance": "0x3cfc82e37e9a7400000" }, - "5ff326cd60fd136b245e29e9087a6ad3a6527f0d": { - "balance": "1880000000000000000000" + "0x5ff326cd60fd136b245e29e9087a6ad3a6527f0d": { + "balance": "0x65ea3db75546600000" }, - "79ffb4ac13812a0b78c4a37b8275223e176bfda5": { - "balance": "17300000000000000000" + "0x79ffb4ac13812a0b78c4a37b8275223e176bfda5": { + "balance": "0xf015f25736420000" }, - "f757fc8720d3c4fa5277075e60bd5c411aebd977": { - "balance": "2000000000000000000000" + "0xf757fc8720d3c4fa5277075e60bd5c411aebd977": { + "balance": "0x6c6b935b8bbd400000" }, - "0bdbc54cc8bdbbb402a08911e2232a5460ce866b": { - "balance": "3000000000000000000000" + "0x0bdbc54cc8bdbbb402a08911e2232a5460ce866b": { + "balance": "0xa2a15d09519be00000" }, - "9ee9760cc273d4706aa08375c3e46fa230aff3d5": { - "balance": "8950000000000000000000" + "0x9ee9760cc273d4706aa08375c3e46fa230aff3d5": { + "balance": "0x1e52e336cde22180000" }, - "d23a24d7f9468343c143a41d73b88f7cbe63be5e": { - "balance": "200000000000000000000" + "0xd23a24d7f9468343c143a41d73b88f7cbe63be5e": { + "balance": "0xad78ebc5ac6200000" }, - "46d80631284203f6288ecd4e5758bb9d41d05dbe": { - "balance": "2000000000000000000000" + "0x46d80631284203f6288ecd4e5758bb9d41d05dbe": { + "balance": "0x6c6b935b8bbd400000" }, - "3f4cd1399f8a34eddb9a17a471fc922b5870aafc": { - "balance": "200000000000000000000" + "0x3f4cd1399f8a34eddb9a17a471fc922b5870aafc": { + "balance": "0xad78ebc5ac6200000" }, - "44c54eaa8ac940f9e80f1e74e82fc14f1676856a": { - "balance": "7880000000000000000000" + "0x44c54eaa8ac940f9e80f1e74e82fc14f1676856a": { + "balance": "0x1ab2cf7c9f87e200000" }, - "aec27ff5d7f9ddda91183f46f9d52543b6cd2b2f": { - "balance": "450000000000000000000" + "0xaec27ff5d7f9ddda91183f46f9d52543b6cd2b2f": { + "balance": "0x18650127cc3dc80000" }, - "203c6283f20df7bc86542fdfb4e763ecdbbbeef5": { - "balance": "25000000000000000000000" + "0x203c6283f20df7bc86542fdfb4e763ecdbbbeef5": { + "balance": "0x54b40b1f852bda00000" }, - "bcaf347918efb2d63dde03e39275bbe97d26df50": { - "balance": "100000000000000000000" + "0xbcaf347918efb2d63dde03e39275bbe97d26df50": { + "balance": "0x56bc75e2d63100000" }, - "974d0541ab4a47ec7f75369c0069b64a1b817710": { - "balance": "400000000000000000000" + "0x974d0541ab4a47ec7f75369c0069b64a1b817710": { + "balance": "0x15af1d78b58c400000" }, - "5da54785c9bd30575c89deb59d2041d20a39e17b": { - "balance": "1967031000000000000000" + "0x5da54785c9bd30575c89deb59d2041d20a39e17b": { + "balance": "0x6aa209f0b91d658000" }, - "1fb463a0389983df7d593f7bdd6d78497fed8879": { - "balance": "20000000000000000000" + "0x1fb463a0389983df7d593f7bdd6d78497fed8879": { + "balance": "0x1158e460913d00000" }, - "6e1ea4b183e252c9bb7767a006d4b43696cb8ae9": { - "balance": "294245000000000000000" + "0x6e1ea4b183e252c9bb7767a006d4b43696cb8ae9": { + "balance": "0xff3783c85eed08000" }, - "c2aa74847e86edfdd3f3db22f8a2152feee5b7f7": { - "balance": "2048852000000000000000" + "0xc2aa74847e86edfdd3f3db22f8a2152feee5b7f7": { + "balance": "0x6f118886b784a20000" }, - "a13b9d82a99b3c9bba5ae72ef2199edc7d3bb36c": { - "balance": "1999944000000000000000" + "0xa13b9d82a99b3c9bba5ae72ef2199edc7d3bb36c": { + "balance": "0x6c6acc67d7b1d40000" }, - "5135fb8757600cf474546252f74dc0746d06262c": { - "balance": "2000000000000000000000" + "0x5135fb8757600cf474546252f74dc0746d06262c": { + "balance": "0x6c6b935b8bbd400000" }, - "43e7ec846358d7d0f937ad1c350ba069d7bf72bf": { - "balance": "118800000000000000000" + "0x43e7ec846358d7d0f937ad1c350ba069d7bf72bf": { + "balance": "0x670ae629214680000" }, - "f2ed3e77254acb83231dc0860e1a11242ba627db": { - "balance": "1980000000000000000000" + "0xf2ed3e77254acb83231dc0860e1a11242ba627db": { + "balance": "0x6b56051582a9700000" }, - "c0a02ab94ebe56d045b41b629b98462e3a024a93": { - "balance": "100000000000000000000" + "0xc0a02ab94ebe56d045b41b629b98462e3a024a93": { + "balance": "0x56bc75e2d63100000" }, - "f21549bdd1487912f900a7523db5f7626121bba3": { - "balance": "10000000000000000000000" + "0xf21549bdd1487912f900a7523db5f7626121bba3": { + "balance": "0x21e19e0c9bab2400000" }, - "886d0a9e17c9c095af2ea2358b89ec705212ee94": { - "balance": "28000000000000000000" + "0x886d0a9e17c9c095af2ea2358b89ec705212ee94": { + "balance": "0x18493fba64ef00000" }, - "211b29cefc79ae976744fdebcebd3cbb32c51303": { - "balance": "14000000000000000000000" + "0x211b29cefc79ae976744fdebcebd3cbb32c51303": { + "balance": "0x2f6f10780d22cc00000" }, - "b8c2703d8c3f2f44c584bc10e7c0a6b64c1c097e": { - "balance": "5550000000000000000000" + "0xb8c2703d8c3f2f44c584bc10e7c0a6b64c1c097e": { + "balance": "0x12cddb8ead6f9f80000" }, - "ec30addd895b82ee319e54fb04cb2bb03971f36b": { - "balance": "2000000000000000000000" + "0xec30addd895b82ee319e54fb04cb2bb03971f36b": { + "balance": "0x6c6b935b8bbd400000" }, - "b71b62f4b448c02b1201cb5e394ae627b0a560ee": { - "balance": "500000000000000000000" + "0xb71b62f4b448c02b1201cb5e394ae627b0a560ee": { + "balance": "0x1b1ae4d6e2ef500000" }, - "e1334e998379dfe983177062791b90f80ee22d8d": { - "balance": "500000000000000000000" + "0xe1334e998379dfe983177062791b90f80ee22d8d": { + "balance": "0x1b1ae4d6e2ef500000" }, - "1d633097a85225a1ff4321b12988fdd55c2b3844": { - "balance": "4000000000000000000000" + "0x1d633097a85225a1ff4321b12988fdd55c2b3844": { + "balance": "0xd8d726b7177a800000" }, - "8bd8d4c4e943f6c8073921dc17e3e8d7a0761627": { - "balance": "2933330000000000000000" + "0x8bd8d4c4e943f6c8073921dc17e3e8d7a0761627": { + "balance": "0x9f04219d8d34950000" }, - "a5d96e697d46358d119af7819dc7087f6ae47fef": { - "balance": "14605131000000000000000" + "0xa5d96e697d46358d119af7819dc7087f6ae47fef": { + "balance": "0x317bee8af3315a78000" }, - "d0809498c548047a1e2a2aa6a29cd61a0ee268bd": { - "balance": "2000000000000000000000" + "0xd0809498c548047a1e2a2aa6a29cd61a0ee268bd": { + "balance": "0x6c6b935b8bbd400000" }, - "3cd6b7593cbee77830a8b19d0801958fcd4bc57a": { - "balance": "500000000000000000000" + "0x3cd6b7593cbee77830a8b19d0801958fcd4bc57a": { + "balance": "0x1b1ae4d6e2ef500000" }, - "ead4d2eefb76abae5533961edd11400406b298fc": { - "balance": "3880000000000000000000" + "0xead4d2eefb76abae5533961edd11400406b298fc": { + "balance": "0xd255d112e103a00000" }, - "6331028cbb5a21485bc51b565142993bdb2582a9": { - "balance": "534800000000000000000" + "0x6331028cbb5a21485bc51b565142993bdb2582a9": { + "balance": "0x1cfdd7468216e80000" }, - "163bad4a122b457d64e8150a413eae4d07023e6b": { - "balance": "18800000000000000000" + "0x163bad4a122b457d64e8150a413eae4d07023e6b": { + "balance": "0x104e70464b1580000" }, - "c522e20fbf04ed7f6b05a37b4718d6fce0142e1a": { - "balance": "4000000000000000000000" + "0xc522e20fbf04ed7f6b05a37b4718d6fce0142e1a": { + "balance": "0xd8d726b7177a800000" }, - "2d9bad6f1ee02a70f1f13def5cccb27a9a274031": { - "balance": "1790000000000000000000" + "0x2d9bad6f1ee02a70f1f13def5cccb27a9a274031": { + "balance": "0x61093d7c2c6d380000" }, - "5ed0d6338559ef44dc7a61edeb893fa5d83fa1b5": { - "balance": "220000000000000000000" + "0x5ed0d6338559ef44dc7a61edeb893fa5d83fa1b5": { + "balance": "0xbed1d0263d9f00000" }, - "ec8c1d7b6aaccd429db3a91ee4c9eb1ca4f6f73c": { - "balance": "4250000000000000000000" + "0xec8c1d7b6aaccd429db3a91ee4c9eb1ca4f6f73c": { + "balance": "0xe664992288f2280000" }, - "3896ad743579d38e2302454d1fb6e2ab69e01bfd": { - "balance": "1880000000000000000000" + "0x3896ad743579d38e2302454d1fb6e2ab69e01bfd": { + "balance": "0x65ea3db75546600000" }, - "e73ccf436725c151e255ccf5210cfce5a43f13e3": { - "balance": "19982000000000000000" + "0xe73ccf436725c151e255ccf5210cfce5a43f13e3": { + "balance": "0x1154e53217ddb0000" }, - "9483d98f14a33fdc118d403955c29935edfc5f70": { - "balance": "459600000000000000000" + "0x9483d98f14a33fdc118d403955c29935edfc5f70": { + "balance": "0x18ea3b34ef51880000" }, - "1cfcf7517f0c08459720942b647ad192aa9c8828": { - "balance": "800000000000000000000" + "0x1cfcf7517f0c08459720942b647ad192aa9c8828": { + "balance": "0x2b5e3af16b18800000" }, - "8d378f0edc0bb0f0686d6a20be6a7692c4fa24b8": { - "balance": "100000000000000000000" + "0x8d378f0edc0bb0f0686d6a20be6a7692c4fa24b8": { + "balance": "0x56bc75e2d63100000" }, - "06f68de3d739db41121eacf779aada3de8762107": { - "balance": "28000000000000000000" + "0x06f68de3d739db41121eacf779aada3de8762107": { + "balance": "0x18493fba64ef00000" }, - "9909650dd5b1397b8b8b0eb69499b291b0ad1213": { - "balance": "200000000000000000000" + "0x9909650dd5b1397b8b8b0eb69499b291b0ad1213": { + "balance": "0xad78ebc5ac6200000" }, - "b66675142e3111a1c2ea1eb2419cfa42aaf7a234": { - "balance": "1000000000000000000000" + "0xb66675142e3111a1c2ea1eb2419cfa42aaf7a234": { + "balance": "0x3635c9adc5dea00000" }, - "7836f7ef6bc7bd0ff3acaf449c84dd6b1e2c939f": { - "balance": "4142296000000000000000" + "0x7836f7ef6bc7bd0ff3acaf449c84dd6b1e2c939f": { + "balance": "0xe08de7a92cd97c0000" }, - "3ddedbe48923fbf9e536bf9ffb0747c9cdd39eef": { - "balance": "16100000000000000000000" + "0x3ddedbe48923fbf9e536bf9ffb0747c9cdd39eef": { + "balance": "0x368c8623a8b4d100000" }, - "c47d610b399250f70ecf1389bab6292c91264f23": { - "balance": "288800000000000000000" + "0xc47d610b399250f70ecf1389bab6292c91264f23": { + "balance": "0xfa7e7b5df3cd00000" }, - "51a6d627f66a8923d88d6094c4715380d3057cb6": { - "balance": "1152044000000000000000" + "0x51a6d627f66a8923d88d6094c4715380d3057cb6": { + "balance": "0x3e73d27a35941e0000" }, - "6c0cc917cbee7d7c099763f14e64df7d34e2bf09": { - "balance": "250000000000000000000" + "0x6c0cc917cbee7d7c099763f14e64df7d34e2bf09": { + "balance": "0xd8d726b7177a80000" }, - "aaaae68b321402c8ebc13468f341c63c0cf03fce": { - "balance": "1520000000000000000000" + "0xaaaae68b321402c8ebc13468f341c63c0cf03fce": { + "balance": "0x52663ccab1e1c00000" }, - "819cdaa5303678ef7cec59d48c82163acc60b952": { - "balance": "14523448000000000000000" + "0x819cdaa5303678ef7cec59d48c82163acc60b952": { + "balance": "0x31351545f79816c0000" }, - "d071192966eb69c3520fca3aa4dd04297ea04b4e": { - "balance": "110000000000000000000" + "0xd071192966eb69c3520fca3aa4dd04297ea04b4e": { + "balance": "0x5f68e8131ecf80000" }, - "e53425d8df1f11c341ff58ae5f1438abf1ca53cf": { - "balance": "322000000000000000000" + "0xe53425d8df1f11c341ff58ae5f1438abf1ca53cf": { + "balance": "0x1174a5cdf88bc80000" }, - "8ffe322997b8e404422d19c54aadb18f5bc8e9b7": { - "balance": "3940000000000000000000" + "0x8ffe322997b8e404422d19c54aadb18f5bc8e9b7": { + "balance": "0xd5967be4fc3f100000" }, - "305f78d618b990b4295bac8a2dfa262884f804ea": { - "balance": "4000000000000000000000" + "0x305f78d618b990b4295bac8a2dfa262884f804ea": { + "balance": "0xd8d726b7177a800000" }, - "274d69170fe7141401882b886ac4618c6ae40edb": { - "balance": "955000000000000000000" + "0x274d69170fe7141401882b886ac4618c6ae40edb": { + "balance": "0x33c5499031720c0000" }, - "69c94e07c4a9be3384d95dfa3cb9290051873b7b": { - "balance": "70000000000000000000" + "0x69c94e07c4a9be3384d95dfa3cb9290051873b7b": { + "balance": "0x3cb71f51fc5580000" }, - "859c600cf13d1d0273d5d1da3cd789e495899f27": { - "balance": "2674000000000000000000" + "0x859c600cf13d1d0273d5d1da3cd789e495899f27": { + "balance": "0x90f534608a72880000" }, - "c06cebbbf7f5149a66f7eb976b3e47d56516da2f": { - "balance": "2000000000000000000000" + "0xc06cebbbf7f5149a66f7eb976b3e47d56516da2f": { + "balance": "0x6c6b935b8bbd400000" }, - "37bbc47212d82fcb5ee08f5225ecc2041ad2da7d": { - "balance": "3280000000000000000000" + "0x37bbc47212d82fcb5ee08f5225ecc2041ad2da7d": { + "balance": "0xb1cf24ddd0b1400000" }, - "11e7997edd904503d77da6038ab0a4c834bbd563": { - "balance": "388000000000000000000" + "0x11e7997edd904503d77da6038ab0a4c834bbd563": { + "balance": "0x150894e849b3900000" }, - "d333627445f2d787901ef33bb2a8a3675e27ffec": { - "balance": "400000000000000000000" + "0xd333627445f2d787901ef33bb2a8a3675e27ffec": { + "balance": "0x15af1d78b58c400000" }, - "16a58e985dccd707a594d193e7cca78b5d027849": { - "balance": "1360000000000000000000" + "0x16a58e985dccd707a594d193e7cca78b5d027849": { + "balance": "0x49b9ca9a6943400000" }, - "f8ae857b67a4a2893a3fbe7c7a87ff1c01c6a6e7": { - "balance": "4000000000000000000000" + "0xf8ae857b67a4a2893a3fbe7c7a87ff1c01c6a6e7": { + "balance": "0xd8d726b7177a800000" }, - "491561db8b6fafb9007e62d050c282e92c4b6bc8": { - "balance": "30000000000000000000000" + "0x491561db8b6fafb9007e62d050c282e92c4b6bc8": { + "balance": "0x65a4da25d3016c00000" }, - "21df1ec24b4e4bfe79b0c095cebae198f291fbd1": { - "balance": "20000000000000000000000" + "0x21df1ec24b4e4bfe79b0c095cebae198f291fbd1": { + "balance": "0x43c33c1937564800000" }, - "e208812a684098f3da4efe6aba256256adfe3fe6": { - "balance": "2000000000000000000000" + "0xe208812a684098f3da4efe6aba256256adfe3fe6": { + "balance": "0x6c6b935b8bbd400000" }, - "f4ec8e97a20aa5f8dd206f55207e06b813df2cc0": { - "balance": "200000000000000000000" + "0xf4ec8e97a20aa5f8dd206f55207e06b813df2cc0": { + "balance": "0xad78ebc5ac6200000" }, - "29eb7eefdae9feb449c63ff5f279d67510eb1422": { - "balance": "19400000000000000000" + "0x29eb7eefdae9feb449c63ff5f279d67510eb1422": { + "balance": "0x10d3aa536e2940000" }, - "0d678706d037187f3e22e6f69b99a592d11ebc59": { - "balance": "1580000000000000000000" + "0x0d678706d037187f3e22e6f69b99a592d11ebc59": { + "balance": "0x55a6e79ccd1d300000" }, - "de6d363106cc6238d2f092f0f0372136d1cd50c6": { - "balance": "5348000000000000000000" + "0xde6d363106cc6238d2f092f0f0372136d1cd50c6": { + "balance": "0x121ea68c114e5100000" }, - "c8710d7e8b5a3bd69a42fe0fa8b87c357fddcdc8": { - "balance": "4000000000000000000000" + "0xc8710d7e8b5a3bd69a42fe0fa8b87c357fddcdc8": { + "balance": "0xd8d726b7177a800000" }, - "5267f4d41292f370863c90d793296903843625c7": { - "balance": "1400000000000000000000" + "0x5267f4d41292f370863c90d793296903843625c7": { + "balance": "0x4be4e7267b6ae00000" }, - "4cda41dd533991290794e22ae324143e309b3d3d": { - "balance": "2400000000000000000000" + "0x4cda41dd533991290794e22ae324143e309b3d3d": { + "balance": "0x821ab0d44149800000" }, - "f8a50cee2e688ceee3aca4d4a29725d4072cc483": { - "balance": "2000000000000000000000" + "0xf8a50cee2e688ceee3aca4d4a29725d4072cc483": { + "balance": "0x6c6b935b8bbd400000" }, - "5ed3bbc05240e0d399eb6ddfe60f62de4d9509af": { - "balance": "193999806000000000000000" + "0x5ed3bbc05240e0d399eb6ddfe60f62de4d9509af": { + "balance": "0x2914c02475f9d6d30000" }, - "0befb54707f61b2c9fb04715ab026e1bb72042bd": { - "balance": "4000000000000000000000" + "0x0befb54707f61b2c9fb04715ab026e1bb72042bd": { + "balance": "0xd8d726b7177a800000" }, - "cab9a301e6bd46e940355028eccd40ce4d5a1ac3": { - "balance": "400000000000000000000" + "0xcab9a301e6bd46e940355028eccd40ce4d5a1ac3": { + "balance": "0x15af1d78b58c400000" }, - "64672da3ab052821a0243d1ce4b6e0a36517b8eb": { - "balance": "200000000000000000000" + "0x64672da3ab052821a0243d1ce4b6e0a36517b8eb": { + "balance": "0xad78ebc5ac6200000" }, - "eac0827eff0c6e3ff28a7d4a54f65cb7689d7b99": { - "balance": "2856500000000000000000" + "0xeac0827eff0c6e3ff28a7d4a54f65cb7689d7b99": { + "balance": "0x9ad9e69f9d47520000" }, - "f4b6cdcfcb24230b337d770df6034dfbd4e1503f": { - "balance": "19000000000000000000000" + "0xf4b6cdcfcb24230b337d770df6034dfbd4e1503f": { + "balance": "0x405fdf7e5af85e00000" }, - "7be2f7680c802da6154c92c0194ae732517a7169": { - "balance": "18200000000000000000" + "0x7be2f7680c802da6154c92c0194ae732517a7169": { + "balance": "0xfc936392801c0000" }, - "869f1aa30e4455beb1822091de5cadec79a8f946": { - "balance": "8000000000000000000000" + "0x869f1aa30e4455beb1822091de5cadec79a8f946": { + "balance": "0x1b1ae4d6e2ef5000000" }, - "c4681e73bb0e32f6b726204831ff69baa4877e32": { - "balance": "1820000000000000000000" + "0xc4681e73bb0e32f6b726204831ff69baa4877e32": { + "balance": "0x62a992e53a0af00000" }, - "962cd22a8edf1e4f4e55b4b15ddbfb5d9d541971": { - "balance": "2000000000000000000000" + "0x962cd22a8edf1e4f4e55b4b15ddbfb5d9d541971": { + "balance": "0x6c6b935b8bbd400000" }, - "131df8d330eb7cc7147d0a55576f05de8d26a8b7": { - "balance": "188000000000000000000" + "0x131df8d330eb7cc7147d0a55576f05de8d26a8b7": { + "balance": "0xa31062beeed700000" }, - "19f99f2c0b46ce8906875dc9f90ae104dae35594": { - "balance": "4507300000000000000000" + "0x19f99f2c0b46ce8906875dc9f90ae104dae35594": { + "balance": "0xf4575a5d4d162a0000" }, - "91bb3f79022bf3c453f4ff256e269b15cf2c9cbd": { - "balance": "1519000000000000000000" + "0x91bb3f79022bf3c453f4ff256e269b15cf2c9cbd": { + "balance": "0x52585c13fe3a5c0000" }, - "7301dc4cf26d7186f2a11bf8b08bf229463f64a3": { - "balance": "2000000000000000000000" + "0x7301dc4cf26d7186f2a11bf8b08bf229463f64a3": { + "balance": "0x6c6b935b8bbd400000" }, - "7cbca88fca6a0060b960985c9aa1b02534dc2208": { - "balance": "462500000000000000000" + "0x7cbca88fca6a0060b960985c9aa1b02534dc2208": { + "balance": "0x19127a1391ea2a0000" }, - "f3c1abd29dc57b41dc192d0e384d021df0b4f6d4": { - "balance": "2798000000000000000000" + "0xf3c1abd29dc57b41dc192d0e384d021df0b4f6d4": { + "balance": "0x97ae0cdf8f86f80000" }, - "5d32f6f86e787ff78e63d78b0ef95fe6071852b8": { - "balance": "401100000000000000000" + "0x5d32f6f86e787ff78e63d78b0ef95fe6071852b8": { + "balance": "0x15be6174e1912e0000" }, - "1678c5f2a522393225196361894f53cc752fe2f3": { - "balance": "1936000000000000000000" + "0x1678c5f2a522393225196361894f53cc752fe2f3": { + "balance": "0x68f365aea1e4400000" }, - "1cf04cb14380059efd3f238b65d5beb86afa14d8": { - "balance": "20000000000000000000" + "0x1cf04cb14380059efd3f238b65d5beb86afa14d8": { + "balance": "0x1158e460913d00000" }, - "52e1731350f983cc2c4189842fde0613fad50ce1": { - "balance": "11640000000000000000000" + "0x52e1731350f983cc2c4189842fde0613fad50ce1": { + "balance": "0x277017338a30ae00000" }, - "d0b11d6f2bce945e0c6a5020c3b52753f803f9d1": { - "balance": "200000000000000000000" + "0xd0b11d6f2bce945e0c6a5020c3b52753f803f9d1": { + "balance": "0xad78ebc5ac6200000" }, - "409bd75085821c1de70cdc3b11ffc3d923c74010": { - "balance": "4000000000000000000000" + "0x409bd75085821c1de70cdc3b11ffc3d923c74010": { + "balance": "0xd8d726b7177a800000" }, - "0bb7160aba293762f8734f3e0326ffc9a4cac190": { - "balance": "1000000000000000000000" + "0x0bb7160aba293762f8734f3e0326ffc9a4cac190": { + "balance": "0x3635c9adc5dea00000" }, - "7aad4dbcd3acf997df93586956f72b64d8ad94ee": { - "balance": "4000000000000000000000" + "0x7aad4dbcd3acf997df93586956f72b64d8ad94ee": { + "balance": "0xd8d726b7177a800000" }, - "2dec98329d1f96c3a59caa7981755452d4da49d5": { - "balance": "200000000000000000000" + "0x2dec98329d1f96c3a59caa7981755452d4da49d5": { + "balance": "0xad78ebc5ac6200000" }, - "c18ab467feb5a0aadfff91230ff056464d78d800": { - "balance": "2000000000000000000000" + "0xc18ab467feb5a0aadfff91230ff056464d78d800": { + "balance": "0x6c6b935b8bbd400000" }, - "c90c3765156bca8e4897ab802419153cbe5225a9": { - "balance": "200000000000000000000" + "0xc90c3765156bca8e4897ab802419153cbe5225a9": { + "balance": "0xad78ebc5ac6200000" }, - "85c8f3cc7a354feac99a5e7bfe7cdfa351cfe355": { - "balance": "400000000000000000000" + "0x85c8f3cc7a354feac99a5e7bfe7cdfa351cfe355": { + "balance": "0x15af1d78b58c400000" }, - "f4fc4d39bc0c2c4068a36de50e4ab4d4db7e340a": { - "balance": "25380000000000000000" + "0xf4fc4d39bc0c2c4068a36de50e4ab4d4db7e340a": { + "balance": "0x16037df87ef6a0000" }, - "f50abbd4aa45d3eb88515465a8ba0b310fd9b521": { - "balance": "6685000000000000000000" + "0xf50abbd4aa45d3eb88515465a8ba0b310fd9b521": { + "balance": "0x16a6502f15a1e540000" }, - "4d200110124008d56f76981256420c946a6ff45c": { - "balance": "199955000000000000000" + "0x4d200110124008d56f76981256420c946a6ff45c": { + "balance": "0xad6eedd17cf3b8000" }, - "f4ba6a46d55140c439cbcf076cc657136262f4f8": { - "balance": "2000000000000000000000" + "0xf4ba6a46d55140c439cbcf076cc657136262f4f8": { + "balance": "0x6c6b935b8bbd400000" }, - "fa7adf660b8d99ce15933d7c5f072f3cbeb99d33": { - "balance": "5910000000000000000000" + "0xfa7adf660b8d99ce15933d7c5f072f3cbeb99d33": { + "balance": "0x14061b9d77a5e980000" }, - "84503334630d77f74147f68b2e086613c8f1ade9": { - "balance": "1600000000000000000000" + "0x84503334630d77f74147f68b2e086613c8f1ade9": { + "balance": "0x56bc75e2d631000000" }, - "31ed858788bda4d5270992221cc04206ec62610d": { - "balance": "1176000000000000000000" + "0x31ed858788bda4d5270992221cc04206ec62610d": { + "balance": "0x3fc0474948f3600000" }, - "bfbca418d3529cb393081062032a6e1183c6b2dc": { - "balance": "8000000000000000000000" + "0xbfbca418d3529cb393081062032a6e1183c6b2dc": { + "balance": "0x1b1ae4d6e2ef5000000" }, - "8263ece5d709e0d7ae71cca868ed37cd2fef807b": { - "balance": "990000000000000000000" + "0x8263ece5d709e0d7ae71cca868ed37cd2fef807b": { + "balance": "0x35ab028ac154b80000" }, - "23ba3864da583dab56f420873c37679690e02f00": { - "balance": "9800000000000000000000" + "0x23ba3864da583dab56f420873c37679690e02f00": { + "balance": "0x21342520d5fec200000" }, - "cedcb3a1d6843fb6bef643617deaf38f8e98dd5f": { - "balance": "477500000000000000000" + "0xcedcb3a1d6843fb6bef643617deaf38f8e98dd5f": { + "balance": "0x19e2a4c818b9060000" }, - "8fac748f784a0fed68dba43319b42a75b4649c6e": { - "balance": "910000000000000000000" + "0x8fac748f784a0fed68dba43319b42a75b4649c6e": { + "balance": "0x3154c9729d05780000" }, - "18b8bcf98321da61fb4e3eacc1ec5417272dc27e": { - "balance": "880000000000000000000" + "0x18b8bcf98321da61fb4e3eacc1ec5417272dc27e": { + "balance": "0x2fb474098f67c00000" }, - "776943ffb2ef5cdd35b83c28bc046bd4f4677098": { - "balance": "3000000000000000000000" + "0x776943ffb2ef5cdd35b83c28bc046bd4f4677098": { + "balance": "0xa2a15d09519be00000" }, - "fb8113f94d9173eefd5a3073f516803a10b286ae": { - "balance": "80000000000000000000" + "0xfb8113f94d9173eefd5a3073f516803a10b286ae": { + "balance": "0x4563918244f400000" }, - "3e8349b67f5745449f659367d9ad4712db5b895a": { - "balance": "1820000000000000000000" + "0x3e8349b67f5745449f659367d9ad4712db5b895a": { + "balance": "0x62a992e53a0af00000" }, - "79cfa9780ae6d87b2c31883f09276986c89a6735": { - "balance": "1000000000000000000000" + "0x79cfa9780ae6d87b2c31883f09276986c89a6735": { + "balance": "0x3635c9adc5dea00000" }, - "5006fe4c22173980f00c74342b39cd231c653129": { - "balance": "2000000000000000000000" + "0x5006fe4c22173980f00c74342b39cd231c653129": { + "balance": "0x6c6b935b8bbd400000" }, - "13848b46ea75beb7eaa85f59d866d77fd24cf21a": { - "balance": "50000000000000000000000" + "0x13848b46ea75beb7eaa85f59d866d77fd24cf21a": { + "balance": "0xa968163f0a57b400000" }, - "d64a2d50f8858537188a24e0f50df1681ab07ed7": { - "balance": "38800000000000000000000" + "0xd64a2d50f8858537188a24e0f50df1681ab07ed7": { + "balance": "0x8375a2abcca24400000" }, - "4f9ce2af9b8c5e42c6808a3870ec576f313545d1": { - "balance": "10000000000000000000000" + "0x4f9ce2af9b8c5e42c6808a3870ec576f313545d1": { + "balance": "0x21e19e0c9bab2400000" }, - "8764d02722000996ecd475b433298e9f540b05bf": { - "balance": "200000000000000000000" + "0x8764d02722000996ecd475b433298e9f540b05bf": { + "balance": "0xad78ebc5ac6200000" }, - "3b7c77dbe95dc2602ce3269a9545d04965fefdbd": { - "balance": "2000000000000000000000" + "0x3b7c77dbe95dc2602ce3269a9545d04965fefdbd": { + "balance": "0x6c6b935b8bbd400000" }, - "c9dcbb056f4db7d9da39936202c5bd8230b3b477": { - "balance": "20000000000000000000000" + "0xc9dcbb056f4db7d9da39936202c5bd8230b3b477": { + "balance": "0x43c33c1937564800000" }, - "9ecbabb0b22782b3754429e1757aaba04b81189f": { - "balance": "823743000000000000000" + "0x9ecbabb0b22782b3754429e1757aaba04b81189f": { + "balance": "0x2ca7bb061f5e998000" }, - "831c44b3084047184b2ad218680640903750c45d": { - "balance": "1970000000000000000000" + "0x831c44b3084047184b2ad218680640903750c45d": { + "balance": "0x6acb3df27e1f880000" }, - "ff8eb07de3d49d9d52bbe8e5b26dbe1d160fa834": { - "balance": "3986000000000000000000" + "0xff8eb07de3d49d9d52bbe8e5b26dbe1d160fa834": { + "balance": "0xd814dcb94453080000" }, - "8ccf3aa21ab742576ad8c422f71bb188591dea8a": { - "balance": "1000000000000000000000" + "0x8ccf3aa21ab742576ad8c422f71bb188591dea8a": { + "balance": "0x3635c9adc5dea00000" }, - "ddac312a9655426a9c0c9efa3fd82559ef4505bf": { - "balance": "401100000000000000000" + "0xddac312a9655426a9c0c9efa3fd82559ef4505bf": { + "balance": "0x15be6174e1912e0000" }, - "9a3e2b1bf346dd070b027357feac44a4b2c97db8": { - "balance": "10000000000000000000000" + "0x9a3e2b1bf346dd070b027357feac44a4b2c97db8": { + "balance": "0x21e19e0c9bab2400000" }, - "69d39d510889e552a396135bfcdb06e37e387633": { - "balance": "4000000000000000000000" + "0x69d39d510889e552a396135bfcdb06e37e387633": { + "balance": "0xd8d726b7177a800000" }, - "83a3148833d9644984f7c475a7850716efb480ff": { - "balance": "3400000000000000000000" + "0x83a3148833d9644984f7c475a7850716efb480ff": { + "balance": "0xb8507a820728200000" }, - "62b4a9226e61683c72c183254690daf511b4117a": { - "balance": "260000000000000000000" + "0x62b4a9226e61683c72c183254690daf511b4117a": { + "balance": "0xe18398e7601900000" }, - "50763add868fd7361178342fc055eaa2b95f6846": { - "balance": "66838000000000000000" + "0x50763add868fd7361178342fc055eaa2b95f6846": { + "balance": "0x39f9046e0898f0000" }, - "91898eab8c05c0222883cd4db23b7795e1a24ad7": { - "balance": "2000000000000000000000" + "0x91898eab8c05c0222883cd4db23b7795e1a24ad7": { + "balance": "0x6c6b935b8bbd400000" }, - "066647cfc85d23d37605573d208ca154b244d76c": { - "balance": "10000000000000000000000" + "0x066647cfc85d23d37605573d208ca154b244d76c": { + "balance": "0x21e19e0c9bab2400000" }, - "aaf9ee4b886c6d1e95496fd274235bf4ecfcb07d": { - "balance": "1400000000000000000000" + "0xaaf9ee4b886c6d1e95496fd274235bf4ecfcb07d": { + "balance": "0x4be4e7267b6ae00000" }, - "06860a93525955ff624940fadcffb8e149fd599c": { - "balance": "1999800000000000000000" + "0x06860a93525955ff624940fadcffb8e149fd599c": { + "balance": "0x6c68ccd09b022c0000" }, - "e81c2d346c0adf4cc56708f6394ba6c8c8a64a1e": { - "balance": "2000000000000000000000" + "0xe81c2d346c0adf4cc56708f6394ba6c8c8a64a1e": { + "balance": "0x6c6b935b8bbd400000" }, - "41a8e236a30e6d63c1ff644d132aa25c89537e01": { - "balance": "20000000000000000000" + "0x41a8e236a30e6d63c1ff644d132aa25c89537e01": { + "balance": "0x1158e460913d00000" }, - "6a679e378fdce6bfd97fe62f043c6f6405d79e99": { - "balance": "4000000000000000000000" + "0x6a679e378fdce6bfd97fe62f043c6f6405d79e99": { + "balance": "0xd8d726b7177a800000" }, - "933436c8472655f64c3afaaf7c4c621c83a62b38": { - "balance": "1000000000000000000000" + "0x933436c8472655f64c3afaaf7c4c621c83a62b38": { + "balance": "0x3635c9adc5dea00000" }, - "abe07ced6ac5ddf991eff6c3da226a741bd243fe": { - "balance": "10000000000000000000000" + "0xabe07ced6ac5ddf991eff6c3da226a741bd243fe": { + "balance": "0x21e19e0c9bab2400000" }, - "bb56a404723cff20d0685488b05a02cdc35aacaa": { - "balance": "20000000000000000000" + "0xbb56a404723cff20d0685488b05a02cdc35aacaa": { + "balance": "0x1158e460913d00000" }, - "0d551ec1a2133c981d5fc6a8c8173f9e7c4f47af": { - "balance": "2000000000000000000000" + "0x0d551ec1a2133c981d5fc6a8c8173f9e7c4f47af": { + "balance": "0x6c6b935b8bbd400000" }, - "23376ecabf746ce53321cf42c86649b92b67b2ff": { - "balance": "2000000000000000000000" + "0x23376ecabf746ce53321cf42c86649b92b67b2ff": { + "balance": "0x6c6b935b8bbd400000" }, - "644ba6c61082e989109f5c11d4b40e991660d403": { - "balance": "4000000000000000000000" + "0x644ba6c61082e989109f5c11d4b40e991660d403": { + "balance": "0xd8d726b7177a800000" }, - "680d5911ed8dd9eec45c060c223f89a7f620bbd5": { - "balance": "20000000000000000000000" + "0x680d5911ed8dd9eec45c060c223f89a7f620bbd5": { + "balance": "0x43c33c1937564800000" }, - "cb1bb6f1da5eb10d4899f7e61d06c1b00fdfb52d": { - "balance": "1038000000000000000000" + "0xcb1bb6f1da5eb10d4899f7e61d06c1b00fdfb52d": { + "balance": "0x384524cc70b7780000" }, - "303a30ac4286ae17cf483dad7b870c6bd64d7b4a": { - "balance": "500000000000000000000" + "0x303a30ac4286ae17cf483dad7b870c6bd64d7b4a": { + "balance": "0x1b1ae4d6e2ef500000" }, - "7b0b31ff6e24745ead8ed9bb85fc0bf2fe1d55d4": { - "balance": "800000000000000000000" + "0x7b0b31ff6e24745ead8ed9bb85fc0bf2fe1d55d4": { + "balance": "0x2b5e3af16b18800000" }, - "854691ce714f325ced55ce5928ce9ba12facd1b8": { - "balance": "4380000000000000000000" + "0x854691ce714f325ced55ce5928ce9ba12facd1b8": { + "balance": "0xed70b5e9c3f2f00000" }, - "a13cfe826d6d1841dcae443be8c387518136b5e8": { - "balance": "140000000000000000000000" + "0xa13cfe826d6d1841dcae443be8c387518136b5e8": { + "balance": "0x1da56a4b0835bf800000" }, - "5fcd84546896dd081db1a320bd4d8c1dd1528c4c": { - "balance": "20000000000000000000" + "0x5fcd84546896dd081db1a320bd4d8c1dd1528c4c": { + "balance": "0x1158e460913d00000" }, - "3db5fe6a68bd3612ac15a99a61e555928eeceaf3": { - "balance": "1580000000000000000000" + "0x3db5fe6a68bd3612ac15a99a61e555928eeceaf3": { + "balance": "0x55a6e79ccd1d300000" }, - "7a79e30ff057f70a3d0191f7f53f761537af7dff": { - "balance": "400000000000000000000" + "0x7a79e30ff057f70a3d0191f7f53f761537af7dff": { + "balance": "0x15af1d78b58c400000" }, - "3d3fad49c9e5d2759c8e8e5a7a4d60a0dd135692": { - "balance": "20000000000000000000" + "0x3d3fad49c9e5d2759c8e8e5a7a4d60a0dd135692": { + "balance": "0x1158e460913d00000" }, - "05a830724302bc0f6ebdaa1ebeeeb46e6ce00b39": { - "balance": "98500000000000000000" + "0x05a830724302bc0f6ebdaa1ebeeeb46e6ce00b39": { + "balance": "0x556f64c1fe7fa0000" }, - "e4b6ae22c7735f5b89f34dd77ad0975f0acc9181": { - "balance": "1000000000000000000000" + "0xe4b6ae22c7735f5b89f34dd77ad0975f0acc9181": { + "balance": "0x3635c9adc5dea00000" }, - "3f2dd55db7eab0ebee65b33ed8202c1e992e958b": { - "balance": "820000000000000000000" + "0x3f2dd55db7eab0ebee65b33ed8202c1e992e958b": { + "balance": "0x2c73c937742c500000" }, - "395d6d255520a8db29abc47d83a5db8a1a7df087": { - "balance": "100000000000000000000" + "0x395d6d255520a8db29abc47d83a5db8a1a7df087": { + "balance": "0x56bc75e2d63100000" }, - "1cc90876004109cd79a3dea866cb840ac364ba1b": { - "balance": "2000000000000000000000" + "0x1cc90876004109cd79a3dea866cb840ac364ba1b": { + "balance": "0x6c6b935b8bbd400000" }, - "c83e9d6a58253beebeb793e6f28b054a58491b74": { - "balance": "281800000000000000000" + "0xc83e9d6a58253beebeb793e6f28b054a58491b74": { + "balance": "0xf46c2b6f5a9140000" }, - "901d99b699e5c6911519cb2076b4c76330c54d22": { - "balance": "2000000000000000000000" + "0x901d99b699e5c6911519cb2076b4c76330c54d22": { + "balance": "0x6c6b935b8bbd400000" }, - "3a9132b7093d3ec42e1e4fb8cb31ecdd43ae773c": { - "balance": "2000000000000000000000" + "0x3a9132b7093d3ec42e1e4fb8cb31ecdd43ae773c": { + "balance": "0x6c6b935b8bbd400000" }, - "b41eaf5d51a5ba1ba39bb418dbb54fab750efb1f": { - "balance": "1000000000000000000000" + "0xb41eaf5d51a5ba1ba39bb418dbb54fab750efb1f": { + "balance": "0x3635c9adc5dea00000" }, - "aa493d3f4fb866491cf8f800efb7e2324ed7cfe5": { - "balance": "1700000000000000000000" + "0xaa493d3f4fb866491cf8f800efb7e2324ed7cfe5": { + "balance": "0x5c283d410394100000" }, - "509982f56237ee458951047e0a2230f804e2e895": { - "balance": "17500000000000000000000" + "0x509982f56237ee458951047e0a2230f804e2e895": { + "balance": "0x3b4ad496106b7f00000" }, - "316e92a91bbda68b9e2f98b3c048934e3cc0b416": { - "balance": "2000000000000000000000" + "0x316e92a91bbda68b9e2f98b3c048934e3cc0b416": { + "balance": "0x6c6b935b8bbd400000" }, - "a3430e1f647f321ed34739562323c7d623410b56": { - "balance": "999942000000000000000" + "0xa3430e1f647f321ed34739562323c7d623410b56": { + "balance": "0x3634fb9f1489a70000" }, - "fca43bbc23a0d321ba9e46b929735ce7d8ef0c18": { - "balance": "20000000000000000000" + "0xfca43bbc23a0d321ba9e46b929735ce7d8ef0c18": { + "balance": "0x1158e460913d00000" }, - "ff45cb34c928364d9cc9d8bb00373474618f06f3": { - "balance": "100000000000000000000" + "0xff45cb34c928364d9cc9d8bb00373474618f06f3": { + "balance": "0x56bc75e2d63100000" }, - "8c999591fd72ef7111efca7a9e97a2356b3b000a": { - "balance": "4084000000000000000000" + "0x8c999591fd72ef7111efca7a9e97a2356b3b000a": { + "balance": "0xdd64e2aa0a67500000" }, - "8579dadf1a395a3471e20b6f763d9a0ff19a3f6f": { - "balance": "4000000000000000000000" + "0x8579dadf1a395a3471e20b6f763d9a0ff19a3f6f": { + "balance": "0xd8d726b7177a800000" }, - "c8d4e1599d03b79809e0130a8dc38408f05e8cd3": { - "balance": "2945500000000000000000" + "0xc8d4e1599d03b79809e0130a8dc38408f05e8cd3": { + "balance": "0x9fad06241279160000" }, - "2abce1808940cd4ef5b5e05285f82df7a9ab5e03": { - "balance": "9800000000000000000000" + "0x2abce1808940cd4ef5b5e05285f82df7a9ab5e03": { + "balance": "0x21342520d5fec200000" }, - "0bb0c12682a2f15c9b5741b2385cbe41f034068e": { - "balance": "1500000000000000000000" + "0x0bb0c12682a2f15c9b5741b2385cbe41f034068e": { + "balance": "0x5150ae84a8cdf00000" }, - "08b7bdcf944d5570838be70460243a8694485858": { - "balance": "2000000000000000000000" + "0x08b7bdcf944d5570838be70460243a8694485858": { + "balance": "0x6c6b935b8bbd400000" }, - "c452e0e4b3d6ae06b836f032ca09db409ddfe0fb": { - "balance": "800000000000000000000" + "0xc452e0e4b3d6ae06b836f032ca09db409ddfe0fb": { + "balance": "0x2b5e3af16b18800000" }, - "48d4f2468f963fd79a006198bb67895d2d5aa4d3": { - "balance": "1400000000000000000000" + "0x48d4f2468f963fd79a006198bb67895d2d5aa4d3": { + "balance": "0x4be4e7267b6ae00000" }, - "f9e7222faaf0f4da40c1c4a40630373a09bed7b6": { - "balance": "2865000000000000000000" + "0xf9e7222faaf0f4da40c1c4a40630373a09bed7b6": { + "balance": "0x9b4fdcb09456240000" }, - "bf59aee281fa43fe97194351a9857e01a3b897b2": { - "balance": "600000000000000000000" + "0xbf59aee281fa43fe97194351a9857e01a3b897b2": { + "balance": "0x2086ac351052600000" }, - "da0d4b7ef91fb55ad265f251142067f10376ced6": { - "balance": "20000000000000000000000" + "0xda0d4b7ef91fb55ad265f251142067f10376ced6": { + "balance": "0x43c33c1937564800000" }, - "2c6f5c124cc789f8bb398e3f889751bc4b602d9e": { - "balance": "24928000000000000000" + "0x2c6f5c124cc789f8bb398e3f889751bc4b602d9e": { + "balance": "0x159f20bed00f00000" }, - "c85ef27d820403805fc9ed259fff64acb8d6346a": { - "balance": "2000000000000000000000" + "0xc85ef27d820403805fc9ed259fff64acb8d6346a": { + "balance": "0x6c6b935b8bbd400000" }, - "9aa8308f42910e5ade09c1a5e282d6d91710bdbf": { - "balance": "200000000000000000000" + "0x9aa8308f42910e5ade09c1a5e282d6d91710bdbf": { + "balance": "0xad78ebc5ac6200000" }, - "9e4cec353ac3e381835e3c0991f8faa5b7d0a8e6": { - "balance": "9999917000000000000000" + "0x9e4cec353ac3e381835e3c0991f8faa5b7d0a8e6": { + "balance": "0x21e18b9e9ab45e48000" }, - "137cf341e8516c815814ebcd73e6569af14cf7bc": { - "balance": "1000000000000000000000" + "0x137cf341e8516c815814ebcd73e6569af14cf7bc": { + "balance": "0x3635c9adc5dea00000" }, - "889da662eb4a0a2a069d2bc24b05b4ee2e92c41b": { - "balance": "1663417000000000000000" + "0x889da662eb4a0a2a069d2bc24b05b4ee2e92c41b": { + "balance": "0x5a2c8c5456c9f28000" }, - "0998d8273115b56af43c505e087aff0676ed3659": { - "balance": "3999984000000000000000" + "0x0998d8273115b56af43c505e087aff0676ed3659": { + "balance": "0xd8d6eddf2d2e180000" }, - "3e4d13c55a84e46ed7e9cb90fd355e8ad991e38f": { - "balance": "1000000000000000000000" + "0x3e4d13c55a84e46ed7e9cb90fd355e8ad991e38f": { + "balance": "0x3635c9adc5dea00000" }, - "abc068b4979b0ea64a62d3b7aa897d73810dc533": { - "balance": "1970000000000000000000" + "0xabc068b4979b0ea64a62d3b7aa897d73810dc533": { + "balance": "0x6acb3df27e1f880000" }, - "d8fdf546674738c984d8fab857880b3e4280c09e": { - "balance": "20000000000000000000" + "0xd8fdf546674738c984d8fab857880b3e4280c09e": { + "balance": "0x1158e460913d00000" }, - "aff161740a6d909fe99c59a9b77945c91cc91448": { - "balance": "60000000000000000000" + "0xaff161740a6d909fe99c59a9b77945c91cc91448": { + "balance": "0x340aad21b3b700000" }, - "92ad1b3d75fba67d54663da9fc848a8ade10fa67": { - "balance": "2000000000000000000000" + "0x92ad1b3d75fba67d54663da9fc848a8ade10fa67": { + "balance": "0x6c6b935b8bbd400000" }, - "819eb4990b5aba5547093da12b6b3c1093df6d46": { - "balance": "1000000000000000000000" + "0x819eb4990b5aba5547093da12b6b3c1093df6d46": { + "balance": "0x3635c9adc5dea00000" }, - "643d9aeed4b180947ed2b9207cce4c3ddc55e1f7": { - "balance": "200000000000000000000" + "0x643d9aeed4b180947ed2b9207cce4c3ddc55e1f7": { + "balance": "0xad78ebc5ac6200000" }, - "ab3e62e77a8b225e411592b1af300752fe412463": { - "balance": "9850000000000000000000" + "0xab3e62e77a8b225e411592b1af300752fe412463": { + "balance": "0x215f835bc769da80000" }, - "650b425555e4e4c51718146836a2c1ee77a5b421": { - "balance": "20000000000000000000000" + "0x650b425555e4e4c51718146836a2c1ee77a5b421": { + "balance": "0x43c33c1937564800000" }, - "ba8e46d69d2e2343d86c60d82cf42c2041a0c1c2": { - "balance": "100000000000000000000" + "0xba8e46d69d2e2343d86c60d82cf42c2041a0c1c2": { + "balance": "0x56bc75e2d63100000" }, - "f9570e924c95debb7061369792cf2efec2a82d5e": { - "balance": "20000000000000000000" + "0xf9570e924c95debb7061369792cf2efec2a82d5e": { + "balance": "0x1158e460913d00000" }, - "4dc4bf5e7589c47b28378d7503cf96488061dbbd": { - "balance": "1760000000000000000000" + "0x4dc4bf5e7589c47b28378d7503cf96488061dbbd": { + "balance": "0x5f68e8131ecf800000" }, - "3d7ea5bf03528100ed8af8aed2653e921b6e6725": { - "balance": "1000000000000000000000" + "0x3d7ea5bf03528100ed8af8aed2653e921b6e6725": { + "balance": "0x3635c9adc5dea00000" }, - "a02bde6461686e19ac650c970d0672e76dcb4fc2": { - "balance": "8865000000000000000000" + "0xa02bde6461686e19ac650c970d0672e76dcb4fc2": { + "balance": "0x1e09296c3378de40000" }, - "b0e760bb07c081777345e0578e8bc898226d4e3b": { - "balance": "2000000000000000000000" + "0xb0e760bb07c081777345e0578e8bc898226d4e3b": { + "balance": "0x6c6b935b8bbd400000" }, - "979cbf21dfec8ace3f1c196d82df962534df394f": { - "balance": "2832860000000000000000" + "0x979cbf21dfec8ace3f1c196d82df962534df394f": { + "balance": "0x9991d478dd4d160000" }, - "9f8245c3ab7d173164861cd3991b94f1ba40a93a": { - "balance": "2860000000000000000000" + "0x9f8245c3ab7d173164861cd3991b94f1ba40a93a": { + "balance": "0x9b0a791f1211300000" }, - "c25cf826550c8eaf10af2234fef904ddb95213be": { - "balance": "1000000000000000000000" + "0xc25cf826550c8eaf10af2234fef904ddb95213be": { + "balance": "0x3635c9adc5dea00000" }, - "967bfaf76243cdb9403c67d2ceefdee90a3feb73": { - "balance": "970582000000000000000" + "0x967bfaf76243cdb9403c67d2ceefdee90a3feb73": { + "balance": "0x349d87f2a2dc2f0000" }, - "0b2113504534642a1daf102eee10b9ebde76e261": { - "balance": "2733351000000000000000" + "0x0b2113504534642a1daf102eee10b9ebde76e261": { + "balance": "0x942cdd7c95f2bd8000" }, - "74bc4a5e2045f4ff8db184cf3a9b0c065ad807d2": { - "balance": "2000000000000000000000" + "0x74bc4a5e2045f4ff8db184cf3a9b0c065ad807d2": { + "balance": "0x6c6b935b8bbd400000" }, - "f1da40736f99d5df3b068a5d745fafc6463fc9b1": { - "balance": "121546000000000000000" + "0xf1da40736f99d5df3b068a5d745fafc6463fc9b1": { + "balance": "0x696ca23058da10000" }, - "0fa6c7b0973d0bae2940540e247d3627e37ca347": { - "balance": "1000000000000000000000" + "0x0fa6c7b0973d0bae2940540e247d3627e37ca347": { + "balance": "0x3635c9adc5dea00000" }, - "72b05962fb2ad589d65ad16a22559eba1458f387": { - "balance": "133700000000000000000" + "0x72b05962fb2ad589d65ad16a22559eba1458f387": { + "balance": "0x73f75d1a085ba0000" }, - "6ceae3733d8fa43d6cd80c1a96e8eb93109c83b7": { - "balance": "298000000000000000000" + "0x6ceae3733d8fa43d6cd80c1a96e8eb93109c83b7": { + "balance": "0x102794ad20da680000" }, - "28eaea78cd4d95faecfb68836eafe83520f3bbb7": { - "balance": "200000000000000000000" + "0x28eaea78cd4d95faecfb68836eafe83520f3bbb7": { + "balance": "0xad78ebc5ac6200000" }, - "f49f6f9baabc018c8f8e119e0115f491fc92a8a4": { - "balance": "10000000000000000000000" + "0xf49f6f9baabc018c8f8e119e0115f491fc92a8a4": { + "balance": "0x21e19e0c9bab2400000" }, - "833316985d47742bfed410604a91953c05fb12b0": { - "balance": "2000000000000000000000" + "0x833316985d47742bfed410604a91953c05fb12b0": { + "balance": "0x6c6b935b8bbd400000" }, - "ead75016e3a0815072b6b108bcc1b799acf0383e": { - "balance": "2000000000000000000000" + "0xead75016e3a0815072b6b108bcc1b799acf0383e": { + "balance": "0x6c6b935b8bbd400000" }, - "0032403587947b9f15622a68d104d54d33dbd1cd": { - "balance": "77500000000000000000" + "0x0032403587947b9f15622a68d104d54d33dbd1cd": { + "balance": "0x433874f632cc60000" }, - "8f64b9c1246d857831643107d355b5c75fef5d4f": { - "balance": "1999944000000000000000" + "0x8f64b9c1246d857831643107d355b5c75fef5d4f": { + "balance": "0x6c6acc67d7b1d40000" }, - "15dcafcc2bace7b55b54c01a1c514626bf61ebd8": { - "balance": "9400000000000000000000" + "0x15dcafcc2bace7b55b54c01a1c514626bf61ebd8": { + "balance": "0x1fd933494aa5fe00000" }, - "6886ada7bbb0617bda842191c68c922ea3a8ac82": { - "balance": "1160000000000000000000" + "0x6886ada7bbb0617bda842191c68c922ea3a8ac82": { + "balance": "0x3ee23bde0e7d200000" }, - "f736dc96760012388fe88b66c06efe57e0d7cf0a": { - "balance": "2100000000000000000000" + "0xf736dc96760012388fe88b66c06efe57e0d7cf0a": { + "balance": "0x71d75ab9b920500000" }, - "0b288a5a8b75f3dc4191eb0457e1c83dbd204d25": { - "balance": "4853000000000000000000" + "0x0b288a5a8b75f3dc4191eb0457e1c83dbd204d25": { + "balance": "0x10714e77bb43ab40000" }, - "56b6c23dd2ec90b4728f3bb2e764c3c50c85f144": { - "balance": "1000000000000000000000" + "0x56b6c23dd2ec90b4728f3bb2e764c3c50c85f144": { + "balance": "0x3635c9adc5dea00000" }, - "6310b020fd98044957995092090f17f04e52cdfd": { - "balance": "1580000000000000000000" + "0x6310b020fd98044957995092090f17f04e52cdfd": { + "balance": "0x55a6e79ccd1d300000" }, - "b0baeb30e313776c4c6d247402ba4167afcda1cc": { - "balance": "1970000000000000000000" + "0xb0baeb30e313776c4c6d247402ba4167afcda1cc": { + "balance": "0x6acb3df27e1f880000" }, - "7641f7d26a86cddb2be13081810e01c9c83c4b20": { - "balance": "13370000000000000000" + "0x7641f7d26a86cddb2be13081810e01c9c83c4b20": { + "balance": "0xb98bc829a6f90000" }, - "07a8dadec142571a7d53a4297051786d072cba55": { - "balance": "22729000000000000000" + "0x07a8dadec142571a7d53a4297051786d072cba55": { + "balance": "0x13b6da1139bda8000" }, - "cc73dd356b4979b579b401d4cc7a31a268ddce5a": { - "balance": "500000000000000000000" + "0xcc73dd356b4979b579b401d4cc7a31a268ddce5a": { + "balance": "0x1b1ae4d6e2ef500000" }, - "adf1acfe99bc8c14b304c8d905ba27657b8a7bc4": { - "balance": "20000000000000000000000" + "0xadf1acfe99bc8c14b304c8d905ba27657b8a7bc4": { + "balance": "0x43c33c1937564800000" }, - "72dabb5b6eed9e99be915888f6568056381608f8": { - "balance": "208433000000000000000" + "0x72dabb5b6eed9e99be915888f6568056381608f8": { + "balance": "0xb4c96c52cb4fe8000" }, - "9de20ae76aa08263b205d5142461961e2408d266": { - "balance": "252000000000000000000" + "0x9de20ae76aa08263b205d5142461961e2408d266": { + "balance": "0xda933d8d8c6700000" }, - "9d4ff989b7bed9ab109d10c8c7e55f02d76734ad": { - "balance": "1000000000000000000000" + "0x9d4ff989b7bed9ab109d10c8c7e55f02d76734ad": { + "balance": "0x3635c9adc5dea00000" }, - "e58dd23238ee6ea7c2138d385df500c325f376be": { - "balance": "1820000000000000000000" + "0xe58dd23238ee6ea7c2138d385df500c325f376be": { + "balance": "0x62a992e53a0af00000" }, - "4bd6dd0cff23400e1730ba7b894504577d14e74a": { - "balance": "206028000000000000000000" + "0x4bd6dd0cff23400e1730ba7b894504577d14e74a": { + "balance": "0x2ba0ccddd0df73b00000" }, - "35147430c3106500e79fa2f502462e94703c23b1": { - "balance": "1999944000000000000000" + "0x35147430c3106500e79fa2f502462e94703c23b1": { + "balance": "0x6c6acc67d7b1d40000" }, - "c0ae14d724832e2fce2778de7f7b8daf7b12a93e": { - "balance": "20000000000000000000" + "0xc0ae14d724832e2fce2778de7f7b8daf7b12a93e": { + "balance": "0x1158e460913d00000" }, - "b57413060af3f14eb479065f1e9d19b3757ae8cc": { - "balance": "40000000000000000000" + "0xb57413060af3f14eb479065f1e9d19b3757ae8cc": { + "balance": "0x22b1c8c1227a00000" }, - "7d04d2edc058a1afc761d9c99ae4fc5c85d4c8a6": { - "balance": "314807840000000000000000" + "0x7d04d2edc058a1afc761d9c99ae4fc5c85d4c8a6": { + "balance": "0x42a9c4675c9467d00000" }, - "1c94d636e684eb155895ce6db4a2588fba1d001b": { - "balance": "2000000000000000000000" + "0x1c94d636e684eb155895ce6db4a2588fba1d001b": { + "balance": "0x6c6b935b8bbd400000" }, - "c721b2a7aa44c21298e85039d00e2e460e670b9c": { - "balance": "140800000000000000000" + "0xc721b2a7aa44c21298e85039d00e2e460e670b9c": { + "balance": "0x7a1fe160277000000" }, - "2d89a8006a4f137a20dc2bec46fe2eb312ea9654": { - "balance": "200000000000000000000" + "0x2d89a8006a4f137a20dc2bec46fe2eb312ea9654": { + "balance": "0xad78ebc5ac6200000" }, - "646afba71d849e80c0ed59cac519b278e7f7abe4": { - "balance": "1000000000000000000000" + "0x646afba71d849e80c0ed59cac519b278e7f7abe4": { + "balance": "0x3635c9adc5dea00000" }, - "71f2cdd1b046e2da2fbb5a26723422b8325e25a3": { - "balance": "99960000000000000000" + "0x71f2cdd1b046e2da2fbb5a26723422b8325e25a3": { + "balance": "0x56b394263a40c0000" }, - "2c9fa72c95f37d08e9a36009e7a4b07f29bad41a": { - "balance": "16100000000000000000" + "0x2c9fa72c95f37d08e9a36009e7a4b07f29bad41a": { + "balance": "0xdf6eb0b2d3ca0000" }, - "848fbd29d67cf4a013cb02a4b176ef244e9ee68d": { - "balance": "20116000000000000000" + "0x848fbd29d67cf4a013cb02a4b176ef244e9ee68d": { + "balance": "0x1172a636bbdc20000" }, - "68190ca885da4231874c1cfb42b1580a21737f38": { - "balance": "3820000000000000000000" + "0x68190ca885da4231874c1cfb42b1580a21737f38": { + "balance": "0xcf152640c5c8300000" }, - "9adf458bff3599eee1a26398853c575bc38c6313": { - "balance": "280000000000000000000" + "0x9adf458bff3599eee1a26398853c575bc38c6313": { + "balance": "0xf2dc7d47f15600000" }, - "b72220ade364d0369f2d2da783ca474d7b9b34ce": { - "balance": "499986000000000000000" + "0xb72220ade364d0369f2d2da783ca474d7b9b34ce": { + "balance": "0x1b1ab319f5ec750000" }, - "38e2af73393ea98a1d993a74df5cd754b98d529a": { - "balance": "1790000000000000000000" + "0x38e2af73393ea98a1d993a74df5cd754b98d529a": { + "balance": "0x61093d7c2c6d380000" }, - "4d38d90f83f4515c03cc78326a154d358bd882b7": { - "balance": "185000000000000000000" + "0x4d38d90f83f4515c03cc78326a154d358bd882b7": { + "balance": "0xa076407d3f7440000" }, - "aa8eb0823b07b0e6d20aadda0e95cf3835be192e": { - "balance": "32000000000000000000" + "0xaa8eb0823b07b0e6d20aadda0e95cf3835be192e": { + "balance": "0x1bc16d674ec800000" }, - "008639dabbe3aeac887b5dc0e43e13bcd287d76c": { - "balance": "310200000000000000000" + "0x008639dabbe3aeac887b5dc0e43e13bcd287d76c": { + "balance": "0x10d0e3c87d6e2c0000" }, - "fa3a0c4b903f6ea52ea7ab7b8863b6a616ad6650": { - "balance": "20000000000000000000" + "0xfa3a0c4b903f6ea52ea7ab7b8863b6a616ad6650": { + "balance": "0x1158e460913d00000" }, - "e26bf322774e18288769d67e3107deb7447707b8": { - "balance": "2000000000000000000000" + "0xe26bf322774e18288769d67e3107deb7447707b8": { + "balance": "0x6c6b935b8bbd400000" }, - "e061a4f2fc77b296d19ada238e49a5cb8ecbfa70": { - "balance": "4000000000000000000000" + "0xe061a4f2fc77b296d19ada238e49a5cb8ecbfa70": { + "balance": "0xd8d726b7177a800000" }, - "b320834836d1dbfda9e7a3184d1ad1fd4320ccc0": { - "balance": "1000000000000000000000" + "0xb320834836d1dbfda9e7a3184d1ad1fd4320ccc0": { + "balance": "0x3635c9adc5dea00000" }, - "0ed3bb3a4eb554cfca97947d575507cdfd6d21d8": { - "balance": "547863000000000000000" + "0x0ed3bb3a4eb554cfca97947d575507cdfd6d21d8": { + "balance": "0x1db3205fcc23d58000" }, - "32fa0e86cd087dd68d693190f32d93310909ed53": { - "balance": "4000000000000000000000" + "0x32fa0e86cd087dd68d693190f32d93310909ed53": { + "balance": "0xd8d726b7177a800000" }, - "5b759fa110a31c88469f54d44ba303d57dd3e10f": { - "balance": "1683760000000000000000" + "0x5b759fa110a31c88469f54d44ba303d57dd3e10f": { + "balance": "0x5b46dd2f0ea3b80000" }, - "136f4907cab41e27084b9845069ff2fd0c9ade79": { - "balance": "4000000000000000000000" + "0x136f4907cab41e27084b9845069ff2fd0c9ade79": { + "balance": "0xd8d726b7177a800000" }, - "3d89e505cb46e211a53f32f167a877bec87f4b0a": { - "balance": "25019000000000000000" + "0x3d89e505cb46e211a53f32f167a877bec87f4b0a": { + "balance": "0x15b3557f1937f8000" }, - "57a852fdb9b1405bf53ccf9508f83299d3206c52": { - "balance": "2000000000000000000000" + "0x57a852fdb9b1405bf53ccf9508f83299d3206c52": { + "balance": "0x6c6b935b8bbd400000" }, - "747abc9649056d3926044d28c3ad09ed17b67d70": { - "balance": "5000057000000000000000" + "0x747abc9649056d3926044d28c3ad09ed17b67d70": { + "balance": "0x10f0dbae61009528000" }, - "5c29f9e9a523c1f8669448b55c48cbd47c25e610": { - "balance": "964320000000000000000" + "0x5c29f9e9a523c1f8669448b55c48cbd47c25e610": { + "balance": "0x3446a0dad04cb00000" }, - "30a9da72574c51e7ee0904ba1f73a6b7b83b9b9d": { - "balance": "20200000000000000000" + "0x30a9da72574c51e7ee0904ba1f73a6b7b83b9b9d": { + "balance": "0x11854d0f9cee40000" }, - "220e2b92c0f6c902b513d9f1e6fab6a8b0def3d7": { - "balance": "800000000000000000000" + "0x220e2b92c0f6c902b513d9f1e6fab6a8b0def3d7": { + "balance": "0x2b5e3af16b18800000" }, - "5af7c072b2c5acd71c76addcce535cf7f8f93585": { - "balance": "20000000000000000000" + "0x5af7c072b2c5acd71c76addcce535cf7f8f93585": { + "balance": "0x1158e460913d00000" }, - "81556db27349ab8b27004944ed50a46e941a0f5f": { - "balance": "3998000000000000000000" + "0x81556db27349ab8b27004944ed50a46e941a0f5f": { + "balance": "0xd8bb6549b02bb80000" }, - "987618c85656207c7bac1507c0ffefa2fb64b092": { - "balance": "64419000000000000000" + "0x987618c85656207c7bac1507c0ffefa2fb64b092": { + "balance": "0x37dfe433189e38000" }, - "e0f372347c96b55f7d4306034beb83266fd90966": { - "balance": "400000000000000000000" + "0xe0f372347c96b55f7d4306034beb83266fd90966": { + "balance": "0x15af1d78b58c400000" }, - "71784c105117c1f68935797fe159abc74e43d16a": { - "balance": "2001600000000000000000" + "0x71784c105117c1f68935797fe159abc74e43d16a": { + "balance": "0x6c81c7b31195e00000" }, - "9284f96ddb47b5186ee558aa31324df5361c0f73": { - "balance": "16000000000000000000000" + "0x9284f96ddb47b5186ee558aa31324df5361c0f73": { + "balance": "0x3635c9adc5dea000000" }, - "a60c1209754f5d87b181da4f0817a81859ef9fd8": { - "balance": "50000000000000000000" + "0xa60c1209754f5d87b181da4f0817a81859ef9fd8": { + "balance": "0x2b5e3af16b1880000" }, - "5afda9405c8e9736514574da928de67456010918": { - "balance": "6008500000000000000000" + "0x5afda9405c8e9736514574da928de67456010918": { + "balance": "0x145b8b0239a46920000" }, - "6978696d5150a9a263513f8f74c696f8b1397cab": { - "balance": "6640000000000000000000" + "0x6978696d5150a9a263513f8f74c696f8b1397cab": { + "balance": "0x167f482d3c5b1c00000" }, - "a9ad1926bc66bdb331588ea8193788534d982c98": { - "balance": "30000000000000000000000" + "0xa9ad1926bc66bdb331588ea8193788534d982c98": { + "balance": "0x65a4da25d3016c00000" }, - "e3f80b40fb83fb97bb0d5230af4f6ed59b1c7cc8": { - "balance": "1337000000000000000000" + "0xe3f80b40fb83fb97bb0d5230af4f6ed59b1c7cc8": { + "balance": "0x487a9a304539440000" }, - "e207578e1f4ddb8ff6d5867b39582d71b9812ac5": { - "balance": "3880000000000000000000" + "0xe207578e1f4ddb8ff6d5867b39582d71b9812ac5": { + "balance": "0xd255d112e103a00000" }, - "86883d54cd3915e549095530f9ab1805e8c5432d": { - "balance": "4000000000000000000000" + "0x86883d54cd3915e549095530f9ab1805e8c5432d": { + "balance": "0xd8d726b7177a800000" }, - "6974c8a414ceaefd3c2e4dfdbef430568d9a960b": { - "balance": "334250000000000000000" + "0x6974c8a414ceaefd3c2e4dfdbef430568d9a960b": { + "balance": "0x121ea68c114e510000" }, - "532d32b00f305bcc24dcef56817d622f34fb2c24": { - "balance": "1800000000000000000000" + "0x532d32b00f305bcc24dcef56817d622f34fb2c24": { + "balance": "0x6194049f30f7200000" }, - "761f8a3a2af0a8bdbe1da009321fb29764eb62a1": { - "balance": "10000000000000000000000" + "0x761f8a3a2af0a8bdbe1da009321fb29764eb62a1": { + "balance": "0x21e19e0c9bab2400000" }, - "4677b04e0343a32131fd6abb39b1b6156bba3d5b": { - "balance": "200000000000000000000" + "0x4677b04e0343a32131fd6abb39b1b6156bba3d5b": { + "balance": "0xad78ebc5ac6200000" }, - "ef69781f32ffce33346f2c9ae3f08493f3e82f89": { - "balance": "18200000000000000000" + "0xef69781f32ffce33346f2c9ae3f08493f3e82f89": { + "balance": "0xfc936392801c0000" }, - "e3b3d2c9bf570be6a2f72adca1862c310936a43c": { - "balance": "100100000000000000000" + "0xe3b3d2c9bf570be6a2f72adca1862c310936a43c": { + "balance": "0x56d2aa3a5c09a0000" }, - "d19caf39bb377fdf2cf19bd4fb52591c2631a63c": { - "balance": "1000000000000000000000" + "0xd19caf39bb377fdf2cf19bd4fb52591c2631a63c": { + "balance": "0x3635c9adc5dea00000" }, - "5d68324bcb776d3ffd0bf9fea91d9f037fd6ab0f": { - "balance": "2000000000000000000000" + "0x5d68324bcb776d3ffd0bf9fea91d9f037fd6ab0f": { + "balance": "0x6c6b935b8bbd400000" }, - "1c99fe9bb6c6d1066d912099547fd1f4809eacd9": { - "balance": "2000000000000000000000" + "0x1c99fe9bb6c6d1066d912099547fd1f4809eacd9": { + "balance": "0x6c6b935b8bbd400000" }, - "bbfe0a830cace87b7293993a7e9496ce64f8e394": { - "balance": "6000000000000000000000" + "0xbbfe0a830cace87b7293993a7e9496ce64f8e394": { + "balance": "0x14542ba12a337c00000" }, - "26c0054b700d3a7c2dcbe275689d4f4cad16a335": { - "balance": "2000000000000000000000" + "0x26c0054b700d3a7c2dcbe275689d4f4cad16a335": { + "balance": "0x6c6b935b8bbd400000" }, - "7d7e7c61779adb7706c94d32409a2bb4e994bf60": { - "balance": "865992000000000000000" + "0x7d7e7c61779adb7706c94d32409a2bb4e994bf60": { + "balance": "0x2ef20d9fc71a140000" }, - "d037d215d11d1df3d54fbd321cd295c5465e273b": { - "balance": "1400000000000000000000" + "0xd037d215d11d1df3d54fbd321cd295c5465e273b": { + "balance": "0x4be4e7267b6ae00000" }, - "08166f02313feae18bb044e7877c808b55b5bf58": { - "balance": "1970000000000000000000" + "0x08166f02313feae18bb044e7877c808b55b5bf58": { + "balance": "0x6acb3df27e1f880000" }, - "781b1501647a2e06c0ed43ff197fccec35e1700b": { - "balance": "3000000000000000000000" + "0x781b1501647a2e06c0ed43ff197fccec35e1700b": { + "balance": "0xa2a15d09519be00000" }, - "74316adf25378c10f576d5b41a6f47fa98fce33d": { - "balance": "336082000000000000000" + "0x74316adf25378c10f576d5b41a6f47fa98fce33d": { + "balance": "0x1238131e5c7ad50000" }, - "44e2fdc679e6bee01e93ef4a3ab1bcce012abc7c": { - "balance": "410231000000000000000" + "0x44e2fdc679e6bee01e93ef4a3ab1bcce012abc7c": { + "balance": "0x163d194900c5458000" }, - "178eaf6b8554c45dfde16b78ce0c157f2ee31351": { - "balance": "320000000000000000000" + "0x178eaf6b8554c45dfde16b78ce0c157f2ee31351": { + "balance": "0x1158e460913d000000" }, - "cf923a5d8fbc3d01aa079d1cfe4b43ce071b1611": { - "balance": "2000000000000000000000" + "0xcf923a5d8fbc3d01aa079d1cfe4b43ce071b1611": { + "balance": "0x6c6b935b8bbd400000" }, - "0c28847e4f09dfce5f9b25af7c4e530f59c880fe": { - "balance": "1000000000000000000000" + "0x0c28847e4f09dfce5f9b25af7c4e530f59c880fe": { + "balance": "0x3635c9adc5dea00000" }, - "54ce88275956def5f9458e3b95decacd484021a0": { - "balance": "2000000000000000000000" + "0x54ce88275956def5f9458e3b95decacd484021a0": { + "balance": "0x6c6b935b8bbd400000" }, - "9d4213339a01551861764c87a93ce8f85f87959a": { - "balance": "200000000000000000000" + "0x9d4213339a01551861764c87a93ce8f85f87959a": { + "balance": "0xad78ebc5ac6200000" }, - "e559b5fd337b9c5572a9bf9e0f2521f7d446dbe4": { - "balance": "200000000000000000000" + "0xe559b5fd337b9c5572a9bf9e0f2521f7d446dbe4": { + "balance": "0xad78ebc5ac6200000" }, - "dcb03bfa6c1131234e56b7ea7c4f721487546b7a": { - "balance": "1337000000000000000000" + "0xdcb03bfa6c1131234e56b7ea7c4f721487546b7a": { + "balance": "0x487a9a304539440000" }, - "db6ff71b3db0928f839e05a7323bfb57d29c87aa": { - "balance": "910000000000000000000" + "0xdb6ff71b3db0928f839e05a7323bfb57d29c87aa": { + "balance": "0x3154c9729d05780000" }, - "eb7c202b462b7cc5855d7484755f6e26ef43a115": { - "balance": "2000000000000000000000" + "0xeb7c202b462b7cc5855d7484755f6e26ef43a115": { + "balance": "0x6c6b935b8bbd400000" }, - "323486ca64b375474fb2b759a9e7a135859bd9f6": { - "balance": "400000000000000000000" + "0x323486ca64b375474fb2b759a9e7a135859bd9f6": { + "balance": "0x15af1d78b58c400000" }, - "2c1df8a76f48f6b54bcf9caf56f0ee1cf57ab33d": { - "balance": "10118000000000000000000" + "0x2c1df8a76f48f6b54bcf9caf56f0ee1cf57ab33d": { + "balance": "0x2247f750089da580000" }, - "2cd87866568dd81ad47d9d3ad0846e5a65507373": { - "balance": "400000000000000000000" + "0x2cd87866568dd81ad47d9d3ad0846e5a65507373": { + "balance": "0x15af1d78b58c400000" }, - "8566610901aace38b83244f3a9c831306a67b9dc": { - "balance": "3256000000000000000000" + "0x8566610901aace38b83244f3a9c831306a67b9dc": { + "balance": "0xb08213bcf8ffe00000" }, - "1c257ad4a55105ea3b58ed374b198da266c85f63": { - "balance": "10000000000000000000000" + "0x1c257ad4a55105ea3b58ed374b198da266c85f63": { + "balance": "0x21e19e0c9bab2400000" }, - "cf4f1138f1bd6bf5b6d485cce4c1017fcb85f07d": { - "balance": "882038000000000000000" + "0xcf4f1138f1bd6bf5b6d485cce4c1017fcb85f07d": { + "balance": "0x2fd0bc77c32bff0000" }, - "c934becaf71f225f8b4a4bf7b197f4ac9630345c": { - "balance": "20000000000000000000000" + "0xc934becaf71f225f8b4a4bf7b197f4ac9630345c": { + "balance": "0x43c33c1937564800000" }, - "1e2bf4ba8e5ef18d37de6d6ad636c4cae489d0cc": { - "balance": "2000000000000000000000" + "0x1e2bf4ba8e5ef18d37de6d6ad636c4cae489d0cc": { + "balance": "0x6c6b935b8bbd400000" }, - "9d78a975b7db5e4d8e28845cfbe7e31401be0dd9": { - "balance": "1340000000000000000000" + "0x9d78a975b7db5e4d8e28845cfbe7e31401be0dd9": { + "balance": "0x48a43c54602f700000" }, - "16aa52cb0b554723e7060f21f327b0a68315fea3": { - "balance": "250000000000000000000" + "0x16aa52cb0b554723e7060f21f327b0a68315fea3": { + "balance": "0xd8d726b7177a80000" }, - "97e28973b860c567402800fbb63ce39a048a3d79": { - "balance": "97000000000000000000" + "0x97e28973b860c567402800fbb63ce39a048a3d79": { + "balance": "0x542253a126ce40000" }, - "4ac5acad000b8877214cb1ae00eac9a37d59a0fd": { - "balance": "4000000000000000000000" + "0x4ac5acad000b8877214cb1ae00eac9a37d59a0fd": { + "balance": "0xd8d726b7177a800000" }, - "01226e0ad8d62277b162621c62c928e96e0b9a8c": { - "balance": "2000000000000000000000" + "0x01226e0ad8d62277b162621c62c928e96e0b9a8c": { + "balance": "0x6c6b935b8bbd400000" }, - "479abf2da4d58716fd973a0d13a75f530150260a": { - "balance": "20000000000000000000" + "0x479abf2da4d58716fd973a0d13a75f530150260a": { + "balance": "0x1158e460913d00000" }, - "31d81d526c195e3f10b5c6db52b5e59afbe0a995": { - "balance": "264000000000000000000" + "0x31d81d526c195e3f10b5c6db52b5e59afbe0a995": { + "balance": "0xe4fbc69449f200000" }, - "749087ac0f5a97c6fad021538bf1d6cda18e0daa": { - "balance": "1000000000000000000000" + "0x749087ac0f5a97c6fad021538bf1d6cda18e0daa": { + "balance": "0x3635c9adc5dea00000" }, - "1565af837ef3b0bd4e2b23568d5023cd34b16498": { - "balance": "393284000000000000000" + "0x1565af837ef3b0bd4e2b23568d5023cd34b16498": { + "balance": "0x1551e9724ac4ba0000" }, - "997d6592a31589acc31b9901fbeb3cc3d65b3215": { - "balance": "2000000000000000000000" + "0x997d6592a31589acc31b9901fbeb3cc3d65b3215": { + "balance": "0x6c6b935b8bbd400000" }, - "9d207517422cc0d60de7c237097a4d4fce20940c": { - "balance": "500000000000000000000" + "0x9d207517422cc0d60de7c237097a4d4fce20940c": { + "balance": "0x1b1ae4d6e2ef500000" }, - "24b8b446debd1947955dd084f2c544933346d3ad": { - "balance": "4324135000000000000000" + "0x24b8b446debd1947955dd084f2c544933346d3ad": { + "balance": "0xea696d904039bd8000" }, - "107a03cf0842dbdeb0618fb587ca69189ec92ff5": { - "balance": "1970000000000000000000" + "0x107a03cf0842dbdeb0618fb587ca69189ec92ff5": { + "balance": "0x6acb3df27e1f880000" }, - "7f603aec1759ea5f07c7f8d41a1428fbbaf9e762": { - "balance": "20000000000000000000" + "0x7f603aec1759ea5f07c7f8d41a1428fbbaf9e762": { + "balance": "0x1158e460913d00000" }, - "53a244672895480f4a2b1cdf7da5e5a242ec4dbc": { - "balance": "1000000000000000000000" + "0x53a244672895480f4a2b1cdf7da5e5a242ec4dbc": { + "balance": "0x3635c9adc5dea00000" }, - "7db4c7d5b797e9296e6382f203693db409449d62": { - "balance": "400000000000000000000" + "0x7db4c7d5b797e9296e6382f203693db409449d62": { + "balance": "0x15af1d78b58c400000" }, - "2ae82dab92a66389eea1abb901d1d57f5a7cca0b": { - "balance": "2000000000000000000000" + "0x2ae82dab92a66389eea1abb901d1d57f5a7cca0b": { + "balance": "0x6c6b935b8bbd400000" }, - "16bc40215abbd9ae5d280b95b8010b4514ff1292": { - "balance": "200000000000000000000" + "0x16bc40215abbd9ae5d280b95b8010b4514ff1292": { + "balance": "0xad78ebc5ac6200000" }, - "bba4fac3c42039d828e742cde0efffe774941b39": { - "balance": "1999946000000000000000" + "0xbba4fac3c42039d828e742cde0efffe774941b39": { + "balance": "0x6c6ad382d4fb610000" }, - "5431ca427e6165a644bae326bd09750a178c650d": { - "balance": "2000000000000000000000" + "0x5431ca427e6165a644bae326bd09750a178c650d": { + "balance": "0x6c6b935b8bbd400000" }, - "dcf33965531380163168fc11f67e89c6f1bc178a": { - "balance": "334885000000000000000" + "0xdcf33965531380163168fc11f67e89c6f1bc178a": { + "balance": "0x122776853406b08000" }, - "65fd02d704a12a4dace9471b0645f962a89671c8": { - "balance": "28615000000000000000" + "0x65fd02d704a12a4dace9471b0645f962a89671c8": { + "balance": "0x18d1ce6e427cd8000" }, - "135d1719bf03e3f866312479fe338118cd387e70": { - "balance": "2000000000000000000000" + "0x135d1719bf03e3f866312479fe338118cd387e70": { + "balance": "0x6c6b935b8bbd400000" }, - "f3159866c2bc86bba40f9d73bb99f1eee57bb9d7": { - "balance": "1000000000000000000000" + "0xf3159866c2bc86bba40f9d73bb99f1eee57bb9d7": { + "balance": "0x3635c9adc5dea00000" }, - "e3a4621b66004588e31206f718cb00a319889cf0": { - "balance": "2000000000000000000000" + "0xe3a4621b66004588e31206f718cb00a319889cf0": { + "balance": "0x6c6b935b8bbd400000" }, - "abcdbc8f1dd13af578d4a4774a62182bedf9f9be": { - "balance": "36660000000000000000" + "0xabcdbc8f1dd13af578d4a4774a62182bedf9f9be": { + "balance": "0x1fcc27bc459d20000" }, - "9fbe066de57236dc830725d32a02aef9246c6c5e": { - "balance": "2000000000000000000000" + "0x9fbe066de57236dc830725d32a02aef9246c6c5e": { + "balance": "0x6c6b935b8bbd400000" }, - "81cfad760913d3c322fcc77b49c2ae3907e74f6e": { - "balance": "197000000000000000000" + "0x81cfad760913d3c322fcc77b49c2ae3907e74f6e": { + "balance": "0xaadec983fcff40000" }, - "0ab59d390702c9c059db148eb4f3fcfa7d04c7e7": { - "balance": "18200000000000000000" + "0x0ab59d390702c9c059db148eb4f3fcfa7d04c7e7": { + "balance": "0xfc936392801c0000" }, - "2c2db28c3309375eea3c6d72cd6d0eec145afcc0": { - "balance": "2000000000000000000000" + "0x2c2db28c3309375eea3c6d72cd6d0eec145afcc0": { + "balance": "0x6c6b935b8bbd400000" }, - "08306de51981e7aca1856859b7c778696a6b69f9": { - "balance": "3200000000000000000000" + "0x08306de51981e7aca1856859b7c778696a6b69f9": { + "balance": "0xad78ebc5ac62000000" }, - "f814799f6ddf4dcb29c7ee870e75f9cc2d35326d": { - "balance": "1000000000000000000000" + "0xf814799f6ddf4dcb29c7ee870e75f9cc2d35326d": { + "balance": "0x3635c9adc5dea00000" }, - "ee867d20916bd2e9c9ece08aa04385db667c912e": { - "balance": "50000000000000000000000" + "0xee867d20916bd2e9c9ece08aa04385db667c912e": { + "balance": "0xa968163f0a57b400000" }, - "97a86f01ce3f7cfd4441330e1c9b19e1b10606ef": { - "balance": "2000000000000000000000" + "0x97a86f01ce3f7cfd4441330e1c9b19e1b10606ef": { + "balance": "0x6c6b935b8bbd400000" }, - "4c759813ad1386bed27ffae9e4815e3630cca312": { - "balance": "2000000000000000000000" + "0x4c759813ad1386bed27ffae9e4815e3630cca312": { + "balance": "0x6c6b935b8bbd400000" }, - "8f226096c184ebb40105e08dac4d22e1c2d54d30": { - "balance": "306552000000000000000" + "0x8f226096c184ebb40105e08dac4d22e1c2d54d30": { + "balance": "0x109e437bd1618c0000" }, - "13acada8980affc7504921be84eb4944c8fbb2bd": { - "balance": "1601600000000000000000" + "0x13acada8980affc7504921be84eb4944c8fbb2bd": { + "balance": "0x56d2aa3a5c09a00000" }, - "122dcfd81addb97d1a0e4925c4b549806e9f3beb": { - "balance": "1514954000000000000000" + "0x122dcfd81addb97d1a0e4925c4b549806e9f3beb": { + "balance": "0x522035cc6e01210000" }, - "232f525d55859b7d4e608d20487faadb00293135": { - "balance": "4000000000000000000000" + "0x232f525d55859b7d4e608d20487faadb00293135": { + "balance": "0xd8d726b7177a800000" }, - "6f7ac681d45e418fce8b3a1db5bc3be6f06c9849": { - "balance": "2000000000000000000000" + "0x6f7ac681d45e418fce8b3a1db5bc3be6f06c9849": { + "balance": "0x6c6b935b8bbd400000" }, - "0c8692eeff2a53d6d1688ed56a9ddbbd68dabba1": { - "balance": "2000000000000000000000" + "0x0c8692eeff2a53d6d1688ed56a9ddbbd68dabba1": { + "balance": "0x6c6b935b8bbd400000" }, - "6a6337833f8f6a6bf10ca7ec21aa810ed444f4cb": { - "balance": "1028200000000000000000" + "0x6a6337833f8f6a6bf10ca7ec21aa810ed444f4cb": { + "balance": "0x37bd24345ce8a40000" }, - "209377b6ad3fe101c9685b3576545c6b1684e73c": { - "balance": "1820000000000000000000" + "0x209377b6ad3fe101c9685b3576545c6b1684e73c": { + "balance": "0x62a992e53a0af00000" }, - "560fc08d079f047ed8d7df75551aa53501f57013": { - "balance": "7600000000000000000000" + "0x560fc08d079f047ed8d7df75551aa53501f57013": { + "balance": "0x19bff2ff57968c00000" }, - "8e78f351457d016f4ad2755ec7424e5c21ba6d51": { - "balance": "146000000000000000000" + "0x8e78f351457d016f4ad2755ec7424e5c21ba6d51": { + "balance": "0x7ea28327577080000" }, - "2ce11a92fad024ff2b3e87e3b542e6c60dcbd996": { - "balance": "4000000000000000000000" + "0x2ce11a92fad024ff2b3e87e3b542e6c60dcbd996": { + "balance": "0xd8d726b7177a800000" }, - "8ab839aeaf2ad37cb78bacbbb633bcc5c099dc46": { - "balance": "2000000000000000000000" + "0x8ab839aeaf2ad37cb78bacbbb633bcc5c099dc46": { + "balance": "0x6c6b935b8bbd400000" }, - "673144f0ec142e770f4834fee0ee311832f3087b": { - "balance": "500038000000000000000" + "0x673144f0ec142e770f4834fee0ee311832f3087b": { + "balance": "0x1b1b6bd7af64c70000" }, - "ba8a63f3f40de4a88388bc50212fea8e064fbb86": { - "balance": "2000000000000000000000" + "0xba8a63f3f40de4a88388bc50212fea8e064fbb86": { + "balance": "0x6c6b935b8bbd400000" }, - "ee899b02cbcb3939cd61de1342d50482abb68532": { - "balance": "1760000000000000000000" + "0xee899b02cbcb3939cd61de1342d50482abb68532": { + "balance": "0x5f68e8131ecf800000" }, - "c2d9eedbc9019263d9d16cc5ae072d1d3dd9db03": { - "balance": "20000000000000000000000" + "0xc2d9eedbc9019263d9d16cc5ae072d1d3dd9db03": { + "balance": "0x43c33c1937564800000" }, - "355c0c39f5d5700b41d375b3f17851dcd52401f9": { - "balance": "3979000000000000000000" + "0x355c0c39f5d5700b41d375b3f17851dcd52401f9": { + "balance": "0xd7b3b7ba5abf4c0000" }, - "8179c80970182cc5b7d82a4df06ea94db63a25f3": { - "balance": "727432000000000000000" + "0x8179c80970182cc5b7d82a4df06ea94db63a25f3": { + "balance": "0x276f259de66bf40000" }, - "b388b5dfecd2c5e4b596577c642556dbfe277855": { - "balance": "20000000000000000000" + "0xb388b5dfecd2c5e4b596577c642556dbfe277855": { + "balance": "0x1158e460913d00000" }, - "a9e28337e6357193d9e2cb236b01be44b81427df": { - "balance": "2200000000000000000000" + "0xa9e28337e6357193d9e2cb236b01be44b81427df": { + "balance": "0x77432217e683600000" }, - "04ba4bb87140022c214a6fac42db5a16dd954045": { - "balance": "1000000000000000000000" + "0x04ba4bb87140022c214a6fac42db5a16dd954045": { + "balance": "0x3635c9adc5dea00000" }, - "67c926093e9b8927933810d98222d62e2b8206bb": { - "balance": "1910000000000000000000" + "0x67c926093e9b8927933810d98222d62e2b8206bb": { + "balance": "0x678a932062e4180000" }, - "ed7346766e1a676d0d06ec821867a276a083bf31": { - "balance": "4012890000000000000000" + "0xed7346766e1a676d0d06ec821867a276a083bf31": { + "balance": "0xd98a0931cc2d490000" }, - "92558226b384626cad48e09d966bf1395ee7ea5d": { - "balance": "334250000000000000000" + "0x92558226b384626cad48e09d966bf1395ee7ea5d": { + "balance": "0x121ea68c114e510000" }, - "bdf693f833c3fe471753184788eb4bfe4adc3f96": { - "balance": "1970000000000000000000" + "0xbdf693f833c3fe471753184788eb4bfe4adc3f96": { + "balance": "0x6acb3df27e1f880000" }, - "4474299d0ee090dc90789a1486489c3d0d645e6d": { - "balance": "1000000000000000000000" + "0x4474299d0ee090dc90789a1486489c3d0d645e6d": { + "balance": "0x3635c9adc5dea00000" }, - "b1178ad47383c31c8134a1941cbcd474d06244e2": { - "balance": "1000000000000000000000" + "0xb1178ad47383c31c8134a1941cbcd474d06244e2": { + "balance": "0x3635c9adc5dea00000" }, - "979d681c617da16f21bcaca101ed16ed015ab696": { - "balance": "1880000000000000000000" + "0x979d681c617da16f21bcaca101ed16ed015ab696": { + "balance": "0x65ea3db75546600000" }, - "6b20c080606a79c73bd8e75b11717a4e8db3f1c3": { - "balance": "299720000000000000000" + "0x6b20c080606a79c73bd8e75b11717a4e8db3f1c3": { + "balance": "0x103f735803f0140000" }, - "b85218f342f8012eda9f274e63ce2152b2dcfdab": { - "balance": "3100000000000000000000" + "0xb85218f342f8012eda9f274e63ce2152b2dcfdab": { + "balance": "0xa80d24677efef00000" }, - "530b61e42f39426d2408d40852b9e34ab5ebebc5": { - "balance": "267400000000000000000" + "0x530b61e42f39426d2408d40852b9e34ab5ebebc5": { + "balance": "0xe7eeba3410b740000" }, - "76afc225f4fa307de484552bbe1d9d3f15074c4a": { - "balance": "2998800000000000000000" + "0x76afc225f4fa307de484552bbe1d9d3f15074c4a": { + "balance": "0xa290b5c7ad39680000" }, - "1e783e522ab7df0acaac9eeed3593039e5ac7579": { - "balance": "203435800000000000000000" + "0x1e783e522ab7df0acaac9eeed3593039e5ac7579": { + "balance": "0x2b1446dd6aefe41c0000" }, - "0f7bf6373f771a4601762c4dae5fbbf4fedd9cc9": { - "balance": "2000000000000000000000" + "0x0f7bf6373f771a4601762c4dae5fbbf4fedd9cc9": { + "balance": "0x6c6b935b8bbd400000" }, - "7a8797690ab77b5470bf7c0c1bba612508e1ac7d": { - "balance": "8865000000000000000000" + "0x7a8797690ab77b5470bf7c0c1bba612508e1ac7d": { + "balance": "0x1e09296c3378de40000" }, - "2a2ab6b74c7af1d9476bb5bcb4524797bedc3552": { - "balance": "1000000000000000000000" + "0x2a2ab6b74c7af1d9476bb5bcb4524797bedc3552": { + "balance": "0x3635c9adc5dea00000" }, - "523e140dc811b186dee5d6c88bf68e90b8e096fd": { - "balance": "2000000000000000000000" + "0x523e140dc811b186dee5d6c88bf68e90b8e096fd": { + "balance": "0x6c6b935b8bbd400000" }, - "ea8168fbf225e786459ca6bb18d963d26b505309": { - "balance": "500000000000000000000" + "0xea8168fbf225e786459ca6bb18d963d26b505309": { + "balance": "0x1b1ae4d6e2ef500000" }, - "20ff3ede8cadb5c37b48cb14580fb65e23090a7b": { - "balance": "42000000000000000000000" + "0x20ff3ede8cadb5c37b48cb14580fb65e23090a7b": { + "balance": "0x8e4d316827686400000" }, - "e482d255ede56b04c3e8df151f56e9ca62aaa8c2": { - "balance": "500000000000000000000" + "0xe482d255ede56b04c3e8df151f56e9ca62aaa8c2": { + "balance": "0x1b1ae4d6e2ef500000" }, - "2e0880a34596230720f05ac8f065af8681dcb6c2": { - "balance": "100000000000000000000000" + "0x2e0880a34596230720f05ac8f065af8681dcb6c2": { + "balance": "0x152d02c7e14af6800000" }, - "c674f28c8afd073f8b799691b2f0584df942e844": { - "balance": "2000000000000000000000" + "0xc674f28c8afd073f8b799691b2f0584df942e844": { + "balance": "0x6c6b935b8bbd400000" }, - "b646df98b49442746b61525c81a3b04ba3106250": { - "balance": "1970000000000000000000" + "0xb646df98b49442746b61525c81a3b04ba3106250": { + "balance": "0x6acb3df27e1f880000" }, - "d55c1c8dfbe1e02cacbca60fdbdd405b09f0b75f": { - "balance": "2000000000000000000000" + "0xd55c1c8dfbe1e02cacbca60fdbdd405b09f0b75f": { + "balance": "0x6c6b935b8bbd400000" }, - "65ebaed27edb9dcc1957aee5f452ac2105a65c0e": { - "balance": "43531987000000000000000" + "0x65ebaed27edb9dcc1957aee5f452ac2105a65c0e": { + "balance": "0x937dfadae25e29b8000" }, - "f079e1b1265f50e8c8a98ec0c7815eb3aeac9eb4": { - "balance": "20094000000000000000" + "0xf079e1b1265f50e8c8a98ec0c7815eb3aeac9eb4": { + "balance": "0x116dc3a8994b30000" }, - "867eba56748a5904350d2ca2a5ce9ca00b670a9b": { - "balance": "20000000000000000000000" + "0x867eba56748a5904350d2ca2a5ce9ca00b670a9b": { + "balance": "0x43c33c1937564800000" }, - "51ee0cca3bcb10cd3e983722ced8493d926c0866": { - "balance": "999972000000000000000" + "0x51ee0cca3bcb10cd3e983722ced8493d926c0866": { + "balance": "0x36356633ebd8ea0000" }, - "88d541c840ce43cefbaf6d19af6b9859b573c145": { - "balance": "170000000000000000000" + "0x88d541c840ce43cefbaf6d19af6b9859b573c145": { + "balance": "0x93739534d28680000" }, - "f851b010f633c40af1a8f06a73ebbaab65077ab5": { - "balance": "4400000000000000000000" + "0xf851b010f633c40af1a8f06a73ebbaab65077ab5": { + "balance": "0xee86442fcd06c00000" }, - "e0aa69365555b73f282333d1e30c1bbd072854e8": { - "balance": "7000000000000000000000" + "0xe0aa69365555b73f282333d1e30c1bbd072854e8": { + "balance": "0x17b7883c06916600000" }, - "c7b1c83e63203f9547263ef6282e7da33b6ed659": { - "balance": "18200000000000000000" + "0xc7b1c83e63203f9547263ef6282e7da33b6ed659": { + "balance": "0xfc936392801c0000" }, - "af06f5fa6d1214ec43967d1bd4dde74ab814a938": { - "balance": "88000000000000000000" + "0xaf06f5fa6d1214ec43967d1bd4dde74ab814a938": { + "balance": "0x4c53ecdc18a600000" }, - "991173601947c2084a62d639527e961512579af9": { - "balance": "600000000000000000000" + "0x991173601947c2084a62d639527e961512579af9": { + "balance": "0x2086ac351052600000" }, - "7a381122bada791a7ab1f6037dac80432753baad": { - "balance": "10000000000000000000000" + "0x7a381122bada791a7ab1f6037dac80432753baad": { + "balance": "0x21e19e0c9bab2400000" }, - "e766f34ff16f3cfcc97321721f43ddf5a38b0cf4": { - "balance": "1550000000000000000000" + "0xe766f34ff16f3cfcc97321721f43ddf5a38b0cf4": { + "balance": "0x54069233bf7f780000" }, - "d785a8f18c38b9bc4ffb9b8fa8c7727bd642ee1c": { - "balance": "1000000000000000000000" + "0xd785a8f18c38b9bc4ffb9b8fa8c7727bd642ee1c": { + "balance": "0x3635c9adc5dea00000" }, - "aebd4f205de799b64b3564b256d42a711d37ef99": { - "balance": "1177100000000000000000" + "0xaebd4f205de799b64b3564b256d42a711d37ef99": { + "balance": "0x3fcf8b4574f84e0000" }, - "a2fa17c0fb506ce494008b9557841c3f641b8cae": { - "balance": "20000000000000000000" + "0xa2fa17c0fb506ce494008b9557841c3f641b8cae": { + "balance": "0x1158e460913d00000" }, - "a8aca748f9d312ec747f8b6578142694c7e9f399": { - "balance": "2000000000000000000000" + "0xa8aca748f9d312ec747f8b6578142694c7e9f399": { + "balance": "0x6c6b935b8bbd400000" }, - "950c68a40988154d2393fff8da7ccda99614f72c": { - "balance": "4597943000000000000000" + "0x950c68a40988154d2393fff8da7ccda99614f72c": { + "balance": "0xf94146fd8dcde58000" }, - "075d15e2d33d8b4fa7dba8b9e607f04a261e340b": { - "balance": "1910000000000000000000" + "0x075d15e2d33d8b4fa7dba8b9e607f04a261e340b": { + "balance": "0x678a932062e4180000" }, - "3616d448985f5d32aefa8b93a993e094bd854986": { - "balance": "205400000000000000000" + "0x3616d448985f5d32aefa8b93a993e094bd854986": { + "balance": "0xb227f63be813c0000" }, - "4bb9655cfb2a36ea7c637a7b859b4a3154e26ebe": { - "balance": "16000000000000000000000" + "0x4bb9655cfb2a36ea7c637a7b859b4a3154e26ebe": { + "balance": "0x3635c9adc5dea000000" }, - "84949dba559a63bfc845ded06e9f2d9b7f11ef24": { - "balance": "2000000000000000000000" + "0x84949dba559a63bfc845ded06e9f2d9b7f11ef24": { + "balance": "0x6c6b935b8bbd400000" }, - "937563d8a80fd5a537b0e66d20a02525d5d88660": { - "balance": "2500000000000000000000" + "0x937563d8a80fd5a537b0e66d20a02525d5d88660": { + "balance": "0x878678326eac900000" }, - "b183ebee4fcb42c220e47774f59d6c54d5e32ab1": { - "balance": "1604266000000000000000" + "0xb183ebee4fcb42c220e47774f59d6c54d5e32ab1": { + "balance": "0x56f7a9c33c04d10000" }, - "21e5d77320304c201c1e53b261a123d0a1063e81": { - "balance": "86972000000000000000" + "0x21e5d77320304c201c1e53b261a123d0a1063e81": { + "balance": "0x4b6fa9d33dd460000" }, - "fa14b566234abee73042c31d21717182cba14aa1": { - "balance": "328000000000000000000" + "0xfa14b566234abee73042c31d21717182cba14aa1": { + "balance": "0x11c7ea162e78200000" }, - "2da617695009cc57d26ad490b32a5dfbeb934e5e": { - "balance": "20000000000000000000000" + "0x2da617695009cc57d26ad490b32a5dfbeb934e5e": { + "balance": "0x43c33c1937564800000" }, - "3326b88de806184454c40b27f309d9dd6dcfb978": { - "balance": "17900000000000000000000" + "0x3326b88de806184454c40b27f309d9dd6dcfb978": { + "balance": "0x3ca5c66d9bc44300000" }, - "95e6a54b2d5f67a24a4875af75107ca7ea9fd2fa": { - "balance": "1337000000000000000000" + "0x95e6a54b2d5f67a24a4875af75107ca7ea9fd2fa": { + "balance": "0x487a9a304539440000" }, - "8db58e406e202df9bc703c480bd8ed248d52a032": { - "balance": "2000000000000000000000" + "0x8db58e406e202df9bc703c480bd8ed248d52a032": { + "balance": "0x6c6b935b8bbd400000" }, - "f777361a3dd8ab62e5f1b9b047568cc0b555704c": { - "balance": "1000000000000000000000" + "0xf777361a3dd8ab62e5f1b9b047568cc0b555704c": { + "balance": "0x3635c9adc5dea00000" }, - "83a93b5ba41bf88720e415790cdc0b67b4af34c4": { - "balance": "200000000000000000000" + "0x83a93b5ba41bf88720e415790cdc0b67b4af34c4": { + "balance": "0xad78ebc5ac6200000" }, - "8a1cc5ac111c49bfcfd848f37dd768aa65c88802": { - "balance": "10000000000000000000000" + "0x8a1cc5ac111c49bfcfd848f37dd768aa65c88802": { + "balance": "0x21e19e0c9bab2400000" }, - "52214378b54004056a7cc08c891327798ac6b248": { - "balance": "15200000000000000000000" + "0x52214378b54004056a7cc08c891327798ac6b248": { + "balance": "0x337fe5feaf2d1800000" }, - "ad80d865b85c34d2e6494b2e7aefea6b9af184db": { - "balance": "4000000000000000000000" + "0xad80d865b85c34d2e6494b2e7aefea6b9af184db": { + "balance": "0xd8d726b7177a800000" }, - "e7d6240620f42c5edbb2ede6aec43da4ed9b5757": { - "balance": "1000000000000000000000" + "0xe7d6240620f42c5edbb2ede6aec43da4ed9b5757": { + "balance": "0x3635c9adc5dea00000" }, - "d0e35e047646e759f4517093d6408642517f084d": { - "balance": "3939507000000000000000" + "0xd0e35e047646e759f4517093d6408642517f084d": { + "balance": "0xd58fa46818eccb8000" }, - "9340345ca6a3eabdb77363f2586043f29438ce0b": { - "balance": "530922000000000000000" + "0x9340345ca6a3eabdb77363f2586043f29438ce0b": { + "balance": "0x1cc805da0dfff10000" }, - "6640ccf053555c130ae2b656647ea6e31637b9ab": { - "balance": "1970000000000000000000" + "0x6640ccf053555c130ae2b656647ea6e31637b9ab": { + "balance": "0x6acb3df27e1f880000" }, - "184d86f3466ae6683b19729982e7a7e1a48347b2": { - "balance": "10000000000000000000000" + "0x184d86f3466ae6683b19729982e7a7e1a48347b2": { + "balance": "0x21e19e0c9bab2400000" }, - "84ec06f24700fe42414cb9897c154c88de2f6132": { - "balance": "1337000000000000000000" + "0x84ec06f24700fe42414cb9897c154c88de2f6132": { + "balance": "0x487a9a304539440000" }, - "d1e5e234a9f44266a4a6241a84d7a1a55ad5a7fe": { - "balance": "20000000000000000000000" + "0xd1e5e234a9f44266a4a6241a84d7a1a55ad5a7fe": { + "balance": "0x43c33c1937564800000" }, - "e8a9a41740f44f54c3688b53e1ddd42e43c9fe94": { - "balance": "4000000000000000000000" + "0xe8a9a41740f44f54c3688b53e1ddd42e43c9fe94": { + "balance": "0xd8d726b7177a800000" }, - "6e3a51db743d334d2fe88224b5fe7c008e80e624": { - "balance": "106000000000000000000" + "0x6e3a51db743d334d2fe88224b5fe7c008e80e624": { + "balance": "0x5bf0ba6634f680000" }, - "3e94df5313fa520570ef232bc3311d5f622ff183": { - "balance": "2000000000000000000000" + "0x3e94df5313fa520570ef232bc3311d5f622ff183": { + "balance": "0x6c6b935b8bbd400000" }, - "8957727e72cf629020f4e05edf799aa7458062d0": { - "balance": "2200000000000000000000" + "0x8957727e72cf629020f4e05edf799aa7458062d0": { + "balance": "0x77432217e683600000" }, - "cf5e0eacd1b39d0655f2f77535ef6608eb950ba0": { - "balance": "2000000000000000000000" + "0xcf5e0eacd1b39d0655f2f77535ef6608eb950ba0": { + "balance": "0x6c6b935b8bbd400000" }, - "f4aaa3a6163e3706577b49c0767e948a681e16ee": { - "balance": "2000000000000000000000" + "0xf4aaa3a6163e3706577b49c0767e948a681e16ee": { + "balance": "0x6c6b935b8bbd400000" }, - "97f1fe4c8083e596212a187728dd5cf80a31bec5": { - "balance": "20000000000000000000" + "0x97f1fe4c8083e596212a187728dd5cf80a31bec5": { + "balance": "0x1158e460913d00000" }, - "57d5fd0e3d3049330ffcdcd020456917657ba2da": { - "balance": "1991240000000000000000" + "0x57d5fd0e3d3049330ffcdcd020456917657ba2da": { + "balance": "0x6bf20195f554d40000" }, - "49bdbc7ba5abebb6389e91a3285220d3451bd253": { - "balance": "1000000000000000000000" + "0x49bdbc7ba5abebb6389e91a3285220d3451bd253": { + "balance": "0x3635c9adc5dea00000" }, - "ae126b382cf257fad7f0bc7d16297e54cc7267da": { - "balance": "300000000000000000000" + "0xae126b382cf257fad7f0bc7d16297e54cc7267da": { + "balance": "0x1043561a8829300000" }, - "bbf8616d97724af3def165d0e28cda89b800009a": { - "balance": "114063000000000000000" + "0xbbf8616d97724af3def165d0e28cda89b800009a": { + "balance": "0x62ef12e2b17618000" }, - "adb948b1b6fefe207de65e9bbc2de98e605d0b57": { - "balance": "2000000000000000000000" + "0xadb948b1b6fefe207de65e9bbc2de98e605d0b57": { + "balance": "0x6c6b935b8bbd400000" }, - "8a217db38bc35f215fd92906be42436fe7e6ed19": { - "balance": "6000000000000000000000" + "0x8a217db38bc35f215fd92906be42436fe7e6ed19": { + "balance": "0x14542ba12a337c00000" }, - "e28b062259e96eeb3c8d4104943f9eb325893cf5": { - "balance": "1337000000000000000000" + "0xe28b062259e96eeb3c8d4104943f9eb325893cf5": { + "balance": "0x487a9a304539440000" }, - "6a6b18a45a76467e2e5d5a2ef911c3e12929857b": { - "balance": "82000000000000000000000" + "0x6a6b18a45a76467e2e5d5a2ef911c3e12929857b": { + "balance": "0x115d3a99a9614f400000" }, - "cb68ae5abe02dcf8cbc5aa719c25814651af8b85": { - "balance": "500000000000000000000" + "0xcb68ae5abe02dcf8cbc5aa719c25814651af8b85": { + "balance": "0x1b1ae4d6e2ef500000" }, - "4c7e2e2b77ad0cd6f44acb2861f0fb8b28750ef9": { - "balance": "20000000000000000000" + "0x4c7e2e2b77ad0cd6f44acb2861f0fb8b28750ef9": { + "balance": "0x1158e460913d00000" }, - "58ba1569650e5bbbb21d35d3e175c0d6b0c651a9": { - "balance": "500000000000000000000" + "0x58ba1569650e5bbbb21d35d3e175c0d6b0c651a9": { + "balance": "0x1b1ae4d6e2ef500000" }, - "1eb4bf73156a82a0a6822080c6edf49c469af8b9": { - "balance": "1910000000000000000000" + "0x1eb4bf73156a82a0a6822080c6edf49c469af8b9": { + "balance": "0x678a932062e4180000" }, - "4103299671d46763978fa4aa19ee34b1fc952784": { - "balance": "200000000000000000000" + "0x4103299671d46763978fa4aa19ee34b1fc952784": { + "balance": "0xad78ebc5ac6200000" }, - "e321bb4a946adafdade4571fb15c0043d39ee35f": { - "balance": "1575212000000000000000" + "0xe321bb4a946adafdade4571fb15c0043d39ee35f": { + "balance": "0x556475382b4c9e0000" }, - "893608751d68d046e85802926673cdf2f57f7cb8": { - "balance": "19700000000000000000" + "0x893608751d68d046e85802926673cdf2f57f7cb8": { + "balance": "0x11164759ffb320000" }, - "70fee08b00c6c2c04a3c625c1ff77caf1c32df01": { - "balance": "200000000000000000000" + "0x70fee08b00c6c2c04a3c625c1ff77caf1c32df01": { + "balance": "0xad78ebc5ac6200000" }, - "7b0fea1176d52159333a143c294943da36bbddb4": { - "balance": "9380000000000000000000" + "0x7b0fea1176d52159333a143c294943da36bbddb4": { + "balance": "0x1fc7da64ea14c100000" }, - "d331c823825a9e5263d052d8915d4dcde07a5c37": { - "balance": "564000000000000000000" + "0xd331c823825a9e5263d052d8915d4dcde07a5c37": { + "balance": "0x1e931283ccc8500000" }, - "a45432a6f2ac9d56577b938a37fabac8cc7c461c": { - "balance": "1000000000000000000000" + "0xa45432a6f2ac9d56577b938a37fabac8cc7c461c": { + "balance": "0x3635c9adc5dea00000" }, - "764fc46d428b6dbc228a0f5f55c9508c772eab9f": { - "balance": "26000000000000000000000" + "0x764fc46d428b6dbc228a0f5f55c9508c772eab9f": { + "balance": "0x581767ba6189c400000" }, - "1a95a8a8082e4652e4170df9271cb4bb4305f0b2": { - "balance": "50000000000000000000" + "0x1a95a8a8082e4652e4170df9271cb4bb4305f0b2": { + "balance": "0x2b5e3af16b1880000" }, - "08c9f1bfb689fdf804d769f82123360215aff93b": { - "balance": "1970000000000000000000" + "0x08c9f1bfb689fdf804d769f82123360215aff93b": { + "balance": "0x6acb3df27e1f880000" }, - "1572cdfab72a01ce968e78f5b5448da29853fbdd": { - "balance": "5061500000000000000000" + "0x1572cdfab72a01ce968e78f5b5448da29853fbdd": { + "balance": "0x112626c49060fa60000" }, - "379c7166849bc24a02d6535e2def13daeef8aa8d": { - "balance": "100000000000000000000" + "0x379c7166849bc24a02d6535e2def13daeef8aa8d": { + "balance": "0x56bc75e2d63100000" }, - "e0a254ac09b9725bebc8e460431dd0732ebcabbf": { - "balance": "6000000000000000000000" + "0xe0a254ac09b9725bebc8e460431dd0732ebcabbf": { + "balance": "0x14542ba12a337c00000" }, - "3225c1ca5f2a9c88156bb7d9cdc44a326653c214": { - "balance": "400000000000000000000" + "0x3225c1ca5f2a9c88156bb7d9cdc44a326653c214": { + "balance": "0x15af1d78b58c400000" }, - "84686c7bad762c54b667d59f90943cd14d117a26": { - "balance": "20000000000000000000" + "0x84686c7bad762c54b667d59f90943cd14d117a26": { + "balance": "0x1158e460913d00000" }, - "3d5a8b2b80be8b35d8ecf789b5ed7a0775c5076c": { - "balance": "20000000000000000000" + "0x3d5a8b2b80be8b35d8ecf789b5ed7a0775c5076c": { + "balance": "0x1158e460913d00000" }, - "2ccf80e21898125eb4e807cd82e09b9d28592f6e": { - "balance": "2000000000000000000000" + "0x2ccf80e21898125eb4e807cd82e09b9d28592f6e": { + "balance": "0x6c6b935b8bbd400000" }, - "dde969aef34ea87ac299b7597e292b4a0155cc8a": { - "balance": "298819000000000000000" + "0xdde969aef34ea87ac299b7597e292b4a0155cc8a": { + "balance": "0x1032f2594a01738000" }, - "19e94e620050aad766b9e1bad931238312d4bf49": { - "balance": "2396000000000000000000" + "0x19e94e620050aad766b9e1bad931238312d4bf49": { + "balance": "0x81e32df972abf00000" }, - "959f57fded6ae37913d900b81e5f48a79322c627": { - "balance": "255599000000000000000" + "0x959f57fded6ae37913d900b81e5f48a79322c627": { + "balance": "0xddb26104749118000" }, - "b9b0a3219a3288d9b35b091b14650b8fe23dce2b": { - "balance": "14000000000000000000000" + "0xb9b0a3219a3288d9b35b091b14650b8fe23dce2b": { + "balance": "0x2f6f10780d22cc00000" }, - "3575c770668a9d179f1ef768c293f80166e2aa3d": { - "balance": "474000000000000000000" + "0x3575c770668a9d179f1ef768c293f80166e2aa3d": { + "balance": "0x19b21248a3ef280000" }, - "58f05b262560503ca761c61890a4035f4c737280": { - "balance": "8000000000000000000000" + "0x58f05b262560503ca761c61890a4035f4c737280": { + "balance": "0x1b1ae4d6e2ef5000000" }, - "3286d1bc657a312c8847d93cb3cb7950f2b0c6e3": { - "balance": "20000000000000000000000" + "0x3286d1bc657a312c8847d93cb3cb7950f2b0c6e3": { + "balance": "0x43c33c1937564800000" }, - "1d9e6aaf8019a05f230e5def05af5d889bd4d0f2": { - "balance": "133700000000000000000" + "0x1d9e6aaf8019a05f230e5def05af5d889bd4d0f2": { + "balance": "0x73f75d1a085ba0000" }, - "a375b4bc24a24e1f797593cc302b2f331063fa5c": { - "balance": "200000000000000000000" + "0xa375b4bc24a24e1f797593cc302b2f331063fa5c": { + "balance": "0xad78ebc5ac6200000" }, - "108ba7c2895c50e072dc6f964932d50c282d3034": { - "balance": "500000000000000000000" + "0x108ba7c2895c50e072dc6f964932d50c282d3034": { + "balance": "0x1b1ae4d6e2ef500000" }, - "b6b34a263f10c3d2eceb0acc559a7b2ab85ce565": { - "balance": "4000000000000000000000" + "0xb6b34a263f10c3d2eceb0acc559a7b2ab85ce565": { + "balance": "0xd8d726b7177a800000" }, - "a4d2b429f1ad5349e31704969edc5f25ee8aca10": { - "balance": "10000000000000000000000" + "0xa4d2b429f1ad5349e31704969edc5f25ee8aca10": { + "balance": "0x21e19e0c9bab2400000" }, - "674adb21df4c98c7a347ac4c3c24266757dd7039": { - "balance": "2000000000000000000000" + "0x674adb21df4c98c7a347ac4c3c24266757dd7039": { + "balance": "0x6c6b935b8bbd400000" }, - "33565ba9da2c03e778ce12294f081dfe81064d24": { - "balance": "16000000000000000000000" + "0x33565ba9da2c03e778ce12294f081dfe81064d24": { + "balance": "0x3635c9adc5dea000000" }, - "4ddda7586b2237b053a7f3289cf460dc57d37a09": { - "balance": "10000000000000000000000" + "0x4ddda7586b2237b053a7f3289cf460dc57d37a09": { + "balance": "0x21e19e0c9bab2400000" }, - "cc4faac00be6628f92ef6b8cb1b1e76aac81fa18": { - "balance": "205410000000000000000" + "0xcc4faac00be6628f92ef6b8cb1b1e76aac81fa18": { + "balance": "0xb22a2eab0f0fd0000" }, - "5f99dc8e49e61d57daef606acdd91b4d7007326a": { - "balance": "3000000000000000000000" + "0x5f99dc8e49e61d57daef606acdd91b4d7007326a": { + "balance": "0xa2a15d09519be00000" }, - "b8a979352759ba09e35aa5935df175bff678a108": { - "balance": "20000000000000000000" + "0xb8a979352759ba09e35aa5935df175bff678a108": { + "balance": "0x1158e460913d00000" }, - "86fff220e59305c09f483860d6f94e96fbe32f57": { - "balance": "42900000000000000000" + "0x86fff220e59305c09f483860d6f94e96fbe32f57": { + "balance": "0x2535b6ab4c0420000" }, - "03e8b084537557e709eae2e1e1a5a6bce1ef8314": { - "balance": "20000000000000000000" + "0x03e8b084537557e709eae2e1e1a5a6bce1ef8314": { + "balance": "0x1158e460913d00000" }, - "dda4ff7de491c687df4574dd1b17ff8f246ba3d1": { - "balance": "19600000000000000000000" + "0xdda4ff7de491c687df4574dd1b17ff8f246ba3d1": { + "balance": "0x42684a41abfd8400000" }, - "2538532936813c91e653284f017c80c3b8f8a36f": { - "balance": "2002000000000000000000" + "0x2538532936813c91e653284f017c80c3b8f8a36f": { + "balance": "0x6c8754c8f30c080000" }, - "5a82f96cd4b7e2d93d10f3185dc8f43d4b75aa69": { - "balance": "1999400000000000000000" + "0x5a82f96cd4b7e2d93d10f3185dc8f43d4b75aa69": { + "balance": "0x6c633fbab98c040000" }, - "86740a46648e845a5d96461b18091ff57be8a16f": { - "balance": "98000000000000000000000" + "0x86740a46648e845a5d96461b18091ff57be8a16f": { + "balance": "0x14c0973485bf39400000" }, - "7e3f63e13129a221ba1ab06326342cd98b5126ae": { - "balance": "1597960000000000000000" + "0x7e3f63e13129a221ba1ab06326342cd98b5126ae": { + "balance": "0x56a02659a523340000" }, - "1f5f3b34bd134b2781afe5a0424ac5846cdefd11": { - "balance": "99000000000000000000" + "0x1f5f3b34bd134b2781afe5a0424ac5846cdefd11": { + "balance": "0x55de6a779bbac0000" }, - "39936c2719450b9420cc2522cf91db01f227c1c1": { - "balance": "500000000000000000000" + "0x39936c2719450b9420cc2522cf91db01f227c1c1": { + "balance": "0x1b1ae4d6e2ef500000" }, - "967076a877b18ec15a415bb116f06ef32645dba3": { - "balance": "2000000000000000000000" + "0x967076a877b18ec15a415bb116f06ef32645dba3": { + "balance": "0x6c6b935b8bbd400000" }, - "a42908e7fe53980a9abf4044e957a54b70e99cbe": { - "balance": "2000000000000000000000" + "0xa42908e7fe53980a9abf4044e957a54b70e99cbe": { + "balance": "0x6c6b935b8bbd400000" }, - "5eb371c407406c427b3b7de271ad3c1e04269579": { - "balance": "3000000000000000000000" + "0x5eb371c407406c427b3b7de271ad3c1e04269579": { + "balance": "0xa2a15d09519be00000" }, - "a570223ae3caa851418a9843a1ac55db4824f4fd": { - "balance": "200000000000000000000" + "0xa570223ae3caa851418a9843a1ac55db4824f4fd": { + "balance": "0xad78ebc5ac6200000" }, - "764692cccb33405dd0ab0c3379b49caf8e6221ba": { - "balance": "20000000000000000000" + "0x764692cccb33405dd0ab0c3379b49caf8e6221ba": { + "balance": "0x1158e460913d00000" }, - "a365918bfe3f2627b9f3a86775d8756e0fd8a94b": { - "balance": "400000000000000000000" + "0xa365918bfe3f2627b9f3a86775d8756e0fd8a94b": { + "balance": "0x15af1d78b58c400000" }, - "069ed0ab7aa77de571f16106051d92afe195f2d0": { - "balance": "200000000000000000000" + "0x069ed0ab7aa77de571f16106051d92afe195f2d0": { + "balance": "0xad78ebc5ac6200000" }, - "bd432a3916249b4724293af9146e49b8280a7f2a": { - "balance": "4000000000000000000000" + "0xbd432a3916249b4724293af9146e49b8280a7f2a": { + "balance": "0xd8d726b7177a800000" }, - "61c9dce8b2981cb40e98b0402bc3eb28348f03ac": { - "balance": "196910000000000000000" + "0x61c9dce8b2981cb40e98b0402bc3eb28348f03ac": { + "balance": "0xaacacd9b9e22b0000" }, - "8f1fcc3c51e252b693bc5b0ec3f63529fe69281e": { - "balance": "6000000000000000000000" + "0x8f1fcc3c51e252b693bc5b0ec3f63529fe69281e": { + "balance": "0x14542ba12a337c00000" }, - "55fd08d18064bd202c0ec3d2cce0ce0b9d169c4d": { - "balance": "1970000000000000000000" + "0x55fd08d18064bd202c0ec3d2cce0ce0b9d169c4d": { + "balance": "0x6acb3df27e1f880000" }, - "383a7c899ee18bc214969870bc7482f6d8f3570e": { - "balance": "10000000000000000000000" + "0x383a7c899ee18bc214969870bc7482f6d8f3570e": { + "balance": "0x21e19e0c9bab2400000" }, - "b14cc8de33d6338236539a489020ce4655a32bc6": { - "balance": "8000000000000000000000" + "0xb14cc8de33d6338236539a489020ce4655a32bc6": { + "balance": "0x1b1ae4d6e2ef5000000" }, - "448bf410ad9bbc2fecc4508d87a7fc2e4b8561ad": { - "balance": "199955000000000000000" + "0x448bf410ad9bbc2fecc4508d87a7fc2e4b8561ad": { + "balance": "0xad6eedd17cf3b8000" }, - "06f7dc8d1b9462cef6feb13368a7e3974b097f9f": { - "balance": "2000000000000000000000" + "0x06f7dc8d1b9462cef6feb13368a7e3974b097f9f": { + "balance": "0x6c6b935b8bbd400000" }, - "9c9f89a3910f6a2ae8a91047a17ab788bddec170": { - "balance": "10000000000000000000000" + "0x9c9f89a3910f6a2ae8a91047a17ab788bddec170": { + "balance": "0x21e19e0c9bab2400000" }, - "5de598aba344378cab4431555b4f79992dc290c6": { - "balance": "1337000000000000000000" + "0x5de598aba344378cab4431555b4f79992dc290c6": { + "balance": "0x487a9a304539440000" }, - "87e6034ecf23f8b5639d5f0ea70a22538a920423": { - "balance": "328000000000000000000" + "0x87e6034ecf23f8b5639d5f0ea70a22538a920423": { + "balance": "0x11c7ea162e78200000" }, - "8b27392206b958cd375d7ef8af2cf8ef0598c0bc": { - "balance": "1000000000000000000000" + "0x8b27392206b958cd375d7ef8af2cf8ef0598c0bc": { + "balance": "0x3635c9adc5dea00000" }, - "49136fe6e28b7453fcb16b6bbbe9aaacba8337fd": { - "balance": "2000000000000000000000" + "0x49136fe6e28b7453fcb16b6bbbe9aaacba8337fd": { + "balance": "0x6c6b935b8bbd400000" }, - "6982fe8a867e93eb4a0bd051589399f2ec9a5292": { - "balance": "2000000000000000000000" + "0x6982fe8a867e93eb4a0bd051589399f2ec9a5292": { + "balance": "0x6c6b935b8bbd400000" }, - "9fd1052a60506bd1a9ef003afd9d033c267d8e99": { - "balance": "1000000000000000000000" + "0x9fd1052a60506bd1a9ef003afd9d033c267d8e99": { + "balance": "0x3635c9adc5dea00000" }, - "d38fa2c4cc147ad06ad5a2f75579281f22a7cc1f": { - "balance": "20000000000000000000000" + "0xd38fa2c4cc147ad06ad5a2f75579281f22a7cc1f": { + "balance": "0x43c33c1937564800000" }, - "6f794dbdf623daa6e0d00774ad6962737c921ea4": { - "balance": "2000000000000000000000" + "0x6f794dbdf623daa6e0d00774ad6962737c921ea4": { + "balance": "0x6c6b935b8bbd400000" }, - "e96b184e1f0f54924ac874f60bbf44707446b72b": { - "balance": "2910840000000000000000" + "0xe96b184e1f0f54924ac874f60bbf44707446b72b": { + "balance": "0x9dcc0515b56e0c0000" }, - "b5ba29917c78a1d9e5c5c713666c1e411d7f693a": { - "balance": "3100000000000000000000" + "0xb5ba29917c78a1d9e5c5c713666c1e411d7f693a": { + "balance": "0xa80d24677efef00000" }, - "81d619ff5726f2405f12904c72eb1e24a0aaee4f": { - "balance": "20000000000000000000000" + "0x81d619ff5726f2405f12904c72eb1e24a0aaee4f": { + "balance": "0x43c33c1937564800000" }, - "b02fa29387ec12e37f6922ac4ce98c5b09e0b00f": { - "balance": "2000000000000000000000" + "0xb02fa29387ec12e37f6922ac4ce98c5b09e0b00f": { + "balance": "0x6c6b935b8bbd400000" }, - "b7230d1d1ff2aca366963914a79df9f7c5ea2c98": { - "balance": "8000000000000000000000" + "0xb7230d1d1ff2aca366963914a79df9f7c5ea2c98": { + "balance": "0x1b1ae4d6e2ef5000000" }, - "7b4007c45e5a573fdbb6f8bd746bf94ad04a3c26": { - "balance": "15202564000000000000000" + "0x7b4007c45e5a573fdbb6f8bd746bf94ad04a3c26": { + "balance": "0x33821f5135d259a0000" }, - "8d9a0c70d2262042df1017d6c303132024772712": { - "balance": "2000000000000000000000" + "0x8d9a0c70d2262042df1017d6c303132024772712": { + "balance": "0x6c6b935b8bbd400000" }, - "323aad41df4b6fc8fece8c93958aa901fa680843": { - "balance": "970000000000000000000" + "0x323aad41df4b6fc8fece8c93958aa901fa680843": { + "balance": "0x34957444b840e80000" }, - "db04fad9c49f9e880beb8fcf1d3a3890e4b3846f": { - "balance": "1242482000000000000000" + "0xdb04fad9c49f9e880beb8fcf1d3a3890e4b3846f": { + "balance": "0x435ae6cc0c58e50000" }, - "27824666d278d70423f03dfe1dc7a3f02f43e2b5": { - "balance": "1000070000000000000000" + "0x27824666d278d70423f03dfe1dc7a3f02f43e2b5": { + "balance": "0x3636c25e66ece70000" }, - "e04920dc6ecc1d6ecc084f88aa0af5db97bf893a": { - "balance": "182000000000000000000" + "0xe04920dc6ecc1d6ecc084f88aa0af5db97bf893a": { + "balance": "0x9ddc1e3b901180000" }, - "b0c1b177a220e41f7c74d07cde8569c21c75c2f9": { - "balance": "5600000000000000000000" + "0xb0c1b177a220e41f7c74d07cde8569c21c75c2f9": { + "balance": "0x12f939c99edab800000" }, - "7864dc999fe4f8e003c0f43decc39aae1522dc0f": { - "balance": "94400000000000000000" + "0x7864dc999fe4f8e003c0f43decc39aae1522dc0f": { + "balance": "0x51e102bd8ece00000" }, - "c75c37ce2da06bbc40081159c6ba0f976e3993b1": { - "balance": "1078640000000000000000" + "0xc75c37ce2da06bbc40081159c6ba0f976e3993b1": { + "balance": "0x3a7923151ecf580000" }, - "179a825e0f1f6e985309668465cffed436f6aea9": { - "balance": "20000000000000000000" + "0x179a825e0f1f6e985309668465cffed436f6aea9": { + "balance": "0x1158e460913d00000" }, - "2c6b699d9ead349f067f45711a074a641db6a897": { - "balance": "20000000000000000000" + "0x2c6b699d9ead349f067f45711a074a641db6a897": { + "balance": "0x1158e460913d00000" }, - "068ce8bd6e902a45cb83b51541b40f39c4469712": { - "balance": "5240000000000000000000" + "0x068ce8bd6e902a45cb83b51541b40f39c4469712": { + "balance": "0x11c0f9bad4a46e00000" }, - "767ac690791c2e23451089fe6c7083fe55deb62b": { - "balance": "820000000000000000000" + "0x767ac690791c2e23451089fe6c7083fe55deb62b": { + "balance": "0x2c73c937742c500000" }, - "b34f04b8db65bba9c26efc4ce6efc50481f3d65d": { - "balance": "20000000000000000000000" + "0xb34f04b8db65bba9c26efc4ce6efc50481f3d65d": { + "balance": "0x43c33c1937564800000" }, - "29aef48de8c9fbad4b9e4ca970797a5533eb722d": { - "balance": "10000000000000000000000" + "0x29aef48de8c9fbad4b9e4ca970797a5533eb722d": { + "balance": "0x21e19e0c9bab2400000" }, - "0a0ecda6636f7716ef1973614687fd89a820a706": { - "balance": "394000000000000000000" + "0x0a0ecda6636f7716ef1973614687fd89a820a706": { + "balance": "0x155bd9307f9fe80000" }, - "b32825d5f3db249ef4e85cc4f33153958976e8bc": { - "balance": "501375000000000000000" + "0xb32825d5f3db249ef4e85cc4f33153958976e8bc": { + "balance": "0x1b2df9d219f5798000" }, - "7ef16fd8d15b378a0fba306b8d03dd98fc92619f": { - "balance": "700000000000000000000" + "0x7ef16fd8d15b378a0fba306b8d03dd98fc92619f": { + "balance": "0x25f273933db5700000" }, - "b58b52865ea55d8036f2fab26098b352ca837e18": { - "balance": "18200000000000000000" + "0xb58b52865ea55d8036f2fab26098b352ca837e18": { + "balance": "0xfc936392801c0000" }, - "9b658fb361e046d4fcaa8aef6d02a99111223625": { - "balance": "2000000000000000000000" + "0x9b658fb361e046d4fcaa8aef6d02a99111223625": { + "balance": "0x6c6b935b8bbd400000" }, - "b2a498f03bd7178bd8a789a00f5237af79a3e3f8": { - "balance": "19400000000000000000000" + "0xb2a498f03bd7178bd8a789a00f5237af79a3e3f8": { + "balance": "0x41bad155e6512200000" }, - "cb48fe8265d9af55eb7006bc335645b0a3a183be": { - "balance": "3000000000000000000000" + "0xcb48fe8265d9af55eb7006bc335645b0a3a183be": { + "balance": "0xa2a15d09519be00000" }, - "3cf9a1d465e78b7039e3694478e2627b36fcd141": { - "balance": "1372000000000000000000" + "0x3cf9a1d465e78b7039e3694478e2627b36fcd141": { + "balance": "0x4a60532ad51bf00000" }, - "5db84400570069a9573cab04b4e6b69535e202b8": { - "balance": "9700000000000000000000" + "0x5db84400570069a9573cab04b4e6b69535e202b8": { + "balance": "0x20dd68aaf3289100000" }, - "214c89c5bd8e7d22bc574bb35e48950211c6f776": { - "balance": "18903000000000000000" + "0x214c89c5bd8e7d22bc574bb35e48950211c6f776": { + "balance": "0x10654f258fd358000" }, - "53396f4a26c2b4604496306c5442e7fcba272e36": { - "balance": "20055000000000000000000" + "0x53396f4a26c2b4604496306c5442e7fcba272e36": { + "balance": "0x43f2f08d40e5afc0000" }, - "720994dbe56a3a95929774e20e1fe525cf3704e4": { - "balance": "8000000000000000000000" + "0x720994dbe56a3a95929774e20e1fe525cf3704e4": { + "balance": "0x1b1ae4d6e2ef5000000" }, - "3571cf7ad304ecaee595792f4bbfa484418549d6": { - "balance": "5825500000000000000000" + "0x3571cf7ad304ecaee595792f4bbfa484418549d6": { + "balance": "0x13bcd0d892d9e160000" }, - "6042c644bae2b96f25f94d31f678c90dc96690db": { - "balance": "2000000000000000000000" + "0x6042c644bae2b96f25f94d31f678c90dc96690db": { + "balance": "0x6c6b935b8bbd400000" }, - "2e24b597873bb141bdb237ea8a5ab747799af02d": { - "balance": "20000000000000000000000" + "0x2e24b597873bb141bdb237ea8a5ab747799af02d": { + "balance": "0x43c33c1937564800000" }, - "08c802f87758349fa03e6bc2e2fd0791197eea9a": { - "balance": "2000000000000000000000" + "0x08c802f87758349fa03e6bc2e2fd0791197eea9a": { + "balance": "0x6c6b935b8bbd400000" }, - "297a88921b5fca10e5bb9ded60025437ae221694": { - "balance": "200000000000000000000" + "0x297a88921b5fca10e5bb9ded60025437ae221694": { + "balance": "0xad78ebc5ac6200000" }, - "aee49d68adedb081fd43705a5f78c778fb90de48": { - "balance": "20000000000000000000" + "0xaee49d68adedb081fd43705a5f78c778fb90de48": { + "balance": "0x1158e460913d00000" }, - "4cee901b4ac8b156c5e2f8a6f1bef572a7dceb7e": { - "balance": "1000000000000000000000" + "0x4cee901b4ac8b156c5e2f8a6f1bef572a7dceb7e": { + "balance": "0x3635c9adc5dea00000" }, - "dfaf31e622c03d9e18a0ddb8be60fbe3e661be0a": { - "balance": "9999800000000000000000" + "0xdfaf31e622c03d9e18a0ddb8be60fbe3e661be0a": { + "balance": "0x21e171a3ec9f72c0000" }, - "00aa5381b2138ebeffc191d5d8c391753b7098d2": { - "balance": "990049000000000000000" + "0x00aa5381b2138ebeffc191d5d8c391753b7098d2": { + "balance": "0x35abb09ffedeb68000" }, - "5b4c0c60f10ed2894bdb42d9dd1d210587810a0d": { - "balance": "500000000000000000000" + "0x5b4c0c60f10ed2894bdb42d9dd1d210587810a0d": { + "balance": "0x1b1ae4d6e2ef500000" }, - "c44f4ab5bc60397c737eb0683391b633f83c48fa": { - "balance": "1000000000000000000000" + "0xc44f4ab5bc60397c737eb0683391b633f83c48fa": { + "balance": "0x3635c9adc5dea00000" }, - "50bef2756248f9a7a380f91b051ba3be28a649ed": { - "balance": "1999884000000000000000" + "0x50bef2756248f9a7a380f91b051ba3be28a649ed": { + "balance": "0x6c69f73e29134e0000" }, - "1bd909ac0d4a1102ec98dcf2cca96a0adcd7a951": { - "balance": "20055000000000000000" + "0x1bd909ac0d4a1102ec98dcf2cca96a0adcd7a951": { + "balance": "0x11651ac3e7a758000" }, - "9ec03e02e587b7769def538413e97f7e55be71d8": { - "balance": "19700000000000000000000" + "0x9ec03e02e587b7769def538413e97f7e55be71d8": { + "balance": "0x42bf06b78ed3b500000" }, - "9874803fe1f3a0365e7922b14270eaeb032cc1b5": { - "balance": "1124500000000000000000" + "0x9874803fe1f3a0365e7922b14270eaeb032cc1b5": { + "balance": "0x3cf5928824c6c20000" }, - "4e2310191ead8d3bc6489873a5f0c2ec6b87e1be": { - "balance": "1000000000000000000000" + "0x4e2310191ead8d3bc6489873a5f0c2ec6b87e1be": { + "balance": "0x3635c9adc5dea00000" }, - "93678a3c57151aeb68efdc43ef4d36cb59a009f3": { - "balance": "30060000000000000000" + "0x93678a3c57151aeb68efdc43ef4d36cb59a009f3": { + "balance": "0x1a12a92bc3c3e0000" }, - "f483f607a21fcc28100a018c568ffbe140380410": { - "balance": "1000000000000000000000" + "0xf483f607a21fcc28100a018c568ffbe140380410": { + "balance": "0x3635c9adc5dea00000" }, - "2a91a9fed41b7d0e5cd2d83158d3e8a41a9a2d71": { - "balance": "1940000000000000000000" + "0x2a91a9fed41b7d0e5cd2d83158d3e8a41a9a2d71": { + "balance": "0x692ae8897081d00000" }, - "240e559e274aaef0c258998c979f671d1173b88b": { - "balance": "4000000000000000000000" + "0x240e559e274aaef0c258998c979f671d1173b88b": { + "balance": "0xd8d726b7177a800000" }, - "108a2b7c336f784779d8b54d02a8d31d9a139c0a": { - "balance": "10000000000000000000000" + "0x108a2b7c336f784779d8b54d02a8d31d9a139c0a": { + "balance": "0x21e19e0c9bab2400000" }, - "9c98fdf1fdcd8ba8f4c5b04c3ae8587efdf0f6e6": { - "balance": "6000000000000000000000" + "0x9c98fdf1fdcd8ba8f4c5b04c3ae8587efdf0f6e6": { + "balance": "0x14542ba12a337c00000" }, - "194ff44aefc17bd20efd7a204c47d1620c86db5d": { - "balance": "2999400000000000000000" + "0x194ff44aefc17bd20efd7a204c47d1620c86db5d": { + "balance": "0xa29909687f6aa40000" }, - "1f8116bd0af5570eaf0c56c49c7ab5e37a580458": { - "balance": "2000000000000000000000" + "0x1f8116bd0af5570eaf0c56c49c7ab5e37a580458": { + "balance": "0x6c6b935b8bbd400000" }, - "d79835e404fb86bf845fba090d6ba25e0c8866a6": { - "balance": "2400000000000000000000" + "0xd79835e404fb86bf845fba090d6ba25e0c8866a6": { + "balance": "0x821ab0d44149800000" }, - "a8e7201ff619faffc332e6ad37ed41e301bf014a": { - "balance": "600000000000000000000" + "0xa8e7201ff619faffc332e6ad37ed41e301bf014a": { + "balance": "0x2086ac351052600000" }, - "286906b6bd4972e3c71655e04baf36260c7cb153": { - "balance": "340000000000000000000" + "0x286906b6bd4972e3c71655e04baf36260c7cb153": { + "balance": "0x126e72a69a50d00000" }, - "db4bc83b0e6baadb1156c5cf06e0f721808c52c7": { - "balance": "880000000000000000000" + "0xdb4bc83b0e6baadb1156c5cf06e0f721808c52c7": { + "balance": "0x2fb474098f67c00000" }, - "a158148a2e0f3e92dc2ce38febc20107e3253c96": { - "balance": "2000000000000000000000" + "0xa158148a2e0f3e92dc2ce38febc20107e3253c96": { + "balance": "0x6c6b935b8bbd400000" }, - "9f6a322a6d469981426ae844865d7ee0bb15c7b3": { - "balance": "50003000000000000000" + "0x9f6a322a6d469981426ae844865d7ee0bb15c7b3": { + "balance": "0x2b5ee57929fdb8000" }, - "32f29e8727a74c6b4301e3ffff0687c1b870dae9": { - "balance": "1000000000000000000000" + "0x32f29e8727a74c6b4301e3ffff0687c1b870dae9": { + "balance": "0x3635c9adc5dea00000" }, - "19918aa09e7d494e98ffa5db50350892f7156ac6": { - "balance": "10000000000000000000000" + "0x19918aa09e7d494e98ffa5db50350892f7156ac6": { + "balance": "0x21e19e0c9bab2400000" }, - "5a5f8508da0ebebb90be9033bd4d9e274105ae00": { - "balance": "6685000000000000000000" + "0x5a5f8508da0ebebb90be9033bd4d9e274105ae00": { + "balance": "0x16a6502f15a1e540000" }, - "6fc25e7e00ca4f60a9fe6f28d1fde3542e2d1079": { - "balance": "792000000000000000000" + "0x6fc25e7e00ca4f60a9fe6f28d1fde3542e2d1079": { + "balance": "0x2aef353bcddd600000" }, - "72094f3951ffc9771dced23ada080bcaf9c7cca7": { - "balance": "6000000000000000000000" + "0x72094f3951ffc9771dced23ada080bcaf9c7cca7": { + "balance": "0x14542ba12a337c00000" }, - "43f7e86e381ec51ec4906d1476cba97a3db584e4": { - "balance": "1000000000000000000000" + "0x43f7e86e381ec51ec4906d1476cba97a3db584e4": { + "balance": "0x3635c9adc5dea00000" }, - "05696b73916bd3033e05521e3211dfec026e98e4": { - "balance": "2000000000000000000000" + "0x05696b73916bd3033e05521e3211dfec026e98e4": { + "balance": "0x6c6b935b8bbd400000" }, - "5e7f70378775589fc66a81d3f653e954f55560eb": { - "balance": "2434000000000000000000" + "0x5e7f70378775589fc66a81d3f653e954f55560eb": { + "balance": "0x83f289181d84c80000" }, - "895613236f3584216ad75c5d3e07e3fa6863a778": { - "balance": "2000000000000000000000" + "0x895613236f3584216ad75c5d3e07e3fa6863a778": { + "balance": "0x6c6b935b8bbd400000" }, - "4eb1454b573805c8aca37edec7149a41f61202f4": { - "balance": "300000000000000000000" + "0x4eb1454b573805c8aca37edec7149a41f61202f4": { + "balance": "0x1043561a8829300000" }, - "d99999a2490d9494a530cae4daf38554f4dd633e": { - "balance": "120000000000000000000" + "0xd99999a2490d9494a530cae4daf38554f4dd633e": { + "balance": "0x68155a43676e00000" }, - "1704cefcfb1331ec7a78388b29393e85c1af7916": { - "balance": "400000000000000000000" + "0x1704cefcfb1331ec7a78388b29393e85c1af7916": { + "balance": "0x15af1d78b58c400000" }, - "ac4acfc36ed6094a27e118ecc911cd473e8fb91f": { - "balance": "1799800000000000000000" + "0xac4acfc36ed6094a27e118ecc911cd473e8fb91f": { + "balance": "0x61913e14403c0c0000" }, - "a975b077fcb4cc8efcbf838459b6fa243a4159d6": { - "balance": "40000000000000000000" + "0xa975b077fcb4cc8efcbf838459b6fa243a4159d6": { + "balance": "0x22b1c8c1227a00000" }, - "9c405cf697956138065e11c5f7559e67245bd1a5": { - "balance": "200000000000000000000" + "0x9c405cf697956138065e11c5f7559e67245bd1a5": { + "balance": "0xad78ebc5ac6200000" }, - "cafde855864c2598da3cafc05ad98df2898e8048": { - "balance": "14179272000000000000000" + "0xcafde855864c2598da3cafc05ad98df2898e8048": { + "balance": "0x300a8ed96ff4a940000" }, - "8ef711e43a13918f1303e81d0ea78c9eefd67eb2": { - "balance": "4000000000000000000000" + "0x8ef711e43a13918f1303e81d0ea78c9eefd67eb2": { + "balance": "0xd8d726b7177a800000" }, - "0b14891999a65c9ef73308efe3100ca1b20e8192": { - "balance": "800000000000000000000" + "0x0b14891999a65c9ef73308efe3100ca1b20e8192": { + "balance": "0x2b5e3af16b18800000" }, - "47cf9cdaf92fc999cc5efbb7203c61e4f1cdd4c3": { - "balance": "131400000000000000000" + "0x47cf9cdaf92fc999cc5efbb7203c61e4f1cdd4c3": { + "balance": "0x71f8a93d01e540000" }, - "04ba8a3f03f08b895095994dda619edaacee3e7a": { - "balance": "2000000000000000000000" + "0x04ba8a3f03f08b895095994dda619edaacee3e7a": { + "balance": "0x6c6b935b8bbd400000" }, - "02b6d65cb00b7b36e1fb5ed3632c4cb20a894130": { - "balance": "20000000000000000000000" + "0x02b6d65cb00b7b36e1fb5ed3632c4cb20a894130": { + "balance": "0x43c33c1937564800000" }, - "f99aee444b5783c093cfffd1c4632cf93c6f050c": { - "balance": "400000000000000000000" + "0xf99aee444b5783c093cfffd1c4632cf93c6f050c": { + "balance": "0x15af1d78b58c400000" }, - "2541314a0b408e95a694444977712a50713591ab": { - "balance": "1634706000000000000000" + "0x2541314a0b408e95a694444977712a50713591ab": { + "balance": "0x589e1a5df4d7b50000" }, - "3096dca34108085bcf04ae72b94574a13e1a3e1d": { - "balance": "200000000000000000000" + "0x3096dca34108085bcf04ae72b94574a13e1a3e1d": { + "balance": "0xad78ebc5ac6200000" }, - "56df05bad46c3f00ae476ecf017bb8c877383ff1": { - "balance": "197248000000000000000" + "0x56df05bad46c3f00ae476ecf017bb8c877383ff1": { + "balance": "0xab15daaef70400000" }, - "6d59b21cd0e2748804d9abe064eac2bef0c95f27": { - "balance": "2000000000000000000000" + "0x6d59b21cd0e2748804d9abe064eac2bef0c95f27": { + "balance": "0x6c6b935b8bbd400000" }, - "b29f5b7c1930d9f97a115e067066f0b54db44b3b": { - "balance": "1000000000000000000000" + "0xb29f5b7c1930d9f97a115e067066f0b54db44b3b": { + "balance": "0x3635c9adc5dea00000" }, - "888c16144933197cac26504dd76e06fd6600c789": { - "balance": "100000000000000000000" + "0x888c16144933197cac26504dd76e06fd6600c789": { + "balance": "0x56bc75e2d63100000" }, - "dfe3c52a92c30396a4e33a50170dc900fcf8c9cf": { - "balance": "50000000000000000000" + "0xdfe3c52a92c30396a4e33a50170dc900fcf8c9cf": { + "balance": "0x2b5e3af16b1880000" }, - "f76f69cee4faa0a63b30ae1e7881f4f715657010": { - "balance": "200000000000000000000" + "0xf76f69cee4faa0a63b30ae1e7881f4f715657010": { + "balance": "0xad78ebc5ac6200000" }, - "ee0007b0960d00908a94432a737557876aac7c31": { - "balance": "53053000000000000000" + "0xee0007b0960d00908a94432a737557876aac7c31": { + "balance": "0x2e0421e69c4cc8000" }, - "effc15e487b1beda0a8d1325bdb4172240dc540a": { - "balance": "64940000000000000000" + "0xeffc15e487b1beda0a8d1325bdb4172240dc540a": { + "balance": "0x3853939eee1de0000" }, - "40ab0a3e83d0c8ac9366910520eab1772bac3b1a": { - "balance": "976600000000000000000" + "0x40ab0a3e83d0c8ac9366910520eab1772bac3b1a": { + "balance": "0x34f10c2dc05e7c0000" }, - "1895a0eb4a4372722fcbc5afe6936f289c88a419": { - "balance": "910000000000000000000" + "0x1895a0eb4a4372722fcbc5afe6936f289c88a419": { + "balance": "0x3154c9729d05780000" }, - "81efe296ae76c860d1c5fbd33d47e8ce9996d157": { - "balance": "1000000000000000000000" + "0x81efe296ae76c860d1c5fbd33d47e8ce9996d157": { + "balance": "0x3635c9adc5dea00000" }, - "9ddd355e634ee9927e4b7f6c97e7bf3a2f1e687a": { - "balance": "50000000000000000000" + "0x9ddd355e634ee9927e4b7f6c97e7bf3a2f1e687a": { + "balance": "0x2b5e3af16b1880000" }, - "f2b4ab2c9427a9015ef6eefff5edb60139b719d1": { - "balance": "716800000000000000000" + "0xf2b4ab2c9427a9015ef6eefff5edb60139b719d1": { + "balance": "0x26db992a3b18000000" }, - "765be2e12f629e6349b97d21b62a17b7c830edab": { - "balance": "6000000000000000000000" + "0x765be2e12f629e6349b97d21b62a17b7c830edab": { + "balance": "0x14542ba12a337c00000" }, - "ff61c9c1b7a3d8b53bba20b34466544b7b216644": { - "balance": "2000000000000000000000" + "0xff61c9c1b7a3d8b53bba20b34466544b7b216644": { + "balance": "0x6c6b935b8bbd400000" }, - "36a08fd6fd1ac17ce15ed57eefb12a2be28188bf": { - "balance": "1337000000000000000000" + "0x36a08fd6fd1ac17ce15ed57eefb12a2be28188bf": { + "balance": "0x487a9a304539440000" }, - "17049311101d817efb1d65910f663662a699c98c": { - "balance": "1999800000000000000000" + "0x17049311101d817efb1d65910f663662a699c98c": { + "balance": "0x6c68ccd09b022c0000" }, - "30511832918d8034a7bee72ef2bfee440ecbbcf6": { - "balance": "16100000000000000000000" + "0x30511832918d8034a7bee72ef2bfee440ecbbcf6": { + "balance": "0x368c8623a8b4d100000" }, - "d27c234ff7accace3d996708f8f9b04970f97d36": { - "balance": "1337000000000000000000" + "0xd27c234ff7accace3d996708f8f9b04970f97d36": { + "balance": "0x487a9a304539440000" }, - "a961171f5342b173dd70e7bfe5b5ca238b13bcdd": { - "balance": "3397053000000000000000" + "0xa961171f5342b173dd70e7bfe5b5ca238b13bcdd": { + "balance": "0xb82794a9244f0c8000" }, - "30bf61b2d877fe10635126326fa189e4b0b1c3b0": { - "balance": "1027580000000000000000" + "0x30bf61b2d877fe10635126326fa189e4b0b1c3b0": { + "balance": "0x37b48985a5d7e60000" }, - "4bb6d86b8314c22d8d37ea516d0019f156aae12d": { - "balance": "1000000000000000000000" + "0x4bb6d86b8314c22d8d37ea516d0019f156aae12d": { + "balance": "0x3635c9adc5dea00000" }, - "5f363e0ab747e02d1b3b66abb69ea53c7baf523a": { - "balance": "11640000000000000000000" + "0x5f363e0ab747e02d1b3b66abb69ea53c7baf523a": { + "balance": "0x277017338a30ae00000" }, - "283e11203749b1fa4f32febb71e49d135919382a": { - "balance": "1000000000000000000000" + "0x283e11203749b1fa4f32febb71e49d135919382a": { + "balance": "0x3635c9adc5dea00000" }, - "ac5999a89d2dd286d5a80c6dee7e86aad40f9e12": { - "balance": "3880000000000000000000" + "0xac5999a89d2dd286d5a80c6dee7e86aad40f9e12": { + "balance": "0xd255d112e103a00000" }, - "3f6dd3650ee428dcb7759553b017a96a94286ac9": { - "balance": "1337000000000000000000" + "0x3f6dd3650ee428dcb7759553b017a96a94286ac9": { + "balance": "0x487a9a304539440000" }, - "b3fc1d6881abfcb8becc0bb021b8b73b7233dd91": { - "balance": "50000000000000000000" + "0xb3fc1d6881abfcb8becc0bb021b8b73b7233dd91": { + "balance": "0x2b5e3af16b1880000" }, - "f0832a6bb25503eeca435be31b0bf905ca1fcf57": { - "balance": "6685000000000000000000" + "0xf0832a6bb25503eeca435be31b0bf905ca1fcf57": { + "balance": "0x16a6502f15a1e540000" }, - "9d7fda7070bf3ee9bbd9a41f55cad4854ae6c22c": { - "balance": "11027380000000000000000" + "0x9d7fda7070bf3ee9bbd9a41f55cad4854ae6c22c": { + "balance": "0x255cba3c46fcf120000" }, - "4b0bd8acfcbc53a6010b40d4d08ddd2d9d69622d": { - "balance": "668500000000000000000" + "0x4b0bd8acfcbc53a6010b40d4d08ddd2d9d69622d": { + "balance": "0x243d4d18229ca20000" }, - "f3b668b3f14d920ebc379092db98031b67b219b3": { - "balance": "199955000000000000000" + "0xf3b668b3f14d920ebc379092db98031b67b219b3": { + "balance": "0xad6eedd17cf3b8000" }, - "d91d889164479ce436ece51763e22cda19b22d6b": { - "balance": "3365200000000000000000" + "0xd91d889164479ce436ece51763e22cda19b22d6b": { + "balance": "0xb66d88126800880000" }, - "ffe28db53c9044b4ecd4053fd1b4b10d7056c688": { - "balance": "100000000000000000000" + "0xffe28db53c9044b4ecd4053fd1b4b10d7056c688": { + "balance": "0x56bc75e2d63100000" }, - "c77b01a6e911fa988d01a3ab33646beef9c138f3": { - "balance": "721400000000000000000" + "0xc77b01a6e911fa988d01a3ab33646beef9c138f3": { + "balance": "0x271b6fa5dbe6cc0000" }, - "c0064f1d9474ab915d56906c9fb320a2c7098c9b": { - "balance": "358000000000000000000" + "0xc0064f1d9474ab915d56906c9fb320a2c7098c9b": { + "balance": "0x13683f7f3c15d80000" }, - "4e3edad4864dab64cae4c5417a76774053dc6432": { - "balance": "590943000000000000000" + "0x4e3edad4864dab64cae4c5417a76774053dc6432": { + "balance": "0x2008fb478cbfa98000" }, - "71d2cc6d02578c65f73c575e76ce8fbcfadcf356": { - "balance": "72400000000000000000" + "0x71d2cc6d02578c65f73c575e76ce8fbcfadcf356": { + "balance": "0x3ecc078688a480000" }, - "9971df60f0ae66dce9e8c84e17149f09f9c52f64": { - "balance": "200000000000000000000" + "0x9971df60f0ae66dce9e8c84e17149f09f9c52f64": { + "balance": "0xad78ebc5ac6200000" }, - "58e661d0ba73d6cf24099a5562b808f7b3673b68": { - "balance": "2000000000000000000000" + "0x58e661d0ba73d6cf24099a5562b808f7b3673b68": { + "balance": "0x6c6b935b8bbd400000" }, - "84b0ee6bb837d3a4c4c5011c3a228c0edab4634a": { - "balance": "20000000000000000000" + "0x84b0ee6bb837d3a4c4c5011c3a228c0edab4634a": { + "balance": "0x1158e460913d00000" }, - "84375afbf59b3a1d61a1be32d075e0e15a4fbca5": { - "balance": "200000000000000000000" + "0x84375afbf59b3a1d61a1be32d075e0e15a4fbca5": { + "balance": "0xad78ebc5ac6200000" }, - "9ae9476bfecd3591964dd325cf8c2a24faed82c1": { - "balance": "4000000000000000000000" + "0x9ae9476bfecd3591964dd325cf8c2a24faed82c1": { + "balance": "0xd8d726b7177a800000" }, - "6a4c8907b600248057b1e46354b19bdc859c991a": { - "balance": "20000000000000000000" + "0x6a4c8907b600248057b1e46354b19bdc859c991a": { + "balance": "0x1158e460913d00000" }, - "1c045649cd53dc23541f8ed4d341812808d5dd9c": { - "balance": "7000000000000000000000" + "0x1c045649cd53dc23541f8ed4d341812808d5dd9c": { + "balance": "0x17b7883c06916600000" }, - "c5e488cf2b5677933971f64cb8202dd05752a2c0": { - "balance": "1000000000000000000000" + "0xc5e488cf2b5677933971f64cb8202dd05752a2c0": { + "balance": "0x3635c9adc5dea00000" }, - "eb25481fcd9c221f1ac7e5fd1ecd9307a16215b8": { - "balance": "197000000000000000000" + "0xeb25481fcd9c221f1ac7e5fd1ecd9307a16215b8": { + "balance": "0xaadec983fcff40000" }, - "a61887818f914a20e31077290b83715a6b2d6ef9": { - "balance": "1880000000000000000000" + "0xa61887818f914a20e31077290b83715a6b2d6ef9": { + "balance": "0x65ea3db75546600000" }, - "679437eacf437878dc293d48a39c87b7421a216c": { - "balance": "64528000000000000000" + "0x679437eacf437878dc293d48a39c87b7421a216c": { + "balance": "0x37f81821db2680000" }, - "331a1c26cc6994cdd3c14bece276ffff4b9df77c": { - "balance": "18049000000000000000" + "0x331a1c26cc6994cdd3c14bece276ffff4b9df77c": { + "balance": "0xfa7aeddf4f068000" }, - "75b95696e8ec4510d56868a7c1a735c68b244890": { - "balance": "6400000000000000000000" + "0x75b95696e8ec4510d56868a7c1a735c68b244890": { + "balance": "0x15af1d78b58c4000000" }, - "a77f3ee19e9388bbbb2215c62397b96560132360": { - "balance": "200000000000000000000" + "0xa77f3ee19e9388bbbb2215c62397b96560132360": { + "balance": "0xad78ebc5ac6200000" }, - "bc7afc8477412274fc265df13c054473427d43c6": { - "balance": "130034000000000000000" + "0xbc7afc8477412274fc265df13c054473427d43c6": { + "balance": "0x70c95920ce3250000" }, - "91050a5cffadedb4bb6eaafbc9e5013428e96c80": { - "balance": "1700000000000000000000" + "0x91050a5cffadedb4bb6eaafbc9e5013428e96c80": { + "balance": "0x5c283d410394100000" }, - "24586ec5451735eeaaeb470dc8736aae752f82e5": { - "balance": "17600000000000000000" + "0x24586ec5451735eeaaeb470dc8736aae752f82e5": { + "balance": "0xf43fc2c04ee00000" }, - "51039377eed0c573f986c5e8a95fb99a59e9330f": { - "balance": "1970000000000000000000" + "0x51039377eed0c573f986c5e8a95fb99a59e9330f": { + "balance": "0x6acb3df27e1f880000" }, - "fbb161fe875f09290a4b262bc60110848f0d2226": { - "balance": "2000000000000000000000" + "0xfbb161fe875f09290a4b262bc60110848f0d2226": { + "balance": "0x6c6b935b8bbd400000" }, - "ed52a2cc0869dc9e9f842bd0957c47a8e9b0c9ff": { - "balance": "9550000000000000000000" + "0xed52a2cc0869dc9e9f842bd0957c47a8e9b0c9ff": { + "balance": "0x205b4dfa1ee74780000" }, - "bad235d5085dc7b068a67c412677b03e1836884c": { - "balance": "2000000000000000000000" + "0xbad235d5085dc7b068a67c412677b03e1836884c": { + "balance": "0x6c6b935b8bbd400000" }, - "055eac4f1ad3f58f0bd024d68ea60dbe01c6afb3": { - "balance": "100000000000000000000" + "0x055eac4f1ad3f58f0bd024d68ea60dbe01c6afb3": { + "balance": "0x56bc75e2d63100000" }, - "4058808816fdaa3a5fc98ed47cfae6c18315422e": { - "balance": "199800000000000000000" + "0x4058808816fdaa3a5fc98ed47cfae6c18315422e": { + "balance": "0xad4c8316a0b0c0000" }, - "3540c7bd7a8442d5bee21a2180a1c4edff1649e0": { - "balance": "1239295000000000000000" + "0x3540c7bd7a8442d5bee21a2180a1c4edff1649e0": { + "balance": "0x432eac4c6f05b98000" }, - "c5edbbd2ca0357654ad0ea4793f8c5cecd30e254": { - "balance": "6000000000000000000000" + "0xc5edbbd2ca0357654ad0ea4793f8c5cecd30e254": { + "balance": "0x14542ba12a337c00000" }, - "b5906b0ae9a28158e8ac550e39da086ee3157623": { - "balance": "200000000000000000000" + "0xb5906b0ae9a28158e8ac550e39da086ee3157623": { + "balance": "0xad78ebc5ac6200000" }, - "4d801093c19ca9b8f342e33cc9c77bbd4c8312cf": { - "balance": "345005000000000000000" + "0x4d801093c19ca9b8f342e33cc9c77bbd4c8312cf": { + "balance": "0x12b3e7fb95cda48000" }, - "206482ee6f138a778fe1ad62b180ce856fbb23e6": { - "balance": "2000000000000000000000" + "0x206482ee6f138a778fe1ad62b180ce856fbb23e6": { + "balance": "0x6c6b935b8bbd400000" }, - "c0ed0d4ad10de03435b153a0fc25de3b93f45204": { - "balance": "3160000000000000000000" + "0xc0ed0d4ad10de03435b153a0fc25de3b93f45204": { + "balance": "0xab4dcf399a3a600000" }, - "29e67990e1b6d52e1055ffe049c53195a81542cf": { - "balance": "20000000000000000000000" + "0x29e67990e1b6d52e1055ffe049c53195a81542cf": { + "balance": "0x43c33c1937564800000" }, - "e6d22209ffd0b87509ade3a8e2ef429879cb89b5": { - "balance": "17260000000000000000000" + "0xe6d22209ffd0b87509ade3a8e2ef429879cb89b5": { + "balance": "0x3a7aa9e1899ca300000" }, - "d6644d40e90bc97fe7dfe7cabd3269fd579ba4b3": { - "balance": "159000000000000000000" + "0xd6644d40e90bc97fe7dfe7cabd3269fd579ba4b3": { + "balance": "0x89e917994f71c0000" }, - "ece1290877b583e361a2d41b009346e6274e2538": { - "balance": "300000000000000000000" + "0xece1290877b583e361a2d41b009346e6274e2538": { + "balance": "0x1043561a8829300000" }, - "ab3861226ffec1289187fb84a08ec3ed043264e8": { - "balance": "1000000000000000000000" + "0xab3861226ffec1289187fb84a08ec3ed043264e8": { + "balance": "0x3635c9adc5dea00000" }, - "60e0bdd0a259bb9cb09d3f37e5cd8b9daceabf8a": { - "balance": "1370000000000000000000" + "0x60e0bdd0a259bb9cb09d3f37e5cd8b9daceabf8a": { + "balance": "0x4a4491bd6dcd280000" }, - "28b77585cb3d55a199ab291d3a18c68fe89a848a": { - "balance": "1960000000000000000000" + "0x28b77585cb3d55a199ab291d3a18c68fe89a848a": { + "balance": "0x6a4076cf7995a00000" }, - "73128173489528012e76b41a5e28c68ba4e3a9d4": { - "balance": "1000000000000000000000" + "0x73128173489528012e76b41a5e28c68ba4e3a9d4": { + "balance": "0x3635c9adc5dea00000" }, - "018492488ba1a292342247b31855a55905fef269": { - "balance": "140000000000000000000" + "0x018492488ba1a292342247b31855a55905fef269": { + "balance": "0x796e3ea3f8ab00000" }, - "0bb54c72fd6610bfa4363397e020384b022b0c49": { - "balance": "1337000000000000000000" + "0x0bb54c72fd6610bfa4363397e020384b022b0c49": { + "balance": "0x487a9a304539440000" }, - "520f66a0e2657ff0ac4195f2f064cf2fa4b24250": { - "balance": "40000000000000000000" + "0x520f66a0e2657ff0ac4195f2f064cf2fa4b24250": { + "balance": "0x22b1c8c1227a00000" }, - "a1432ed2c6b7777a88e8d46d388e70477f208ca5": { - "balance": "7999538000000000000000" + "0xa1432ed2c6b7777a88e8d46d388e70477f208ca5": { + "balance": "0x1b1a7e413a196c50000" }, - "149ba10f0da2725dc704733e87f5a524ca88515e": { - "balance": "7880000000000000000000" + "0x149ba10f0da2725dc704733e87f5a524ca88515e": { + "balance": "0x1ab2cf7c9f87e200000" }, - "b287f7f8d8c3872c1b586bcd7d0aedbf7e732732": { - "balance": "20000000000000000000" + "0xb287f7f8d8c3872c1b586bcd7d0aedbf7e732732": { + "balance": "0x1158e460913d00000" }, - "c46bbdef76d4ca60d316c07f5d1a780e3b165f7e": { - "balance": "2000000000000000000000" + "0xc46bbdef76d4ca60d316c07f5d1a780e3b165f7e": { + "balance": "0x6c6b935b8bbd400000" }, - "b5a589dd9f4071dbb6fba89b3f5d5dae7d96c163": { - "balance": "2000000000000000000000" + "0xb5a589dd9f4071dbb6fba89b3f5d5dae7d96c163": { + "balance": "0x6c6b935b8bbd400000" }, - "d218efb4db981cdd6a797f4bd48c7c26293ceb40": { - "balance": "2975000000000000000000" + "0xd218efb4db981cdd6a797f4bd48c7c26293ceb40": { + "balance": "0xa1466b31c6431c0000" }, - "af87d2371ef378957fbd05ba2f1d66931b01e2b8": { - "balance": "700000000000000000000" + "0xaf87d2371ef378957fbd05ba2f1d66931b01e2b8": { + "balance": "0x25f273933db5700000" }, - "86ef6426211949cc37f4c75e7850369d0cf5f479": { - "balance": "13399196000000000000000" + "0x86ef6426211949cc37f4c75e7850369d0cf5f479": { + "balance": "0x2d65f32ea045af60000" }, - "fb3a0b0d6b6a718f6fc0292a825dc9247a90a5d0": { - "balance": "199950000000000000000" + "0xfb3a0b0d6b6a718f6fc0292a825dc9247a90a5d0": { + "balance": "0xad6dd199e975b0000" }, - "da16dd5c3d1a2714358fe3752cae53dbab2be98c": { - "balance": "19400000000000000000000" + "0xda16dd5c3d1a2714358fe3752cae53dbab2be98c": { + "balance": "0x41bad155e6512200000" }, - "9eb7834e171d41e069a77947fca87622f0ba4e48": { - "balance": "100000000000000000000" + "0x9eb7834e171d41e069a77947fca87622f0ba4e48": { + "balance": "0x56bc75e2d63100000" }, - "e1d91b0954cede221d6f24c7985fc59965fb98b8": { - "balance": "2000000000000000000000" + "0xe1d91b0954cede221d6f24c7985fc59965fb98b8": { + "balance": "0x6c6b935b8bbd400000" }, - "85d0d88754ac84b8b21ba93dd2bfec72626faba8": { - "balance": "1000000000000000000000" + "0x85d0d88754ac84b8b21ba93dd2bfec72626faba8": { + "balance": "0x3635c9adc5dea00000" }, - "695b4cce085856d9e1f9ff3e79942023359e5fbc": { - "balance": "5000000000000000000000" + "0x695b4cce085856d9e1f9ff3e79942023359e5fbc": { + "balance": "0x10f0cf064dd59200000" }, - "9156d18029350e470408f15f1aa3be9f040a67c6": { - "balance": "1000000000000000000000" + "0x9156d18029350e470408f15f1aa3be9f040a67c6": { + "balance": "0x3635c9adc5dea00000" }, - "a9d64b4f3bb7850722b58b478ba691375e224e42": { - "balance": "6000000000000000000000" + "0xa9d64b4f3bb7850722b58b478ba691375e224e42": { + "balance": "0x14542ba12a337c00000" }, - "17e4a0e52bac3ee44efe0954e753d4b85d644e05": { - "balance": "2000000000000000000000" + "0x17e4a0e52bac3ee44efe0954e753d4b85d644e05": { + "balance": "0x6c6b935b8bbd400000" }, - "b8a79c84945e47a9c3438683d6b5842cff7684b1": { - "balance": "2000000000000000000000" + "0xb8a79c84945e47a9c3438683d6b5842cff7684b1": { + "balance": "0x6c6b935b8bbd400000" }, - "cfac2e1bf33205b05533691a02267ee19cd81836": { - "balance": "1000000000000000000000" + "0xcfac2e1bf33205b05533691a02267ee19cd81836": { + "balance": "0x3635c9adc5dea00000" }, - "6b992521ec852370848ad697cc2df64e63cc06ff": { - "balance": "1000000000000000000000" + "0x6b992521ec852370848ad697cc2df64e63cc06ff": { + "balance": "0x3635c9adc5dea00000" }, - "60af0ee118443c9b37d2fead77f5e521debe1573": { - "balance": "1910000000000000000000" + "0x60af0ee118443c9b37d2fead77f5e521debe1573": { + "balance": "0x678a932062e4180000" }, - "c6dbdb9efd5ec1b3786e0671eb2279b253f215ed": { - "balance": "1000000000000000000000" + "0xc6dbdb9efd5ec1b3786e0671eb2279b253f215ed": { + "balance": "0x3635c9adc5dea00000" }, - "659c0a72c767a3a65ced0e1ca885a4c51fd9b779": { - "balance": "2000000000000000000000" + "0x659c0a72c767a3a65ced0e1ca885a4c51fd9b779": { + "balance": "0x6c6b935b8bbd400000" }, - "ed1276513b6fc68628a74185c2e20cbbca7817bf": { - "balance": "191000000000000000000" + "0xed1276513b6fc68628a74185c2e20cbbca7817bf": { + "balance": "0xa5aa85009e39c0000" }, - "5ad12c5ed4fa827e2150cfa0d68c0aa37b1769b8": { - "balance": "800000000000000000000" + "0x5ad12c5ed4fa827e2150cfa0d68c0aa37b1769b8": { + "balance": "0x2b5e3af16b18800000" }, - "17c0fef6986cfb2e4041f9979d9940b69dff3de2": { - "balance": "4000000000000000000000" + "0x17c0fef6986cfb2e4041f9979d9940b69dff3de2": { + "balance": "0xd8d726b7177a800000" }, - "ca98c7988efa08e925ef9c9945520326e9f43b99": { - "balance": "4000000000000000000000" + "0xca98c7988efa08e925ef9c9945520326e9f43b99": { + "balance": "0xd8d726b7177a800000" }, - "fe8f1fdcab7fbec9a6a3fcc507619600505c36a3": { - "balance": "19700000000000000000" + "0xfe8f1fdcab7fbec9a6a3fcc507619600505c36a3": { + "balance": "0x11164759ffb320000" }, - "4420aa35465be617ad2498f370de0a3cc4d230af": { - "balance": "2000000000000000000000" + "0x4420aa35465be617ad2498f370de0a3cc4d230af": { + "balance": "0x6c6b935b8bbd400000" }, - "8232d1f9742edf8dd927da353b2ae7b4cbce7592": { - "balance": "668500000000000000000" + "0x8232d1f9742edf8dd927da353b2ae7b4cbce7592": { + "balance": "0x243d4d18229ca20000" }, - "eca5f58792b8c62d2af556717ee3ee3028be4dce": { - "balance": "2000000000000000000000" + "0xeca5f58792b8c62d2af556717ee3ee3028be4dce": { + "balance": "0x6c6b935b8bbd400000" }, - "6bf86f1e2f2b8032a95c4d7738a109d3d0ed8104": { - "balance": "1820000000000000000000" + "0x6bf86f1e2f2b8032a95c4d7738a109d3d0ed8104": { + "balance": "0x62a992e53a0af00000" }, - "3ac2f0ff1612e4a1c346d53382abf6d8a25baa53": { - "balance": "2000000000000000000000" + "0x3ac2f0ff1612e4a1c346d53382abf6d8a25baa53": { + "balance": "0x6c6b935b8bbd400000" }, - "daa1bd7a9148fb865cd612dd35f162861d0f3bdc": { - "balance": "3066243000000000000000" + "0xdaa1bd7a9148fb865cd612dd35f162861d0f3bdc": { + "balance": "0xa638ab72d92c138000" }, - "5169c60aee4ceed1849ab36d664cff97061e8ea8": { - "balance": "3000000000000000000000" + "0x5169c60aee4ceed1849ab36d664cff97061e8ea8": { + "balance": "0xa2a15d09519be00000" }, - "2a5e3a40d2cd0325766de73a3d671896b362c73b": { - "balance": "100000000000000000000000" + "0x2a5e3a40d2cd0325766de73a3d671896b362c73b": { + "balance": "0x152d02c7e14af6800000" }, - "a83382b6e15267974a8550b98f7176c1a353f9be": { - "balance": "3541608000000000000000" + "0xa83382b6e15267974a8550b98f7176c1a353f9be": { + "balance": "0xbffdaf2fc1b1a40000" }, - "b50c149a1906fad2786ffb135aab501737e9e56f": { - "balance": "388000000000000000000" + "0xb50c149a1906fad2786ffb135aab501737e9e56f": { + "balance": "0x150894e849b3900000" }, - "d9775965b716476675a8d513eb14bbf7b07cd14a": { - "balance": "5076200000000000000000" + "0xd9775965b716476675a8d513eb14bbf7b07cd14a": { + "balance": "0x1132e6d2d23c5e40000" }, - "66662006015c1f8e3ccfcaebc8ee6807ee196303": { - "balance": "500024000000000000000" + "0x66662006015c1f8e3ccfcaebc8ee6807ee196303": { + "balance": "0x1b1b3a1ac261ec0000" }, - "78746a958dced4c764f876508c414a68342cecb9": { - "balance": "50600000000000000000" + "0x78746a958dced4c764f876508c414a68342cecb9": { + "balance": "0x2be374fe8e2c40000" }, - "e982e6f28c548f5f96f45e63f7ab708724f53fa1": { - "balance": "396238000000000000000" + "0xe982e6f28c548f5f96f45e63f7ab708724f53fa1": { + "balance": "0x157ae829a41f3b0000" }, - "740bfd52e01667a3419b029a1b8e45576a86a2db": { - "balance": "16800000000000000000000" + "0x740bfd52e01667a3419b029a1b8e45576a86a2db": { + "balance": "0x38ebad5cdc902800000" }, - "2bd252e0d732ff1d7c78f0a02e6cb25423cf1b1a": { - "balance": "2674000000000000000000" + "0x2bd252e0d732ff1d7c78f0a02e6cb25423cf1b1a": { + "balance": "0x90f534608a72880000" }, - "2e2d7ea66b9f47d8cc52c01c52b6e191bc7d4786": { - "balance": "3999800000000000000000" + "0x2e2d7ea66b9f47d8cc52c01c52b6e191bc7d4786": { + "balance": "0xd8d4602c26bf6c0000" }, - "3e3161f1ea2fbf126e79da1801da9512b37988c9": { - "balance": "49250000000000000000000" + "0x3e3161f1ea2fbf126e79da1801da9512b37988c9": { + "balance": "0xa6dd90cae5114480000" }, - "7e2ba86da52e785d8625334f3397ba1c4bf2e8d1": { - "balance": "197000000000000000000" + "0x7e2ba86da52e785d8625334f3397ba1c4bf2e8d1": { + "balance": "0xaadec983fcff40000" }, - "7608f437b31f18bc0b64d381ae86fd978ed7b31f": { - "balance": "50000000000000000000" + "0x7608f437b31f18bc0b64d381ae86fd978ed7b31f": { + "balance": "0x2b5e3af16b1880000" }, - "25a5a44d38a2f44c6a9db9cdbc6b1e2e97abb509": { - "balance": "17000000000000000000000" + "0x25a5a44d38a2f44c6a9db9cdbc6b1e2e97abb509": { + "balance": "0x39992648a23c8a00000" }, - "745ad3abc6eeeb2471689b539e789ce2b8268306": { - "balance": "1129977000000000000000" + "0x745ad3abc6eeeb2471689b539e789ce2b8268306": { + "balance": "0x3d4194bea011928000" }, - "09e437d448861228a232b62ee8d37965a904ed9c": { - "balance": "21708305000000000000000" + "0x09e437d448861228a232b62ee8d37965a904ed9c": { + "balance": "0x498cf401df8842e8000" }, - "be53322f43fbb58494d7cce19dda272b2450e827": { - "balance": "200018000000000000000" + "0xbe53322f43fbb58494d7cce19dda272b2450e827": { + "balance": "0xad7ceaf425c150000" }, - "4166fc08ca85f766fde831460e9dc93c0e21aa6c": { - "balance": "1000000000000000000000" + "0x4166fc08ca85f766fde831460e9dc93c0e21aa6c": { + "balance": "0x3635c9adc5dea00000" }, - "99c0174cf84e0783c220b4eb6ae18fe703854ad3": { - "balance": "2074800000000000000000" + "0x99c0174cf84e0783c220b4eb6ae18fe703854ad3": { + "balance": "0x7079a2573d0c780000" }, - "3cf484524fbdfadae26dc185e32b2b630fd2e726": { - "balance": "448798000000000000000" + "0x3cf484524fbdfadae26dc185e32b2b630fd2e726": { + "balance": "0x185452cb2a91c30000" }, - "fdcd5d80b105897a57abc47865768b2900524295": { - "balance": "6400000000000000000000" + "0xfdcd5d80b105897a57abc47865768b2900524295": { + "balance": "0x15af1d78b58c4000000" }, - "f22f4078febbbaa8b0e78e642c8a42f35d433905": { - "balance": "1999944000000000000000" + "0xf22f4078febbbaa8b0e78e642c8a42f35d433905": { + "balance": "0x6c6acc67d7b1d40000" }, - "eac768bf14b8f9432e69eaa82a99fbeb94cd0c9c": { - "balance": "98500000000000000000000" + "0xeac768bf14b8f9432e69eaa82a99fbeb94cd0c9c": { + "balance": "0x14dbb2195ca228900000" }, - "2639eee9873ceec26fcc9454b548b9e7c54aa65c": { - "balance": "1000000000000000000000" + "0x2639eee9873ceec26fcc9454b548b9e7c54aa65c": { + "balance": "0x3635c9adc5dea00000" }, - "c3c3c2510d678020485a63735d1307ec4ca6302b": { - "balance": "1000000000000000000000" + "0xc3c3c2510d678020485a63735d1307ec4ca6302b": { + "balance": "0x3635c9adc5dea00000" }, - "b73d6a77559c86cf6574242903394bacf96e3570": { - "balance": "91200000000000000000" + "0xb73d6a77559c86cf6574242903394bacf96e3570": { + "balance": "0x4f1a77ccd3ba00000" }, - "5ce2e7ceaaa18af0f8aafa7fbad74cc89e3cd436": { - "balance": "20000000000000000000000" + "0x5ce2e7ceaaa18af0f8aafa7fbad74cc89e3cd436": { + "balance": "0x43c33c1937564800000" }, - "03377c0e556b640103289a6189e1aeae63493467": { - "balance": "20000000000000000000000" + "0x03377c0e556b640103289a6189e1aeae63493467": { + "balance": "0x43c33c1937564800000" }, - "6eb0a5a9ae96d22cf01d8fd6483b9f38f08c2c8b": { - "balance": "4000000000000000000000" + "0x6eb0a5a9ae96d22cf01d8fd6483b9f38f08c2c8b": { + "balance": "0xd8d726b7177a800000" }, - "fc8215a0a69913f62a43bf1c8590b9ddcd0d8ddb": { - "balance": "2000000000000000000000" + "0xfc8215a0a69913f62a43bf1c8590b9ddcd0d8ddb": { + "balance": "0x6c6b935b8bbd400000" }, - "4a835c25824c47ecbfc79439bf3f5c3481aa75cd": { - "balance": "1400000000000000000000" + "0x4a835c25824c47ecbfc79439bf3f5c3481aa75cd": { + "balance": "0x4be4e7267b6ae00000" }, - "b5493ef173724445cf345c035d279ba759f28d51": { - "balance": "20000000000000000000" + "0xb5493ef173724445cf345c035d279ba759f28d51": { + "balance": "0x1158e460913d00000" }, - "b9e90c1192b3d5d3e3ab0700f1bf655f5dd4347a": { - "balance": "499928000000000000000" + "0xb9e90c1192b3d5d3e3ab0700f1bf655f5dd4347a": { + "balance": "0x1b19e50b44977c0000" }, - "419bde7316cc1ed295c885ace342c79bf7ee33ea": { - "balance": "6000000000000000000000" + "0x419bde7316cc1ed295c885ace342c79bf7ee33ea": { + "balance": "0x14542ba12a337c00000" }, - "e4625501f52b7af52b19ed612e9d54fdd006b492": { - "balance": "209440000000000000000" + "0xe4625501f52b7af52b19ed612e9d54fdd006b492": { + "balance": "0xb5a905a56ddd00000" }, - "e9d599456b2543e6db80ea9b210e908026e2146e": { - "balance": "200000000000000000000" + "0xe9d599456b2543e6db80ea9b210e908026e2146e": { + "balance": "0xad78ebc5ac6200000" }, - "2c06dd922b61514aafedd84488c0c28e6dcf0e99": { - "balance": "100000000000000000000000" + "0x2c06dd922b61514aafedd84488c0c28e6dcf0e99": { + "balance": "0x152d02c7e14af6800000" }, - "06b5ede6fdf1d6e9a34721379aeaa17c713dd82a": { - "balance": "2000000000000000000000" + "0x06b5ede6fdf1d6e9a34721379aeaa17c713dd82a": { + "balance": "0x6c6b935b8bbd400000" }, - "d8930a39c77357c30ad3a060f00b06046331fd62": { - "balance": "820000000000000000000" + "0xd8930a39c77357c30ad3a060f00b06046331fd62": { + "balance": "0x2c73c937742c500000" }, - "b2a2c2111612fb8bbb8e7dd9378d67f1a384f050": { - "balance": "20000000000000000000" + "0xb2a2c2111612fb8bbb8e7dd9378d67f1a384f050": { + "balance": "0x1158e460913d00000" }, - "1f174f40a0447234e66653914d75bc003e5690dc": { - "balance": "160000000000000000000" + "0x1f174f40a0447234e66653914d75bc003e5690dc": { + "balance": "0x8ac7230489e800000" }, - "e06cb6294704eea7437c2fc3d30773b7bf38889a": { - "balance": "20094000000000000000" + "0xe06cb6294704eea7437c2fc3d30773b7bf38889a": { + "balance": "0x116dc3a8994b30000" }, - "cd06f8c1b5cdbd28e2d96b6346c3e85a0483ba24": { - "balance": "1000000000000000000000" + "0xcd06f8c1b5cdbd28e2d96b6346c3e85a0483ba24": { + "balance": "0x3635c9adc5dea00000" }, - "f316ef1df2ff4d6c1808dba663ec8093697968e0": { - "balance": "1794400000000000000000" + "0xf316ef1df2ff4d6c1808dba663ec8093697968e0": { + "balance": "0x61464d6cdc80f00000" }, - "1e6915ebd9a19c81b692ad99b1218a592c1ac7b1": { - "balance": "4000000000000000000000" + "0x1e6915ebd9a19c81b692ad99b1218a592c1ac7b1": { + "balance": "0xd8d726b7177a800000" }, - "885493bda36a0432976546c1ddce71c3f4570021": { - "balance": "216700000000000000000" + "0x885493bda36a0432976546c1ddce71c3f4570021": { + "balance": "0xbbf510ddfcb260000" }, - "18b0407cdad4ce52600623bd5e1f6a81ab61f026": { - "balance": "319489000000000000000" + "0x18b0407cdad4ce52600623bd5e1f6a81ab61f026": { + "balance": "0x1151ccf0c654c68000" }, - "187d9f0c07f8eb74faaad15ebc7b80447417f782": { - "balance": "20000000000000000000" + "0x187d9f0c07f8eb74faaad15ebc7b80447417f782": { + "balance": "0x1158e460913d00000" }, - "5d6ccf806738091042ad97a6e095fe8c36aa79c5": { - "balance": "188000000000000000000" + "0x5d6ccf806738091042ad97a6e095fe8c36aa79c5": { + "balance": "0xa31062beeed700000" }, - "53437fecf34ab9d435f4deb8ca181519e2592035": { - "balance": "188000000000000000000" + "0x53437fecf34ab9d435f4deb8ca181519e2592035": { + "balance": "0xa31062beeed700000" }, - "fd1faa347b0fcc804c2da86c36d5f1d18b7087bb": { - "balance": "52380000000000000000" + "0xfd1faa347b0fcc804c2da86c36d5f1d18b7087bb": { + "balance": "0x2d6eb247a96f60000" }, - "650cf67db060cce17568d5f2a423687c49647609": { - "balance": "100000000000000000000" + "0x650cf67db060cce17568d5f2a423687c49647609": { + "balance": "0x56bc75e2d63100000" }, - "bcd95ef962462b6edfa10fda87d72242fe3edb5c": { - "balance": "334133000000000000000" + "0xbcd95ef962462b6edfa10fda87d72242fe3edb5c": { + "balance": "0x121d06e12fff988000" }, - "3b5e8b3c77f792decb7a8985df916efb490aac23": { - "balance": "2000000000000000000000" + "0x3b5e8b3c77f792decb7a8985df916efb490aac23": { + "balance": "0x6c6b935b8bbd400000" }, - "f13b083093ba564e2dc631568cf7540d9a0ec719": { - "balance": "1999944000000000000000" + "0xf13b083093ba564e2dc631568cf7540d9a0ec719": { + "balance": "0x6c6acc67d7b1d40000" }, - "373c547e0cb5ce632e1c5ad66155720c01c40995": { - "balance": "4691588000000000000000" + "0x373c547e0cb5ce632e1c5ad66155720c01c40995": { + "balance": "0xfe54dcdce6c55a0000" }, - "7313461208455455465445a459b06c3773b0eb30": { - "balance": "2000000000000000000000" + "0x7313461208455455465445a459b06c3773b0eb30": { + "balance": "0x6c6b935b8bbd400000" }, - "441f37e8a029fd02482f289c49b5d06d00e408a4": { - "balance": "333333000000000000000" + "0x441f37e8a029fd02482f289c49b5d06d00e408a4": { + "balance": "0x1211ecb56d13488000" }, - "d30d4c43adcf55b2cb53d68323264134498d89ce": { - "balance": "1000000000000000000000" + "0xd30d4c43adcf55b2cb53d68323264134498d89ce": { + "balance": "0x3635c9adc5dea00000" }, - "f648ea89c27525710172944e79edff847803b775": { - "balance": "100000000000000000000000" + "0xf648ea89c27525710172944e79edff847803b775": { + "balance": "0x152d02c7e14af6800000" }, - "0c7f869f8e90d53fdc03e8b2819b016b9d18eb26": { - "balance": "20000000000000000000000" + "0x0c7f869f8e90d53fdc03e8b2819b016b9d18eb26": { + "balance": "0x43c33c1937564800000" }, - "c71f92a3a54a7b8c2f5ea44305fccb84eee23148": { - "balance": "49980000000000000000" + "0xc71f92a3a54a7b8c2f5ea44305fccb84eee23148": { + "balance": "0x2b59ca131d2060000" }, - "7988901331e387f713faceb9005cb9b65136eb14": { - "balance": "1970000000000000000000" + "0x7988901331e387f713faceb9005cb9b65136eb14": { + "balance": "0x6acb3df27e1f880000" }, - "e9a39a8bac0f01c349c64cedb69897f633234ed2": { - "balance": "3980000000000000000000" + "0xe9a39a8bac0f01c349c64cedb69897f633234ed2": { + "balance": "0xd7c198710e66b00000" }, - "ad2a5c00f923aaf21ab9f3fb066efa0a03de2fb2": { - "balance": "999996000000000000000" + "0xad2a5c00f923aaf21ab9f3fb066efa0a03de2fb2": { + "balance": "0x3635bb77cb4b860000" }, - "f25259a5c939cd25966c9b6303d3731c53ddbc4c": { - "balance": "200000000000000000000" + "0xf25259a5c939cd25966c9b6303d3731c53ddbc4c": { + "balance": "0xad78ebc5ac6200000" }, - "d1682c2159018dc3d07f08240a8c606daf65f8e1": { - "balance": "200000000000000000000000" + "0xd1682c2159018dc3d07f08240a8c606daf65f8e1": { + "balance": "0x2a5a058fc295ed000000" }, - "a99991cebd98d9c838c25f7a7416d9e244ca250d": { - "balance": "1000000000000000000000" + "0xa99991cebd98d9c838c25f7a7416d9e244ca250d": { + "balance": "0x3635c9adc5dea00000" }, - "5a285755391e914e58025faa48cc685f4fd4f5b8": { - "balance": "26000000000000000000000" + "0x5a285755391e914e58025faa48cc685f4fd4f5b8": { + "balance": "0x581767ba6189c400000" }, - "4d24b7ac47d2f27de90974ba3de5ead203544bcd": { - "balance": "100000000000000000000" + "0x4d24b7ac47d2f27de90974ba3de5ead203544bcd": { + "balance": "0x56bc75e2d63100000" }, - "21b182f2da2b384493cf5f35f83d9d1ee14f2a21": { - "balance": "2000000000000000000000" + "0x21b182f2da2b384493cf5f35f83d9d1ee14f2a21": { + "balance": "0x6c6b935b8bbd400000" }, - "31ab088966ecc7229258f6098fce68cf39b38485": { - "balance": "1000000000000000000000" + "0x31ab088966ecc7229258f6098fce68cf39b38485": { + "balance": "0x3635c9adc5dea00000" }, - "4977a7939d0939689455ce2639d0ee5a4cd910ed": { - "balance": "1820000000000000000000" + "0x4977a7939d0939689455ce2639d0ee5a4cd910ed": { + "balance": "0x62a992e53a0af00000" }, - "07af938c1237a27c9030094dcf240750246e3d2c": { - "balance": "500000000000000000000" + "0x07af938c1237a27c9030094dcf240750246e3d2c": { + "balance": "0x1b1ae4d6e2ef500000" }, - "4e2bfa4a466f82671b800eee426ad00c071ba170": { - "balance": "4000000000000000000000" + "0x4e2bfa4a466f82671b800eee426ad00c071ba170": { + "balance": "0xd8d726b7177a800000" }, - "107379d4c467464f235bc18e55938aad3e688ad7": { - "balance": "50000000000000000000" + "0x107379d4c467464f235bc18e55938aad3e688ad7": { + "balance": "0x2b5e3af16b1880000" }, - "f7b29b82195c882dab7897c2ae95e77710f57875": { - "balance": "2199000000000000000000" + "0xf7b29b82195c882dab7897c2ae95e77710f57875": { + "balance": "0x7735416132dbfc0000" }, - "56586391040c57eec6f5affd8cd4abde10b50acc": { - "balance": "4000000000000000000000" + "0x56586391040c57eec6f5affd8cd4abde10b50acc": { + "balance": "0xd8d726b7177a800000" }, - "ac608e2bac9dd20728d2947effbbbf900a9ce94b": { - "balance": "6000600000000000000000" + "0xac608e2bac9dd20728d2947effbbbf900a9ce94b": { + "balance": "0x1454b0db37568fc0000" }, - "48548b4ba62bcb2f0d34a88dc69a680e539cf046": { - "balance": "100084000000000000000" + "0x48548b4ba62bcb2f0d34a88dc69a680e539cf046": { + "balance": "0x56cf1cbbb74320000" }, - "1665ab1739d71119ee6132abbd926a279fe67948": { - "balance": "100000000000000000000" + "0x1665ab1739d71119ee6132abbd926a279fe67948": { + "balance": "0x56bc75e2d63100000" }, - "af4493e8521ca89d95f5267c1ab63f9f45411e1b": { - "balance": "200000000000000000000" + "0xaf4493e8521ca89d95f5267c1ab63f9f45411e1b": { + "balance": "0xad78ebc5ac6200000" }, - "bf6925c00751008440a6739a02bf2b6cdaab5e3a": { - "balance": "1000000000000000000000" + "0xbf6925c00751008440a6739a02bf2b6cdaab5e3a": { + "balance": "0x3635c9adc5dea00000" }, - "3fe40fbd919aad2818df01ee4df46c46842ac539": { - "balance": "6000000000000000000000" + "0x3fe40fbd919aad2818df01ee4df46c46842ac539": { + "balance": "0x14542ba12a337c00000" }, - "455b9296921a74d1fc41617f43b8303e6f3ed76c": { - "balance": "4200000000000000000000" + "0x455b9296921a74d1fc41617f43b8303e6f3ed76c": { + "balance": "0xe3aeb5737240a00000" }, - "7086b4bde3e35d4aeb24b825f1a215f99d85f745": { - "balance": "1999800000000000000000" + "0x7086b4bde3e35d4aeb24b825f1a215f99d85f745": { + "balance": "0x6c68ccd09b022c0000" }, - "d4ee4919fb37f2bb970c3fff54aaf1f3dda6c03f": { - "balance": "40000000000000000000000" + "0xd4ee4919fb37f2bb970c3fff54aaf1f3dda6c03f": { + "balance": "0x878678326eac9000000" }, - "a4489a50ead5d5445a7bee4d2d5536c2a76c41f8": { - "balance": "200000000000000000000" + "0xa4489a50ead5d5445a7bee4d2d5536c2a76c41f8": { + "balance": "0xad78ebc5ac6200000" }, - "505e4f7c275588c533a20ebd2ac13b409bbdea3c": { - "balance": "17600000000000000000" + "0x505e4f7c275588c533a20ebd2ac13b409bbdea3c": { + "balance": "0xf43fc2c04ee00000" }, - "3bb53598cc20e2055dc553b049404ac9b7dd1e83": { - "balance": "615020000000000000000" + "0x3bb53598cc20e2055dc553b049404ac9b7dd1e83": { + "balance": "0x21571df77c00be0000" }, - "52cd20403ba7eda6bc307a3d63b5911b817c1263": { - "balance": "20000000000000000000" + "0x52cd20403ba7eda6bc307a3d63b5911b817c1263": { + "balance": "0x1158e460913d00000" }, - "a211da03cc0e31ecce5309998718515528a090df": { - "balance": "200000000000000000000" + "0xa211da03cc0e31ecce5309998718515528a090df": { + "balance": "0xad78ebc5ac6200000" }, - "bcb422dc4dd2aae94abae95ea45dd1731bb6b0ba": { - "balance": "447500000000000000000" + "0xbcb422dc4dd2aae94abae95ea45dd1731bb6b0ba": { + "balance": "0x18424f5f0b1b4e0000" }, - "cbde9734b8e6aa538c291d6d7facedb0f338f857": { - "balance": "2000000000000000000000" + "0xcbde9734b8e6aa538c291d6d7facedb0f338f857": { + "balance": "0x6c6b935b8bbd400000" }, - "171ca02a8b6d62bf4ca47e906914079861972cb2": { - "balance": "200000000000000000000" + "0x171ca02a8b6d62bf4ca47e906914079861972cb2": { + "balance": "0xad78ebc5ac6200000" }, - "d40d0055fd9a38488aff923fd03d35ec46d711b3": { - "balance": "4999711000000000000000" + "0xd40d0055fd9a38488aff923fd03d35ec46d711b3": { + "balance": "0x10f08eda8e555098000" }, - "3887192c7f705006b630091276b39ac680448d6b": { - "balance": "60000000000000000000" + "0x3887192c7f705006b630091276b39ac680448d6b": { + "balance": "0x340aad21b3b700000" }, - "3f3c8e61e5604cef0605d436dd22accd862217fc": { - "balance": "1337000000000000000000" + "0x3f3c8e61e5604cef0605d436dd22accd862217fc": { + "balance": "0x487a9a304539440000" }, - "4258fd662fc4ce3295f0d4ed8f7bb1449600a0a9": { - "balance": "6719600000000000000000" + "0x4258fd662fc4ce3295f0d4ed8f7bb1449600a0a9": { + "balance": "0x16c452ed6088ad80000" }, - "4571de672b9904bad8743692c21c4fdcea4c2e01": { - "balance": "4000000000000000000000" + "0x4571de672b9904bad8743692c21c4fdcea4c2e01": { + "balance": "0xd8d726b7177a800000" }, - "5be045512a026e3f1cebfd5a7ec0cfc36f2dc16b": { - "balance": "120000000000000000000" + "0x5be045512a026e3f1cebfd5a7ec0cfc36f2dc16b": { + "balance": "0x68155a43676e00000" }, - "d6300b3215b11de762ecde4b70b7927d01291582": { - "balance": "2000000000000000000000" + "0xd6300b3215b11de762ecde4b70b7927d01291582": { + "balance": "0x6c6b935b8bbd400000" }, - "f9e37447406c412197b2e2aebc001d6e30c98c60": { - "balance": "8346700000000000000000" + "0xf9e37447406c412197b2e2aebc001d6e30c98c60": { + "balance": "0x1c479bb4349c0ee0000" }, - "bd047ff1e69cc6b29ad26497a9a6f27a903fc4dd": { - "balance": "865000000000000000000" + "0xbd047ff1e69cc6b29ad26497a9a6f27a903fc4dd": { + "balance": "0x2ee449550898e40000" }, - "23fa7eb51a48229598f97e762be0869652dffc66": { - "balance": "1000000000000000000000" + "0x23fa7eb51a48229598f97e762be0869652dffc66": { + "balance": "0x3635c9adc5dea00000" }, - "6679aeecd87a57a73f3356811d2cf49d0c4d96dc": { - "balance": "600000000000000000000" + "0x6679aeecd87a57a73f3356811d2cf49d0c4d96dc": { + "balance": "0x2086ac351052600000" }, - "23c55aeb5739876f0ac8d7ebea13be729685f000": { - "balance": "1337000000000000000000" + "0x23c55aeb5739876f0ac8d7ebea13be729685f000": { + "balance": "0x487a9a304539440000" }, - "757b65876dbf29bf911d4f0692a2c9beb1139808": { - "balance": "4124263000000000000000" + "0x757b65876dbf29bf911d4f0692a2c9beb1139808": { + "balance": "0xdf93a59337d6dd8000" }, - "e8fc36b0131ec120ac9e85afc10ce70b56d8b6ba": { - "balance": "200000000000000000000" + "0xe8fc36b0131ec120ac9e85afc10ce70b56d8b6ba": { + "balance": "0xad78ebc5ac6200000" }, - "1a89899cbebdbb64bb26a195a63c08491fcd9eee": { - "balance": "2000000000000000000000" + "0x1a89899cbebdbb64bb26a195a63c08491fcd9eee": { + "balance": "0x6c6b935b8bbd400000" }, - "6edf7f5283725c953ee64317f66188af1184b033": { - "balance": "8050000000000000000000" + "0x6edf7f5283725c953ee64317f66188af1184b033": { + "balance": "0x1b464311d45a6880000" }, - "297385e88634465685c231a314a0d5dcd146af01": { - "balance": "1550000000000000000000" + "0x297385e88634465685c231a314a0d5dcd146af01": { + "balance": "0x54069233bf7f780000" }, - "018f20a27b27ec441af723fd9099f2cbb79d6263": { - "balance": "2167000000000000000000" + "0x018f20a27b27ec441af723fd9099f2cbb79d6263": { + "balance": "0x75792a8abdef7c0000" }, - "a5a4227f6cf98825c0d5baff5315752ccc1a1391": { - "balance": "10000000000000000000000" + "0xa5a4227f6cf98825c0d5baff5315752ccc1a1391": { + "balance": "0x21e19e0c9bab2400000" }, - "69517083e303d4fbb6c2114514215d69bc46a299": { - "balance": "100000000000000000000" + "0x69517083e303d4fbb6c2114514215d69bc46a299": { + "balance": "0x56bc75e2d63100000" }, - "1dab172effa6fbee534c94b17e794edac54f55f8": { - "balance": "1970000000000000000000" + "0x1dab172effa6fbee534c94b17e794edac54f55f8": { + "balance": "0x6acb3df27e1f880000" }, - "c6ee35934229693529dc41d9bb71a2496658b88e": { - "balance": "19700000000000000000000" + "0xc6ee35934229693529dc41d9bb71a2496658b88e": { + "balance": "0x42bf06b78ed3b500000" }, - "a8ee1df5d44b128469e913569ef6ac81eeda4fc8": { - "balance": "500000000000000000000" + "0xa8ee1df5d44b128469e913569ef6ac81eeda4fc8": { + "balance": "0x1b1ae4d6e2ef500000" }, - "35bd246865fab490ac087ac1f1d4f2c10d0cda03": { - "balance": "400000000000000000000" + "0x35bd246865fab490ac087ac1f1d4f2c10d0cda03": { + "balance": "0x15af1d78b58c400000" }, - "4bf8bf1d35a231315764fc8001809a949294fc49": { - "balance": "66850000000000000000" + "0x4bf8bf1d35a231315764fc8001809a949294fc49": { + "balance": "0x39fbae8d042dd0000" }, - "c70fa45576bf9c865f983893002c414926f61029": { - "balance": "400400000000000000000" + "0xc70fa45576bf9c865f983893002c414926f61029": { + "balance": "0x15b4aa8e9702680000" }, - "fdeaac2acf1d138e19f2fc3f9fb74592e3ed818a": { - "balance": "668500000000000000000" + "0xfdeaac2acf1d138e19f2fc3f9fb74592e3ed818a": { + "balance": "0x243d4d18229ca20000" }, - "bfbfbcb656c2992be8fcde8219fbc54aadd59f29": { - "balance": "9999924000000000000000" + "0xbfbfbcb656c2992be8fcde8219fbc54aadd59f29": { + "balance": "0x21e18d2c821c7520000" }, - "1722c4cbe70a94b6559d425084caeed4d6e66e21": { - "balance": "4000000000000000000000" + "0x1722c4cbe70a94b6559d425084caeed4d6e66e21": { + "balance": "0xd8d726b7177a800000" }, - "00e681bc2d10db62de85848324492250348e90bf": { - "balance": "20000000000000000000000" + "0x00e681bc2d10db62de85848324492250348e90bf": { + "balance": "0x43c33c1937564800000" }, - "5c308bac4857d33baea074f3956d3621d9fa28e1": { - "balance": "4999711000000000000000" + "0x5c308bac4857d33baea074f3956d3621d9fa28e1": { + "balance": "0x10f08eda8e555098000" }, - "68c08490c89bf0d6b6f320b1aca95c8312c00608": { - "balance": "4000000000000000000000" + "0x68c08490c89bf0d6b6f320b1aca95c8312c00608": { + "balance": "0xd8d726b7177a800000" }, - "ce1884ddbbb8e10e4dba6e44feeec2a7e5f92f05": { - "balance": "4000000000000000000000" + "0xce1884ddbbb8e10e4dba6e44feeec2a7e5f92f05": { + "balance": "0xd8d726b7177a800000" }, - "427417bd16b1b3d22dbb902d8f9657016f24a61c": { - "balance": "2000000000000000000000" + "0x427417bd16b1b3d22dbb902d8f9657016f24a61c": { + "balance": "0x6c6b935b8bbd400000" }, - "5ff93de6ee054cad459b2d5eb0f6870389dfcb74": { - "balance": "220000000000000000000" + "0x5ff93de6ee054cad459b2d5eb0f6870389dfcb74": { + "balance": "0xbed1d0263d9f00000" }, - "71946b7117fc915ed107385f42d99ddac63249c2": { - "balance": "2000000000000000000000" + "0x71946b7117fc915ed107385f42d99ddac63249c2": { + "balance": "0x6c6b935b8bbd400000" }, - "11ec00f849b6319cf51aa8dd8f66b35529c0be77": { - "balance": "2000000000000000000000" + "0x11ec00f849b6319cf51aa8dd8f66b35529c0be77": { + "balance": "0x6c6b935b8bbd400000" }, - "610fd6ee4eebab10a8c55d0b4bd2e7d6ef817156": { - "balance": "20002000000000000000" + "0x610fd6ee4eebab10a8c55d0b4bd2e7d6ef817156": { + "balance": "0x1159561065d5d0000" }, - "a422e4bf0bf74147cc895bed8f16d3cef3426154": { - "balance": "349281000000000000000" + "0xa422e4bf0bf74147cc895bed8f16d3cef3426154": { + "balance": "0x12ef3f62ee11368000" }, - "745aecbaf9bb39b74a67ea1ce623de368481baa6": { - "balance": "10000000000000000000000" + "0x745aecbaf9bb39b74a67ea1ce623de368481baa6": { + "balance": "0x21e19e0c9bab2400000" }, - "9f496cb2069563144d0811677ba0e4713a0a4143": { - "balance": "1122000000000000000000" + "0x9f496cb2069563144d0811677ba0e4713a0a4143": { + "balance": "0x3cd2e0bf63a4480000" }, - "c500b720734ed22938d78c5e48b2ba9367a575ba": { - "balance": "33400000000000000000000" + "0xc500b720734ed22938d78c5e48b2ba9367a575ba": { + "balance": "0x7129e1cdf373ee00000" }, - "cd072e6e1833137995196d7bb1725fef8761f655": { - "balance": "6000000000000000000000" + "0xcd072e6e1833137995196d7bb1725fef8761f655": { + "balance": "0x14542ba12a337c00000" }, - "94644ad116a41ce2ca7fbec609bdef738a2ac7c7": { - "balance": "5000000000000000000000" + "0x94644ad116a41ce2ca7fbec609bdef738a2ac7c7": { + "balance": "0x10f0cf064dd59200000" }, - "e8d942d82f175ecb1c16a405b10143b3f46b963a": { - "balance": "568600000000000000000" + "0xe8d942d82f175ecb1c16a405b10143b3f46b963a": { + "balance": "0x1ed2e8ff6d971c0000" }, - "f73dd9c142b71bce11d06e30e7e7d032f2ec9c9e": { - "balance": "1970000000000000000000" + "0xf73dd9c142b71bce11d06e30e7e7d032f2ec9c9e": { + "balance": "0x6acb3df27e1f880000" }, - "1327d759d56e0ab87af37ecf63fe01f310be100a": { - "balance": "659200000000000000000" + "0x1327d759d56e0ab87af37ecf63fe01f310be100a": { + "balance": "0x23bc3cdb68a1800000" }, - "28fa2580f9ebe420f3e5eefdd371638e3b7af499": { - "balance": "6000000000000000000000" + "0x28fa2580f9ebe420f3e5eefdd371638e3b7af499": { + "balance": "0x14542ba12a337c00000" }, - "024bdd2c7bfd500ee7404f7fb3e9fb31dd20fbd1": { - "balance": "180000000000000000000" + "0x024bdd2c7bfd500ee7404f7fb3e9fb31dd20fbd1": { + "balance": "0x9c2007651b2500000" }, - "b4b14bf45455d0ab0803358b7524a72be1a2045b": { - "balance": "500000000000000000000" + "0xb4b14bf45455d0ab0803358b7524a72be1a2045b": { + "balance": "0x1b1ae4d6e2ef500000" }, - "b1e2dd95e39ae9775c55aeb13f12c2fa233053ba": { - "balance": "2000000000000000000000" + "0xb1e2dd95e39ae9775c55aeb13f12c2fa233053ba": { + "balance": "0x6c6b935b8bbd400000" }, - "35b03ea4245736f57b85d2eb79628f036ddcd705": { - "balance": "4000000000000000000000" + "0x35b03ea4245736f57b85d2eb79628f036ddcd705": { + "balance": "0xd8d726b7177a800000" }, - "eb2ef3d38fe652403cd4c9d85ed7f0682cd7c2de": { - "balance": "42784000000000000000000" + "0xeb2ef3d38fe652403cd4c9d85ed7f0682cd7c2de": { + "balance": "0x90f534608a728800000" }, - "690594d306613cd3e2fd24bca9994ad98a3d73f8": { - "balance": "2000000000000000000000" + "0x690594d306613cd3e2fd24bca9994ad98a3d73f8": { + "balance": "0x6c6b935b8bbd400000" }, - "8397a1bc47acd647418159b99cea57e1e6532d6e": { - "balance": "9169160000000000000000" + "0x8397a1bc47acd647418159b99cea57e1e6532d6e": { + "balance": "0x1f10fa827b550b40000" }, - "b44815a0f28e569d0e921a4ade8fb2642526497a": { - "balance": "55500000000000000000" + "0xb44815a0f28e569d0e921a4ade8fb2642526497a": { + "balance": "0x302379bf2ca2e0000" }, - "e24109be2f513d87498e926a286499754f9ed49e": { - "balance": "886500000000000000000" + "0xe24109be2f513d87498e926a286499754f9ed49e": { + "balance": "0x300ea8ad1f27ca0000" }, - "37ac29bda93f497bc4aeaab935452c431510341e": { - "balance": "985000000000000000000" + "0x37ac29bda93f497bc4aeaab935452c431510341e": { + "balance": "0x35659ef93f0fc40000" }, - "4a81abe4984c7c6bef63d69820e55743c61f201c": { - "balance": "16011846000000000000000" + "0x4a81abe4984c7c6bef63d69820e55743c61f201c": { + "balance": "0x36401004e9aa3470000" }, - "66dcc5fb4ee7fee046e141819aa968799d644491": { - "balance": "1337000000000000000000" + "0x66dcc5fb4ee7fee046e141819aa968799d644491": { + "balance": "0x487a9a304539440000" }, - "43ff38743ed0cd43308c066509cc8e7e72c862aa": { - "balance": "1940000000000000000000" + "0x43ff38743ed0cd43308c066509cc8e7e72c862aa": { + "balance": "0x692ae8897081d00000" }, - "b8f20005b61352ffa7699a1b52f01f5ab39167f1": { - "balance": "10000000000000000000000" + "0xb8f20005b61352ffa7699a1b52f01f5ab39167f1": { + "balance": "0x21e19e0c9bab2400000" }, - "1cda411bd5163baeca1e558563601ce720e24ee1": { - "balance": "18200000000000000000" + "0x1cda411bd5163baeca1e558563601ce720e24ee1": { + "balance": "0xfc936392801c0000" }, - "86245f596691093ece3f3d3ca2263eace81941d9": { - "balance": "188000000000000000000" + "0x86245f596691093ece3f3d3ca2263eace81941d9": { + "balance": "0xa31062beeed700000" }, - "f52a5882e8927d944b359b26366ba2b9cacfbae8": { - "balance": "25000080000000000000000" + "0xf52a5882e8927d944b359b26366ba2b9cacfbae8": { + "balance": "0x54b41ce2fe63ba80000" }, - "118c18b2dce170e8f445753ba5d7513cb7636d2d": { - "balance": "8800000000000000000000" + "0x118c18b2dce170e8f445753ba5d7513cb7636d2d": { + "balance": "0x1dd0c885f9a0d800000" }, - "7168b3bb8c167321d9bdb023a6e9fd11afc9afd9": { - "balance": "1790000000000000000000" + "0x7168b3bb8c167321d9bdb023a6e9fd11afc9afd9": { + "balance": "0x61093d7c2c6d380000" }, - "d9103bb6b67a55a7fece2d1af62d457c2178946d": { - "balance": "1000000000000000000000" + "0xd9103bb6b67a55a7fece2d1af62d457c2178946d": { + "balance": "0x3635c9adc5dea00000" }, - "8b9fda7d981fe9d64287f85c94d83f9074849fcc": { - "balance": "14000000000000000000000" + "0x8b9fda7d981fe9d64287f85c94d83f9074849fcc": { + "balance": "0x2f6f10780d22cc00000" }, - "91211712719f2b084d3b3875a85069f466363141": { - "balance": "1000000000000000000000" + "0x91211712719f2b084d3b3875a85069f466363141": { + "balance": "0x3635c9adc5dea00000" }, - "4863849739265a63b0a2bf236a5913e6f959ce15": { - "balance": "1520000000000000000000" + "0x4863849739265a63b0a2bf236a5913e6f959ce15": { + "balance": "0x52663ccab1e1c00000" }, - "c2d1778ef6ee5fe488c145f3586b6ebbe3fbb445": { - "balance": "1146000000000000000000" + "0xc2d1778ef6ee5fe488c145f3586b6ebbe3fbb445": { + "balance": "0x3e1ff1e03b55a80000" }, - "2b77a4d88c0d56a3dbe3bae04a05f4fcd1b757e1": { - "balance": "300000000000000000000" + "0x2b77a4d88c0d56a3dbe3bae04a05f4fcd1b757e1": { + "balance": "0x1043561a8829300000" }, - "fe9c0fffefb803081256c0cf4d6659e6d33eb4fb": { - "balance": "1528000000000000000000" + "0xfe9c0fffefb803081256c0cf4d6659e6d33eb4fb": { + "balance": "0x52d542804f1ce00000" }, - "893017ff1adad499aa065401b4236ce6e92b625a": { - "balance": "1999944000000000000000" + "0x893017ff1adad499aa065401b4236ce6e92b625a": { + "balance": "0x6c6acc67d7b1d40000" }, - "073c67e09b5c713c5221c8a0c7f3f74466c347b0": { - "balance": "19400000000000000000000" + "0x073c67e09b5c713c5221c8a0c7f3f74466c347b0": { + "balance": "0x41bad155e6512200000" }, - "93e303411afaf6c107a44101c9ac5b36e9d6538b": { - "balance": "66000000000000000000000" + "0x93e303411afaf6c107a44101c9ac5b36e9d6538b": { + "balance": "0xdf9ddfecd0365400000" }, - "0ec50aa823f465b9464b0bc0c4a57724a555f5d6": { - "balance": "59100000000000000000000" + "0x0ec50aa823f465b9464b0bc0c4a57724a555f5d6": { + "balance": "0xc83d1426ac7b1f00000" }, - "a3e3a6ea509573e21bd0239ece0523a7b7d89b2f": { - "balance": "1970000000000000000000" + "0xa3e3a6ea509573e21bd0239ece0523a7b7d89b2f": { + "balance": "0x6acb3df27e1f880000" }, - "c069ef0eb34299abd2e32dabc47944b272334824": { - "balance": "120000000000000000000" + "0xc069ef0eb34299abd2e32dabc47944b272334824": { + "balance": "0x68155a43676e00000" }, - "28a3da09a8194819ae199f2e6d9d1304817e28a5": { - "balance": "2000000000000000000000" + "0x28a3da09a8194819ae199f2e6d9d1304817e28a5": { + "balance": "0x6c6b935b8bbd400000" }, - "e9495ba5842728c0ed97be37d0e422b98d69202c": { - "balance": "2000000000000000000000" + "0xe9495ba5842728c0ed97be37d0e422b98d69202c": { + "balance": "0x6c6b935b8bbd400000" }, - "bba976f1a1215f7512871892d45f7048acd356c8": { - "balance": "2000000000000000000000" + "0xbba976f1a1215f7512871892d45f7048acd356c8": { + "balance": "0x6c6b935b8bbd400000" }, - "887cac41cd706f3345f2d34ac34e01752a6e5909": { - "balance": "595366000000000000000" + "0x887cac41cd706f3345f2d34ac34e01752a6e5909": { + "balance": "0x20465cee9da1370000" }, - "e0e0b2e29dde73af75987ee4446c829a189c95bc": { - "balance": "149000000000000000000" + "0xe0e0b2e29dde73af75987ee4446c829a189c95bc": { + "balance": "0x813ca56906d340000" }, - "4a5fae3b0372c230c125d6d470140337ab915656": { - "balance": "1600000000000000000000" + "0x4a5fae3b0372c230c125d6d470140337ab915656": { + "balance": "0x56bc75e2d631000000" }, - "425177eb74ad0a9d9a5752228147ee6d6356a6e6": { - "balance": "13370000000000000000" + "0x425177eb74ad0a9d9a5752228147ee6d6356a6e6": { + "balance": "0xb98bc829a6f90000" }, - "5db7bba1f9573f24115d8c8c62e9ce8895068e9f": { - "balance": "49984000000000000000" + "0x5db7bba1f9573f24115d8c8c62e9ce8895068e9f": { + "balance": "0x2b5aad72c65200000" }, - "fa6a37f018e97967937fc5e8617ba1d786dd5f77": { - "balance": "19999800000000000000000" + "0xfa6a37f018e97967937fc5e8617ba1d786dd5f77": { + "balance": "0x43c30fb0884a96c0000" }, - "45e3a93e72144ada860cbc56ff85145ada38c6da": { - "balance": "1610000000000000000000" + "0x45e3a93e72144ada860cbc56ff85145ada38c6da": { + "balance": "0x57473d05dabae80000" }, - "67da922effa472a6b124e84ea8f86b24e0f515aa": { - "balance": "20000000000000000000" + "0x67da922effa472a6b124e84ea8f86b24e0f515aa": { + "balance": "0x1158e460913d00000" }, - "aa9bd4589535db27fa2bc903ca17d679dd654806": { - "balance": "2000000000000000000000" + "0xaa9bd4589535db27fa2bc903ca17d679dd654806": { + "balance": "0x6c6b935b8bbd400000" }, - "16a9e9b73ae98b864d1728798b8766dbc6ea8d12": { - "balance": "957480000000000000000" + "0x16a9e9b73ae98b864d1728798b8766dbc6ea8d12": { + "balance": "0x33e7b44b0db5040000" }, - "d6580ab5ed4c7dfa506fa6fe64ad5ce129707732": { - "balance": "4000000000000000000000" + "0xd6580ab5ed4c7dfa506fa6fe64ad5ce129707732": { + "balance": "0xd8d726b7177a800000" }, - "984a7985e3cc7eb5c93691f6f8cc7b8f245d01b2": { - "balance": "6000000000000000000000" + "0x984a7985e3cc7eb5c93691f6f8cc7b8f245d01b2": { + "balance": "0x14542ba12a337c00000" }, - "7746b6c6699c8f34ca2768a820f1ffa4c207fe05": { - "balance": "4000086000000000000000" + "0x7746b6c6699c8f34ca2768a820f1ffa4c207fe05": { + "balance": "0xd8d8583fa2d52f0000" }, - "2fa491fb5920a6574ebd289f39c1b2430d2d9a6a": { - "balance": "2000000000000000000000" + "0x2fa491fb5920a6574ebd289f39c1b2430d2d9a6a": { + "balance": "0x6c6b935b8bbd400000" }, - "fae76719d97eac41870428e940279d97dd57b2f6": { - "balance": "98500000000000000000000" + "0xfae76719d97eac41870428e940279d97dd57b2f6": { + "balance": "0x14dbb2195ca228900000" }, - "41b2dbd79dda9b864f6a7030275419c39d3efd3b": { - "balance": "3200000000000000000000" + "0x41b2dbd79dda9b864f6a7030275419c39d3efd3b": { + "balance": "0xad78ebc5ac62000000" }, - "dd8254121a6e942fc90828f2431f511dad7f32e6": { - "balance": "3018000000000000000000" + "0xdd8254121a6e942fc90828f2431f511dad7f32e6": { + "balance": "0xa39b29e1f360e80000" }, - "37fac1e6bc122e936dfb84de0c4bef6e0d60c2d7": { - "balance": "2000000000000000000000" + "0x37fac1e6bc122e936dfb84de0c4bef6e0d60c2d7": { + "balance": "0x6c6b935b8bbd400000" }, - "3a10888b7e149cae272c01302c327d0af01a0b24": { - "balance": "17000000000000000000" + "0x3a10888b7e149cae272c01302c327d0af01a0b24": { + "balance": "0xebec21ee1da40000" }, - "401354a297952fa972ad383ca07a0a2811d74a71": { - "balance": "14000000000000000000" + "0x401354a297952fa972ad383ca07a0a2811d74a71": { + "balance": "0xc249fdd327780000" }, - "51865db148881951f51251710e82b9be0d7eadb2": { - "balance": "2000000000000000000000" + "0x51865db148881951f51251710e82b9be0d7eadb2": { + "balance": "0x6c6b935b8bbd400000" }, - "bbbd6ecbb5752891b4ceb3cce73a8f477059376f": { - "balance": "36000000000000000000" + "0xbbbd6ecbb5752891b4ceb3cce73a8f477059376f": { + "balance": "0x1f399b1438a100000" }, - "3f236108eec72289bac3a65cd283f95e041d144c": { - "balance": "999925000000000000000" + "0x3f236108eec72289bac3a65cd283f95e041d144c": { + "balance": "0x3634bf39ab98788000" }, - "dc83b6fd0d512131204707eaf72ea0c8c9bef976": { - "balance": "2000000000000000000000" + "0xdc83b6fd0d512131204707eaf72ea0c8c9bef976": { + "balance": "0x6c6b935b8bbd400000" }, - "036eeff5ba90a6879a14dff4c5043b18ca0460c9": { - "balance": "100000000000000000000" + "0x036eeff5ba90a6879a14dff4c5043b18ca0460c9": { + "balance": "0x56bc75e2d63100000" }, - "fac5ca94758078fbfccd19db3558da7ee8a0a768": { - "balance": "1017500000000000000000" + "0xfac5ca94758078fbfccd19db3558da7ee8a0a768": { + "balance": "0x3728a62b0dcff60000" }, - "d0d62c47ea60fb90a3639209bbfdd4d933991cc6": { - "balance": "194000000000000000000" + "0xd0d62c47ea60fb90a3639209bbfdd4d933991cc6": { + "balance": "0xa844a7424d9c80000" }, - "891cb8238c88e93a1bcf61db49bd82b47a7f4f84": { - "balance": "2680000000000000000000" + "0x891cb8238c88e93a1bcf61db49bd82b47a7f4f84": { + "balance": "0x914878a8c05ee00000" }, - "df53003346d65c5e7a646bc034f2b7d32fcbe56a": { - "balance": "2000000000000000000000" + "0xdf53003346d65c5e7a646bc034f2b7d32fcbe56a": { + "balance": "0x6c6b935b8bbd400000" }, - "6e89c51ea6de13e06cdc748b67c4410fe9bcab03": { - "balance": "4000000000000000000000" + "0x6e89c51ea6de13e06cdc748b67c4410fe9bcab03": { + "balance": "0xd8d726b7177a800000" }, - "a61cdbadf04b1e54c883de6005fcdf16beb8eb2f": { - "balance": "2000000000000000000000" + "0xa61cdbadf04b1e54c883de6005fcdf16beb8eb2f": { + "balance": "0x6c6b935b8bbd400000" }, - "e3951de5aefaf0458768d774c254f7157735e505": { - "balance": "1600930000000000000000" + "0xe3951de5aefaf0458768d774c254f7157735e505": { + "balance": "0x56c95de8e8ca1d0000" }, - "f2732cf2c13b8bb8e7492a988f5f89e38273ddc8": { - "balance": "600000000000000000000" + "0xf2732cf2c13b8bb8e7492a988f5f89e38273ddc8": { + "balance": "0x2086ac351052600000" }, - "4752218e54de423f86c0501933917aea08c8fed5": { - "balance": "20000000000000000000000" + "0x4752218e54de423f86c0501933917aea08c8fed5": { + "balance": "0x43c33c1937564800000" }, - "152f4e860ef3ee806a502777a1b8dbc91a907668": { - "balance": "600000000000000000000" + "0x152f4e860ef3ee806a502777a1b8dbc91a907668": { + "balance": "0x2086ac351052600000" }, - "15b96f30c23b8664e7490651066b00c4391fbf84": { - "balance": "410650000000000000000" + "0x15b96f30c23b8664e7490651066b00c4391fbf84": { + "balance": "0x1642e9df4876290000" }, - "8693e9b8be94425eef7969bc69f9d42f7cad671e": { - "balance": "1000090000000000000000" + "0x8693e9b8be94425eef7969bc69f9d42f7cad671e": { + "balance": "0x3637096c4bcc690000" }, - "f41557dfdfb1a1bdcefefe2eba1e21fe0a4a9942": { - "balance": "1970000000000000000000" + "0xf41557dfdfb1a1bdcefefe2eba1e21fe0a4a9942": { + "balance": "0x6acb3df27e1f880000" }, - "38458e0685573cb4d28f53098829904570179266": { - "balance": "40000000000000000000" + "0x38458e0685573cb4d28f53098829904570179266": { + "balance": "0x22b1c8c1227a00000" }, - "53e4d9696dcb3f4d7b3f70dcaa4eecb71782ff5c": { - "balance": "200000000000000000000" + "0x53e4d9696dcb3f4d7b3f70dcaa4eecb71782ff5c": { + "balance": "0xad78ebc5ac6200000" }, - "2dca0e449ab646dbdfd393a96662960bcab5ae1e": { - "balance": "40000000000000000000000" + "0x2dca0e449ab646dbdfd393a96662960bcab5ae1e": { + "balance": "0x878678326eac9000000" }, - "87d7ac0653ccc67aa9c3469eef4352193f7dbb86": { - "balance": "200000000000000000000000" + "0x87d7ac0653ccc67aa9c3469eef4352193f7dbb86": { + "balance": "0x2a5a058fc295ed000000" }, - "ae9f5c3fbbe0c9bcbf1af8ff74ea280b3a5d8b08": { - "balance": "1730000000000000000000" + "0xae9f5c3fbbe0c9bcbf1af8ff74ea280b3a5d8b08": { + "balance": "0x5dc892aa1131c80000" }, - "7751f363a0a7fd0533190809ddaf9340d8d11291": { - "balance": "20000000000000000000" + "0x7751f363a0a7fd0533190809ddaf9340d8d11291": { + "balance": "0x1158e460913d00000" }, - "708a2af425ceb01e87ffc1be54c0f532b20eacd6": { - "balance": "134159000000000000000" + "0x708a2af425ceb01e87ffc1be54c0f532b20eacd6": { + "balance": "0x745d483b1f5a18000" }, - "ac122a03cd058c122e5fe17b872f4877f9df9572": { - "balance": "1969606000000000000000" + "0xac122a03cd058c122e5fe17b872f4877f9df9572": { + "balance": "0x6ac5c62d9486070000" }, - "5da4ca88935c27f55c311048840e589e04a8a049": { - "balance": "80000000000000000000" + "0x5da4ca88935c27f55c311048840e589e04a8a049": { + "balance": "0x4563918244f400000" }, - "e67c2c1665c88338688187629f49e99b60b2d3ba": { - "balance": "200000000000000000000" + "0xe67c2c1665c88338688187629f49e99b60b2d3ba": { + "balance": "0xad78ebc5ac6200000" }, - "dec82373ade8ebcf2acb6f8bc2414dd7abb70d77": { - "balance": "200000000000000000000" + "0xdec82373ade8ebcf2acb6f8bc2414dd7abb70d77": { + "balance": "0xad78ebc5ac6200000" }, - "47c247f53b9fbeb17bba0703a00c009fdb0f6eae": { - "balance": "20000000000000000000000" + "0x47c247f53b9fbeb17bba0703a00c009fdb0f6eae": { + "balance": "0x43c33c1937564800000" }, - "9a522e52c195bfb7cf5ffaaedb91a3ba7468161d": { - "balance": "1000000000000000000000" + "0x9a522e52c195bfb7cf5ffaaedb91a3ba7468161d": { + "balance": "0x3635c9adc5dea00000" }, - "3159e90c48a915904adfe292b22fa5fd5e72796b": { - "balance": "1008800000000000000000" + "0x3159e90c48a915904adfe292b22fa5fd5e72796b": { + "balance": "0x36afe98f2606100000" }, - "defddfd59b8d2c154eecf5c7c167bf0ba2905d3e": { - "balance": "93588000000000000000" + "0xdefddfd59b8d2c154eecf5c7c167bf0ba2905d3e": { + "balance": "0x512cb5e2647420000" }, - "ad1d68a038fd2586067ef6d135d9628e79c2c924": { - "balance": "4686168000000000000000" + "0xad1d68a038fd2586067ef6d135d9628e79c2c924": { + "balance": "0xfe09a5279e2abc0000" }, - "038e45eadd3d88b87fe4dab066680522f0dfc8f9": { - "balance": "10000000000000000000000" + "0x038e45eadd3d88b87fe4dab066680522f0dfc8f9": { + "balance": "0x21e19e0c9bab2400000" }, - "2561ec0f379218fe5ed4e028a3f744aa41754c72": { - "balance": "13370000000000000000" + "0x2561ec0f379218fe5ed4e028a3f744aa41754c72": { + "balance": "0xb98bc829a6f90000" }, - "b95396daaa490df2569324fcc6623be052f132ca": { - "balance": "2000000000000000000000" + "0xb95396daaa490df2569324fcc6623be052f132ca": { + "balance": "0x6c6b935b8bbd400000" }, - "2376ada90333b1d181084c97e645e810aa5b76f1": { - "balance": "750000000000000000000" + "0x2376ada90333b1d181084c97e645e810aa5b76f1": { + "balance": "0x28a857425466f80000" }, - "07800d2f8068e448c79a4f69b1f15ef682aae5f6": { - "balance": "19400000000000000000000" + "0x07800d2f8068e448c79a4f69b1f15ef682aae5f6": { + "balance": "0x41bad155e6512200000" }, - "adeb204aa0c38e179e81a94ed8b3e7d53047c26b": { - "balance": "608000000000000000000" + "0xadeb204aa0c38e179e81a94ed8b3e7d53047c26b": { + "balance": "0x20f5b1eaad8d800000" }, - "0dc100b107011c7fc0a1339612a16ccec3285208": { - "balance": "2000000000000000000000" + "0x0dc100b107011c7fc0a1339612a16ccec3285208": { + "balance": "0x6c6b935b8bbd400000" }, - "f0b1340b996f6f0bf0d9561c849caf7f4430befa": { - "balance": "100000000000000000000" + "0xf0b1340b996f6f0bf0d9561c849caf7f4430befa": { + "balance": "0x56bc75e2d63100000" }, - "e1443dbd95cc41237f613a48456988a04f683282": { - "balance": "4000086000000000000000" + "0xe1443dbd95cc41237f613a48456988a04f683282": { + "balance": "0xd8d8583fa2d52f0000" }, - "d3c6f1e0f50ec3d2a67e6bcd193ec7ae38f1657f": { - "balance": "6618150000000000000000" + "0xd3c6f1e0f50ec3d2a67e6bcd193ec7ae38f1657f": { + "balance": "0x166c5480889db770000" }, - "b68899e7610d4c93a23535bcc448945ba1666f1c": { - "balance": "200000000000000000000" + "0xb68899e7610d4c93a23535bcc448945ba1666f1c": { + "balance": "0xad78ebc5ac6200000" }, - "a7253763cf4a75df92ca1e766dc4ee8a2745147b": { - "balance": "10740000000000000000000" + "0xa7253763cf4a75df92ca1e766dc4ee8a2745147b": { + "balance": "0x2463770e90a8f500000" }, - "75d67ce14e8d29e8c2ffe381917b930b1aff1a87": { - "balance": "3000000000000000000000" + "0x75d67ce14e8d29e8c2ffe381917b930b1aff1a87": { + "balance": "0xa2a15d09519be00000" }, - "493d48bda015a9bfcf1603936eab68024ce551e0": { - "balance": "22528000000000000000" + "0x493d48bda015a9bfcf1603936eab68024ce551e0": { + "balance": "0x138a388a43c000000" }, - "7ddd57165c87a2707f025dcfc2508c09834759bc": { - "balance": "1400000000000000000000" + "0x7ddd57165c87a2707f025dcfc2508c09834759bc": { + "balance": "0x4be4e7267b6ae00000" }, - "cff7f89a4d4219a38295251331568210ffc1c134": { - "balance": "1760000000000000000000" + "0xcff7f89a4d4219a38295251331568210ffc1c134": { + "balance": "0x5f68e8131ecf800000" }, - "168d30e53fa681092b52e9bae15a0dcb41a8c9bb": { - "balance": "100000000000000000000" + "0x168d30e53fa681092b52e9bae15a0dcb41a8c9bb": { + "balance": "0x56bc75e2d63100000" }, - "99b743d1d9eff90d9a1934b4db21d519d89b4a38": { - "balance": "100000000000000000000" + "0x99b743d1d9eff90d9a1934b4db21d519d89b4a38": { + "balance": "0x56bc75e2d63100000" }, - "a3d0b03cffbb269f796ac29d80bfb07dc7c6ad06": { - "balance": "2000000000000000000000" + "0xa3d0b03cffbb269f796ac29d80bfb07dc7c6ad06": { + "balance": "0x6c6b935b8bbd400000" }, - "816d9772cf11399116cc1e72c26c6774c9edd739": { - "balance": "200000000000000000000" + "0x816d9772cf11399116cc1e72c26c6774c9edd739": { + "balance": "0xad78ebc5ac6200000" }, - "a880e2a8bf88a1a82648b4013c49c4594c433cc8": { - "balance": "4728000000000000000000" + "0xa880e2a8bf88a1a82648b4013c49c4594c433cc8": { + "balance": "0x1004e2e45fb7ee00000" }, - "2a44a7218fe44d65a1b4b7a7d9b1c2c52c8c3e34": { - "balance": "62221355000000000000000" + "0x2a44a7218fe44d65a1b4b7a7d9b1c2c52c8c3e34": { + "balance": "0xd2d06c305a1eb578000" }, - "cb86edbc8bbb1f9131022be649565ebdb09e32a1": { - "balance": "2000000000000000000000" + "0xcb86edbc8bbb1f9131022be649565ebdb09e32a1": { + "balance": "0x6c6b935b8bbd400000" }, - "3915eab5ab2e5977d075dec47d96b68b4b5cf515": { - "balance": "61520000000000000000000" + "0x3915eab5ab2e5977d075dec47d96b68b4b5cf515": { + "balance": "0xd07018185120f400000" }, - "8165cab0eafb5a328fc41ac64dae715b2eef2c65": { - "balance": "1000000000000000000000" + "0x8165cab0eafb5a328fc41ac64dae715b2eef2c65": { + "balance": "0x3635c9adc5dea00000" }, - "416c86b72083d1f8907d84efd2d2d783dffa3efb": { - "balance": "1999944000000000000000" + "0x416c86b72083d1f8907d84efd2d2d783dffa3efb": { + "balance": "0x6c6acc67d7b1d40000" }, - "c524086d46c8112b128b2faf6f7c7d8160a8386c": { - "balance": "400000000000000000000" + "0xc524086d46c8112b128b2faf6f7c7d8160a8386c": { + "balance": "0x15af1d78b58c400000" }, - "902d74a157f7d2b9a3378b1f56703730e03a1719": { - "balance": "4000000000000000000000" + "0x902d74a157f7d2b9a3378b1f56703730e03a1719": { + "balance": "0xd8d726b7177a800000" }, - "74ef2869cbe608856045d8c2041118579f2236ea": { - "balance": "59724000000000000000" + "0x74ef2869cbe608856045d8c2041118579f2236ea": { + "balance": "0x33cd64591956e0000" }, - "af992dd669c0883e5515d3f3112a13f617a4c367": { - "balance": "2000000000000000000000" + "0xaf992dd669c0883e5515d3f3112a13f617a4c367": { + "balance": "0x6c6b935b8bbd400000" }, - "4c6a248fc97d705def495ca20759169ef0d36471": { - "balance": "760000000000000000000" + "0x4c6a248fc97d705def495ca20759169ef0d36471": { + "balance": "0x29331e6558f0e00000" }, - "974d2f17895f2902049deaaecf09c3046507402d": { - "balance": "14707000000000000000" + "0x974d2f17895f2902049deaaecf09c3046507402d": { + "balance": "0xcc19c29437ab8000" }, - "0239b4f21f8e05cd01512b2be7a0e18a6d974607": { - "balance": "1000000000000000000000" + "0x0239b4f21f8e05cd01512b2be7a0e18a6d974607": { + "balance": "0x3635c9adc5dea00000" }, - "b97a6733cd5fe99864b3b33460d1672434d5cafd": { - "balance": "1999579000000000000000" + "0xb97a6733cd5fe99864b3b33460d1672434d5cafd": { + "balance": "0x6c65bbaa46c2cf8000" }, - "f558a2b2dd26dd9593aae04531fd3c3cc3854b67": { - "balance": "198000000000000000000" + "0xf558a2b2dd26dd9593aae04531fd3c3cc3854b67": { + "balance": "0xabbcd4ef377580000" }, - "b577b6befa054e9c040461855094b002d7f57bd7": { - "balance": "114000000000000000000000" + "0xb577b6befa054e9c040461855094b002d7f57bd7": { + "balance": "0x1823f3cf621d23400000" }, - "73bfe7710f31cab949b7a2604fbf5239cee79015": { - "balance": "2000000000000000000000" + "0x73bfe7710f31cab949b7a2604fbf5239cee79015": { + "balance": "0x6c6b935b8bbd400000" }, - "5717f2d8f18ffcc0e5fe247d3a4219037c3a649c": { - "balance": "3998000000000000000000" + "0x5717f2d8f18ffcc0e5fe247d3a4219037c3a649c": { + "balance": "0xd8bb6549b02bb80000" }, - "20707e425d2a11d2c89f391b2b809f556c592421": { - "balance": "2000000000000000000000" + "0x20707e425d2a11d2c89f391b2b809f556c592421": { + "balance": "0x6c6b935b8bbd400000" }, - "9a6708ddb8903c289f83fe889c1edcd61f854423": { - "balance": "1000000000000000000000" + "0x9a6708ddb8903c289f83fe889c1edcd61f854423": { + "balance": "0x3635c9adc5dea00000" }, - "fa27cc49d00b6c987336a875ae39da58fb041b2e": { - "balance": "10000000000000000000000" + "0xfa27cc49d00b6c987336a875ae39da58fb041b2e": { + "balance": "0x21e19e0c9bab2400000" }, - "d688e785c98f00f84b3aa1533355c7a258e87948": { - "balance": "500000000000000000000" + "0xd688e785c98f00f84b3aa1533355c7a258e87948": { + "balance": "0x1b1ae4d6e2ef500000" }, - "927cb7dc187036b5427bc7e200c5ec450c1d27d4": { - "balance": "216000000000000000000" + "0x927cb7dc187036b5427bc7e200c5ec450c1d27d4": { + "balance": "0xbb59a27953c600000" }, - "b2bfaa58b5196c5cb7f89de15f479d1838de713d": { - "balance": "21000000000000000000" + "0xb2bfaa58b5196c5cb7f89de15f479d1838de713d": { + "balance": "0x1236efcbcbb340000" }, - "e180de9e86f57bafacd7904f9826b6b4b26337a3": { - "balance": "830400000000000000000" + "0xe180de9e86f57bafacd7904f9826b6b4b26337a3": { + "balance": "0x2d041d705a2c600000" }, - "a1204dad5f560728a35c0d8fc79481057bf77386": { - "balance": "1000000000000000000000" + "0xa1204dad5f560728a35c0d8fc79481057bf77386": { + "balance": "0x3635c9adc5dea00000" }, - "6b0da25af267d7836c226bcae8d872d2ce52c941": { - "balance": "6000000000000000000000" + "0x6b0da25af267d7836c226bcae8d872d2ce52c941": { + "balance": "0x14542ba12a337c00000" }, - "0517448dada761cc5ba4033ee881c83037036400": { - "balance": "1998000000000000000000" + "0x0517448dada761cc5ba4033ee881c83037036400": { + "balance": "0x6c4fd1ee246e780000" }, - "7ed0a5a847bef9a9da7cba1d6411f5c316312619": { - "balance": "39842000000000000000" + "0x7ed0a5a847bef9a9da7cba1d6411f5c316312619": { + "balance": "0x228eb37e8751d0000" }, - "5b5d517029321562111b43086d0b043591109a70": { - "balance": "2600000000000000000000" + "0x5b5d517029321562111b43086d0b043591109a70": { + "balance": "0x8cf23f909c0fa00000" }, - "56fc1a7bad4047237ce116146296238e078f93ad": { - "balance": "178000000000000000000" + "0x56fc1a7bad4047237ce116146296238e078f93ad": { + "balance": "0x9a63f08ea63880000" }, - "6c5422fb4b14e6d98b6091fdec71f1f08640419d": { - "balance": "400000000000000000000" + "0x6c5422fb4b14e6d98b6091fdec71f1f08640419d": { + "balance": "0x15af1d78b58c400000" }, - "108fe8ee2a13da487b22c6ab6d582ea71064d98c": { - "balance": "399800000000000000000" + "0x108fe8ee2a13da487b22c6ab6d582ea71064d98c": { + "balance": "0x15ac56edc4d12c0000" }, - "0ad3e44d3c001fa290b393617030544108ac6eb9": { - "balance": "1969019000000000000000" + "0x0ad3e44d3c001fa290b393617030544108ac6eb9": { + "balance": "0x6abda0bc30b2df8000" }, - "25aee68d09afb71d8817f3f184ec562f7897b734": { - "balance": "2000000000000000000000" + "0x25aee68d09afb71d8817f3f184ec562f7897b734": { + "balance": "0x6c6b935b8bbd400000" }, - "c2340a4ca94c9678b7494c3c852528ede5ee529f": { - "balance": "48669000000000000000" + "0xc2340a4ca94c9678b7494c3c852528ede5ee529f": { + "balance": "0x2a36b05a3fd7c8000" }, - "44901e0d0e08ac3d5e95b8ec9d5e0ff5f12e0393": { - "balance": "417500000000000000000" + "0x44901e0d0e08ac3d5e95b8ec9d5e0ff5f12e0393": { + "balance": "0x16a1f9f5fd7d960000" }, - "8775a610c502b9f1e6ad4cdadb8ce29bff75f6e4": { - "balance": "600000000000000000000" + "0x8775a610c502b9f1e6ad4cdadb8ce29bff75f6e4": { + "balance": "0x2086ac351052600000" }, - "682897bc4f8e89029120fcffb787c01a93e64184": { - "balance": "10000000000000000000000" + "0x682897bc4f8e89029120fcffb787c01a93e64184": { + "balance": "0x21e19e0c9bab2400000" }, - "f7acff934b84da0969dc37a8fcf643b7d7fbed41": { - "balance": "1999944000000000000000" + "0xf7acff934b84da0969dc37a8fcf643b7d7fbed41": { + "balance": "0x6c6acc67d7b1d40000" }, - "f05fcd4c0d73aa167e5553c8c0d6d4f2faa39757": { - "balance": "13334000000000000000000" + "0xf05fcd4c0d73aa167e5553c8c0d6d4f2faa39757": { + "balance": "0x2d2d66c3170b2980000" }, - "c981d312d287d558871edd973abb76b979e5c35e": { - "balance": "1970000000000000000000" + "0xc981d312d287d558871edd973abb76b979e5c35e": { + "balance": "0x6acb3df27e1f880000" }, - "9da61ccd62bf860656e0325d7157e2f160d93bb5": { - "balance": "4999980000000000000000" + "0x9da61ccd62bf860656e0325d7157e2f160d93bb5": { + "balance": "0x10f0ca956f8799e0000" }, - "d284a50382f83a616d39b8a9c0f396e0ebbfa95d": { - "balance": "1000070000000000000000" + "0xd284a50382f83a616d39b8a9c0f396e0ebbfa95d": { + "balance": "0x3636c25e66ece70000" }, - "d6cf5c1bcf9da662bcea2255905099f9d6e84dcc": { - "balance": "8349332000000000000000" + "0xd6cf5c1bcf9da662bcea2255905099f9d6e84dcc": { + "balance": "0x1c49e420157d9c20000" }, - "c71b2a3d7135d2a85fb5a571dcbe695e13fc43cd": { - "balance": "1000000000000000000000" + "0xc71b2a3d7135d2a85fb5a571dcbe695e13fc43cd": { + "balance": "0x3635c9adc5dea00000" }, - "b22dadd7e1e05232a93237baed98e0df92b1869e": { - "balance": "2000000000000000000000" + "0xb22dadd7e1e05232a93237baed98e0df92b1869e": { + "balance": "0x6c6b935b8bbd400000" }, - "b09fe6d4349b99bc37938054022d54fca366f7af": { - "balance": "200000000000000000000000" + "0xb09fe6d4349b99bc37938054022d54fca366f7af": { + "balance": "0x2a5a058fc295ed000000" }, - "427e4751c3babe78cff8830886febc10f9908d74": { - "balance": "1970000000000000000000" + "0x427e4751c3babe78cff8830886febc10f9908d74": { + "balance": "0x6acb3df27e1f880000" }, - "60b358cb3dbefa37f47df2d7365840da8e3bc98c": { - "balance": "20000000000000000000" + "0x60b358cb3dbefa37f47df2d7365840da8e3bc98c": { + "balance": "0x1158e460913d00000" }, - "dcd5bca2005395b675fde5035659b26bfefc49ee": { - "balance": "197000000000000000000" + "0xdcd5bca2005395b675fde5035659b26bfefc49ee": { + "balance": "0xaadec983fcff40000" }, - "81186931184137d1192ac88cd3e1e5d0fdb86a74": { - "balance": "2900000000000000000000" + "0x81186931184137d1192ac88cd3e1e5d0fdb86a74": { + "balance": "0x9d3595ab2438d00000" }, - "de212293f8f1d231fa10e609470d512cb8ffc512": { - "balance": "2000000000000000000000" + "0xde212293f8f1d231fa10e609470d512cb8ffc512": { + "balance": "0x6c6b935b8bbd400000" }, - "1937c5c515057553ccbd46d5866455ce66290284": { - "balance": "1000000000000000000000000" + "0x1937c5c515057553ccbd46d5866455ce66290284": { + "balance": "0xd3c21bcecceda1000000" }, - "592777261e3bd852c48eca95b3a44c5b7f2d422c": { - "balance": "20000000000000000000000" + "0x592777261e3bd852c48eca95b3a44c5b7f2d422c": { + "balance": "0x43c33c1937564800000" }, - "bbf84292d954acd9e4072fb860b1504106e077ae": { - "balance": "1500000000000000000000" + "0xbbf84292d954acd9e4072fb860b1504106e077ae": { + "balance": "0x5150ae84a8cdf00000" }, - "3b4100e30a73b0c734b18ffa8426d19b19312f1a": { - "balance": "55300000000000000000000" + "0x3b4100e30a73b0c734b18ffa8426d19b19312f1a": { + "balance": "0xbb5d1aa700afd900000" }, - "a03a3dc7c533d1744295be955d61af3f52b51af5": { - "balance": "40000000000000000000" + "0xa03a3dc7c533d1744295be955d61af3f52b51af5": { + "balance": "0x22b1c8c1227a00000" }, - "4aa148c2c33401e66a2b586e6577c4b292d3f240": { - "balance": "216200000000000000000" + "0x4aa148c2c33401e66a2b586e6577c4b292d3f240": { + "balance": "0xbb860b285f7740000" }, - "ff850e3be1eb6a4d726c08fa73aad358f39706da": { - "balance": "1940000000000000000000" + "0xff850e3be1eb6a4d726c08fa73aad358f39706da": { + "balance": "0x692ae8897081d00000" }, - "743651b55ef8429df50cf81938c2508de5c8870f": { - "balance": "2000000000000000000000" + "0x743651b55ef8429df50cf81938c2508de5c8870f": { + "balance": "0x6c6b935b8bbd400000" }, - "3700e3027424d939dbde5d42fb78f6c4dbec1a8f": { - "balance": "40000000000000000000" + "0x3700e3027424d939dbde5d42fb78f6c4dbec1a8f": { + "balance": "0x22b1c8c1227a00000" }, - "c1cbd2e2332a524cf219b10d871ccc20af1fb0fa": { - "balance": "1000000000000000000000" + "0xc1cbd2e2332a524cf219b10d871ccc20af1fb0fa": { + "balance": "0x3635c9adc5dea00000" }, - "e25b9f76b8ad023f057eb11ad94257a0862e4e8c": { - "balance": "2000000000000000000000" + "0xe25b9f76b8ad023f057eb11ad94257a0862e4e8c": { + "balance": "0x6c6b935b8bbd400000" }, - "719e891fbcc0a33e19c12dc0f02039ca05b801df": { - "balance": "6185800000000000000000" + "0x719e891fbcc0a33e19c12dc0f02039ca05b801df": { + "balance": "0x14f5538463a1b540000" }, - "39636b25811b176abfcfeeca64bc87452f1fdff4": { - "balance": "400000000000000000000" + "0x39636b25811b176abfcfeeca64bc87452f1fdff4": { + "balance": "0x15af1d78b58c400000" }, - "631030a5b27b07288a45696f189e1114f12a81c0": { - "balance": "499970000000000000000" + "0x631030a5b27b07288a45696f189e1114f12a81c0": { + "balance": "0x1b1a7a420ba00d0000" }, - "bcc84597b91e73d5c5b4d69c80ecf146860f779a": { - "balance": "4380000000000000000000" + "0xbcc84597b91e73d5c5b4d69c80ecf146860f779a": { + "balance": "0xed70b5e9c3f2f00000" }, - "095e0174829f34c3781be1a5e38d1541ea439b7f": { - "balance": "6000000000000000000000" + "0x095e0174829f34c3781be1a5e38d1541ea439b7f": { + "balance": "0x14542ba12a337c00000" }, - "2e7e05e29edda7e4ae25c5173543efd71f6d3d80": { - "balance": "6000000000000000000000" + "0x2e7e05e29edda7e4ae25c5173543efd71f6d3d80": { + "balance": "0x14542ba12a337c00000" }, - "dbb6ac484027041642bbfd8d80f9d0c1cf33c1eb": { - "balance": "2000000000000000000000" + "0xdbb6ac484027041642bbfd8d80f9d0c1cf33c1eb": { + "balance": "0x6c6b935b8bbd400000" }, - "153c08aa8b96a611ef63c0253e2a4334829e579d": { - "balance": "394000000000000000000" + "0x153c08aa8b96a611ef63c0253e2a4334829e579d": { + "balance": "0x155bd9307f9fe80000" }, - "10f4bff0caa5027c0a6a2dcfc952824de2940909": { - "balance": "2000000000000000000000" + "0x10f4bff0caa5027c0a6a2dcfc952824de2940909": { + "balance": "0x6c6b935b8bbd400000" }, - "2ef869f0350b57d53478d701e3fee529bc911c75": { - "balance": "50000000000000000000" + "0x2ef869f0350b57d53478d701e3fee529bc911c75": { + "balance": "0x2b5e3af16b1880000" }, - "70ab34bc17b66f9c3b63f151274f2a727c539263": { - "balance": "2000000000000000000000" + "0x70ab34bc17b66f9c3b63f151274f2a727c539263": { + "balance": "0x6c6b935b8bbd400000" }, - "3201259caf734ad7581c561051ba0bca7fd6946b": { - "balance": "180000000000000000000000" + "0x3201259caf734ad7581c561051ba0bca7fd6946b": { + "balance": "0x261dd1ce2f2088800000" }, - "84e9cf8166c36abfa49053b7a1ad4036202681ef": { - "balance": "2000000000000000000000" + "0x84e9cf8166c36abfa49053b7a1ad4036202681ef": { + "balance": "0x6c6b935b8bbd400000" }, - "4ebc5629f9a6a66b2cf3363ac4895c0348e8bf87": { - "balance": "1000090000000000000000" + "0x4ebc5629f9a6a66b2cf3363ac4895c0348e8bf87": { + "balance": "0x3637096c4bcc690000" }, - "e50b464ac9de35a5618b7cbf254674182b81b97e": { - "balance": "4100000000000000000000" + "0xe50b464ac9de35a5618b7cbf254674182b81b97e": { + "balance": "0xde42ee1544dd900000" }, - "2abdf1a637ef6c42a7e2fe217773d677e804ebdd": { - "balance": "5000000000000000000000" + "0x2abdf1a637ef6c42a7e2fe217773d677e804ebdd": { + "balance": "0x10f0cf064dd59200000" }, - "7a0a78a9cc393f91c3d9e39a6b8c069f075e6bf5": { - "balance": "1337000000000000000000" + "0x7a0a78a9cc393f91c3d9e39a6b8c069f075e6bf5": { + "balance": "0x487a9a304539440000" }, - "2d9c5fecd2b44fbb6a1ec732ea059f4f1f9d2b5c": { - "balance": "1010694000000000000000" + "0x2d9c5fecd2b44fbb6a1ec732ea059f4f1f9d2b5c": { + "balance": "0x36ca32661d1aa70000" }, - "7b712c7af11676006a66d2fc5c1ab4c479ce6037": { - "balance": "8000000000000000000000" + "0x7b712c7af11676006a66d2fc5c1ab4c479ce6037": { + "balance": "0x1b1ae4d6e2ef5000000" }, - "3466f67e39636c01f43b3a21a0e8529325c08624": { - "balance": "842864000000000000000" + "0x3466f67e39636c01f43b3a21a0e8529325c08624": { + "balance": "0x2db1167650acd80000" }, - "fdd502a74e813bcfa355ceda3c176f6a6871af7f": { - "balance": "400000000000000000000" + "0xfdd502a74e813bcfa355ceda3c176f6a6871af7f": { + "balance": "0x15af1d78b58c400000" }, - "26475419c06d5f147aa597248eb46cf7befa64a5": { - "balance": "1640000000000000000000" + "0x26475419c06d5f147aa597248eb46cf7befa64a5": { + "balance": "0x58e7926ee858a00000" }, - "9243d7762d77287b12638688b9854e88a769b271": { - "balance": "1000000000000000000000" + "0x9243d7762d77287b12638688b9854e88a769b271": { + "balance": "0x3635c9adc5dea00000" }, - "723d8baa2551d2addc43c21b45e8af4ca2bfb2c2": { - "balance": "1760000000000000000000" + "0x723d8baa2551d2addc43c21b45e8af4ca2bfb2c2": { + "balance": "0x5f68e8131ecf800000" }, - "f2fbb6d887f8b8cc3a869aba847f3d1f643c53d6": { - "balance": "3999000000000000000000" + "0xf2fbb6d887f8b8cc3a869aba847f3d1f643c53d6": { + "balance": "0xd8c9460063d31c0000" }, - "2cdb3944650616e47cb182e060322fa1487978ce": { - "balance": "1820000000000000000000" + "0x2cdb3944650616e47cb182e060322fa1487978ce": { + "balance": "0x62a992e53a0af00000" }, - "f0d21663d8b0176e05fde1b90ef31f8530fda95f": { - "balance": "1999944000000000000000" + "0xf0d21663d8b0176e05fde1b90ef31f8530fda95f": { + "balance": "0x6c6acc67d7b1d40000" }, - "77cc02f623a9cf98530997ea67d95c3b491859ae": { - "balance": "1354900000000000000000" + "0x77cc02f623a9cf98530997ea67d95c3b491859ae": { + "balance": "0x497303c36ea0c20000" }, - "d1b5a454ac3405bb4179208c6c84de006bcb9be9": { - "balance": "500000000000000000000" + "0xd1b5a454ac3405bb4179208c6c84de006bcb9be9": { + "balance": "0x1b1ae4d6e2ef500000" }, - "b9920fd0e2c735c256463caa240fb7ac86a93dfa": { - "balance": "1760000000000000000000" + "0xb9920fd0e2c735c256463caa240fb7ac86a93dfa": { + "balance": "0x5f68e8131ecf800000" }, - "ed1f1e115a0d60ce02fb25df014d289e3a0cbe7d": { - "balance": "500000000000000000000" + "0xed1f1e115a0d60ce02fb25df014d289e3a0cbe7d": { + "balance": "0x1b1ae4d6e2ef500000" }, - "23e2c6a8be8e0acfa5c4df5e36058bb7cbac5a81": { - "balance": "2000000000000000000000" + "0x23e2c6a8be8e0acfa5c4df5e36058bb7cbac5a81": { + "balance": "0x6c6b935b8bbd400000" }, - "f0be0faf4d7923fc444622d1980cf2d990aab307": { - "balance": "2000000000000000000000" + "0xf0be0faf4d7923fc444622d1980cf2d990aab307": { + "balance": "0x6c6b935b8bbd400000" }, - "0829d0f7bb7c446cfbb0deadb2394d9db7249a87": { - "balance": "40110000000000000000" + "0x0829d0f7bb7c446cfbb0deadb2394d9db7249a87": { + "balance": "0x22ca3587cf4eb0000" }, - "2ecac504b233866eb5a4a99e7bd2901359e43b3d": { - "balance": "20000000000000000000000" + "0x2ecac504b233866eb5a4a99e7bd2901359e43b3d": { + "balance": "0x43c33c1937564800000" }, - "06d6cb308481c336a6e1a225a912f6e6355940a1": { - "balance": "1760000000000000000000" + "0x06d6cb308481c336a6e1a225a912f6e6355940a1": { + "balance": "0x5f68e8131ecf800000" }, - "d4879fd12b1f3a27f7e109761b23ca343c48e3d8": { - "balance": "666000000000000000000" + "0xd4879fd12b1f3a27f7e109761b23ca343c48e3d8": { + "balance": "0x241a9b4f617a280000" }, - "857f100b1a5930225efc7e9020d78327b41c02cb": { - "balance": "2000000000000000000000" + "0x857f100b1a5930225efc7e9020d78327b41c02cb": { + "balance": "0x6c6b935b8bbd400000" }, - "3aa42c21b9b31c3e27ccd17e099af679cdf56907": { - "balance": "8000000000000000000000" + "0x3aa42c21b9b31c3e27ccd17e099af679cdf56907": { + "balance": "0x1b1ae4d6e2ef5000000" }, - "764d5212263aff4a2a14f031f04ec749dc883e45": { - "balance": "1850000000000000000000" + "0x764d5212263aff4a2a14f031f04ec749dc883e45": { + "balance": "0x6449e84e47a8a80000" }, - "d03a2da41e868ed3fef5745b96f5eca462ff6fda": { - "balance": "3000000000000000000000" + "0xd03a2da41e868ed3fef5745b96f5eca462ff6fda": { + "balance": "0xa2a15d09519be00000" }, - "4f26690c992b7a312ab12e1385d94acd58288e7b": { - "balance": "14000000000000000000000" + "0x4f26690c992b7a312ab12e1385d94acd58288e7b": { + "balance": "0x2f6f10780d22cc00000" }, - "7b122162c913e7146cad0b7ed37affc92a0bf27f": { - "balance": "1506799000000000000000" + "0x7b122162c913e7146cad0b7ed37affc92a0bf27f": { + "balance": "0x51af096b2301d18000" }, - "c87352dba582ee2066b9c002a962e003134f78b1": { - "balance": "500000000000000000000" + "0xc87352dba582ee2066b9c002a962e003134f78b1": { + "balance": "0x1b1ae4d6e2ef500000" }, - "9f4ac9c9e7e24cb2444a0454fa5b9ad9d92d3853": { - "balance": "835000000000000000000" + "0x9f4ac9c9e7e24cb2444a0454fa5b9ad9d92d3853": { + "balance": "0x2d43f3ebfafb2c0000" }, - "ccf62a663f1353ba2ef8e6521dc1ecb673ec8ef7": { - "balance": "152000000000000000000" + "0xccf62a663f1353ba2ef8e6521dc1ecb673ec8ef7": { + "balance": "0x83d6c7aab63600000" }, - "557f5e65e0da33998219ad4e99570545b2a9d511": { - "balance": "11024000000000000000000" + "0x557f5e65e0da33998219ad4e99570545b2a9d511": { + "balance": "0x2559cbb985842400000" }, - "a5f0077b351f6c505cd515dfa6d2fa7f5c4cd287": { - "balance": "40000000000000000000000" + "0xa5f0077b351f6c505cd515dfa6d2fa7f5c4cd287": { + "balance": "0x878678326eac9000000" }, - "79c6002f8452ca157f1317e80a2faf24475559b7": { - "balance": "20000000000000000000" + "0x79c6002f8452ca157f1317e80a2faf24475559b7": { + "balance": "0x1158e460913d00000" }, - "3aa07a34a1afc8967d3d1383b96b62cf96d5fa90": { - "balance": "20000000000000000000000" + "0x3aa07a34a1afc8967d3d1383b96b62cf96d5fa90": { + "balance": "0x43c33c1937564800000" }, - "7f389c12f3c6164f6446566c77669503c2792527": { - "balance": "98500000000000000000" + "0x7f389c12f3c6164f6446566c77669503c2792527": { + "balance": "0x556f64c1fe7fa0000" }, - "ac4cc256ae74d624ace80db078b2207f57198f6b": { - "balance": "2001000000000000000000" + "0xac4cc256ae74d624ace80db078b2207f57198f6b": { + "balance": "0x6c7974123f64a40000" }, - "823ba7647238d113bce9964a43d0a098118bfe4d": { - "balance": "200000000000000000000" + "0x823ba7647238d113bce9964a43d0a098118bfe4d": { + "balance": "0xad78ebc5ac6200000" }, - "f5a7676ad148ae9c1ef8b6f5e5a0c2c473be850b": { - "balance": "200000000000000000000" + "0xf5a7676ad148ae9c1ef8b6f5e5a0c2c473be850b": { + "balance": "0xad78ebc5ac6200000" }, - "7d34803569e00bd6b59fff081dfa5c0ab4197a62": { - "balance": "1712700000000000000000" + "0x7d34803569e00bd6b59fff081dfa5c0ab4197a62": { + "balance": "0x5cd87cb7b9fb860000" }, - "061ea4877cd08944eb64c2966e9db8dedcfec06b": { - "balance": "1000000000000000000000" + "0x061ea4877cd08944eb64c2966e9db8dedcfec06b": { + "balance": "0x3635c9adc5dea00000" }, - "df37c22e603aedb60a627253c47d8ba866f6d972": { - "balance": "24000000000000000000000" + "0xdf37c22e603aedb60a627253c47d8ba866f6d972": { + "balance": "0x5150ae84a8cdf000000" }, - "529aa002c6962a3a8545027fd8b05f22b5bf9564": { - "balance": "1670000000000000000000" + "0x529aa002c6962a3a8545027fd8b05f22b5bf9564": { + "balance": "0x5a87e7d7f5f6580000" }, - "eb89a882670909cf377e9e78286ee97ba78d46c2": { - "balance": "802200000000000000000" + "0xeb89a882670909cf377e9e78286ee97ba78d46c2": { + "balance": "0x2b7cc2e9c3225c0000" }, - "9ac85397792a69d78f286b86432a07aeceb60e64": { - "balance": "14300000000000000000" + "0x9ac85397792a69d78f286b86432a07aeceb60e64": { + "balance": "0xc673ce3c40160000" }, - "9610592202c282ab9bd8a884518b3e0bd4758137": { - "balance": "268000000000000000000" + "0x9610592202c282ab9bd8a884518b3e0bd4758137": { + "balance": "0xe873f44133cb00000" }, - "73932709a97f02c98e51b091312865122385ae8e": { - "balance": "1430000000000000000000" + "0x73932709a97f02c98e51b091312865122385ae8e": { + "balance": "0x4d853c8f8908980000" }, - "5ef8c96186b37984cbfe04c598406e3b0ac3171f": { - "balance": "9400000000000000000000" + "0x5ef8c96186b37984cbfe04c598406e3b0ac3171f": { + "balance": "0x1fd933494aa5fe00000" }, - "b6f78da4f4d041b3bc14bc5ba519a5ba0c32f128": { - "balance": "172326253000000000000000" + "0xb6f78da4f4d041b3bc14bc5ba519a5ba0c32f128": { + "balance": "0x247dd32c3fe195048000" }, - "6f0edd23bcd85f6015f9289c28841fe04c83efeb": { - "balance": "19100000000000000000" + "0x6f0edd23bcd85f6015f9289c28841fe04c83efeb": { + "balance": "0x10910d4cdc9f60000" }, - "a8a43c009100616cb4ae4e033f1fc5d7e0b6f152": { - "balance": "3939015000000000000000" + "0xa8a43c009100616cb4ae4e033f1fc5d7e0b6f152": { + "balance": "0xd588d078b43f4d8000" }, - "7081fa6baad6cfb7f51b2cca16fb8970991a64ba": { - "balance": "233953000000000000000" + "0x7081fa6baad6cfb7f51b2cca16fb8970991a64ba": { + "balance": "0xcaec005f6c0f68000" }, - "9de7386dde401ce4c67b71b6553f8aa34ea5a17d": { - "balance": "60000000000000000000" + "0x9de7386dde401ce4c67b71b6553f8aa34ea5a17d": { + "balance": "0x340aad21b3b700000" }, - "54ec7300b81ac84333ed1b033cd5d7a33972e234": { - "balance": "200000000000000000000" + "0x54ec7300b81ac84333ed1b033cd5d7a33972e234": { + "balance": "0xad78ebc5ac6200000" }, - "67a80e0190721f94390d6802729dd12c31a895ad": { - "balance": "1999964000000000000000" + "0x67a80e0190721f94390d6802729dd12c31a895ad": { + "balance": "0x6c6b1375bc91560000" }, - "3a4297da3c555e46c073669d0478fce75f2f790e": { - "balance": "1969606000000000000000" + "0x3a4297da3c555e46c073669d0478fce75f2f790e": { + "balance": "0x6ac5c62d9486070000" }, - "c2e0584a71348cc314b73b2029b6230b92dbb116": { - "balance": "2000000000000000000000" + "0xc2e0584a71348cc314b73b2029b6230b92dbb116": { + "balance": "0x6c6b935b8bbd400000" }, - "0a2ade95b2e8c66d8ae6f0ba64ca57d783be6d44": { - "balance": "4000000000000000000000" + "0x0a2ade95b2e8c66d8ae6f0ba64ca57d783be6d44": { + "balance": "0xd8d726b7177a800000" }, - "544b5b351d1bc82e9297439948cf4861dac9ae11": { - "balance": "22000000000000000000000" + "0x544b5b351d1bc82e9297439948cf4861dac9ae11": { + "balance": "0x4a89f54ef0121c00000" }, - "3ae62bd271a760637fad79c31c94ff62b4cd12f7": { - "balance": "2000000000000000000000" + "0x3ae62bd271a760637fad79c31c94ff62b4cd12f7": { + "balance": "0x6c6b935b8bbd400000" }, - "0d8023929d917234ae40512b1aabb5e8a4512771": { - "balance": "148000000000000000000" + "0x0d8023929d917234ae40512b1aabb5e8a4512771": { + "balance": "0x805e99fdcc5d00000" }, - "2858acacaf21ea81cab7598fdbd86b452e9e8e15": { - "balance": "666000000000000000000" + "0x2858acacaf21ea81cab7598fdbd86b452e9e8e15": { + "balance": "0x241a9b4f617a280000" }, - "c033b1325a0af45472c25527853b1f1c21fa35de": { - "balance": "2000000000000000000000" + "0xc033b1325a0af45472c25527853b1f1c21fa35de": { + "balance": "0x6c6b935b8bbd400000" }, - "bbf85aaaa683738f073baef44ac9dc34c4c779ea": { - "balance": "2000000000000000000000" + "0xbbf85aaaa683738f073baef44ac9dc34c4c779ea": { + "balance": "0x6c6b935b8bbd400000" }, - "6ae57f27917c562a132a4d1bf7ec0ac785832926": { - "balance": "6000000000000000000000" + "0x6ae57f27917c562a132a4d1bf7ec0ac785832926": { + "balance": "0x14542ba12a337c00000" }, - "88e6f9b247f988f6c0fc14c56f1de53ec69d43cc": { - "balance": "100000000000000000000" + "0x88e6f9b247f988f6c0fc14c56f1de53ec69d43cc": { + "balance": "0x56bc75e2d63100000" }, - "b72c2a011c0df50fbb6e28b20ae1aad217886790": { - "balance": "4000000000000000000000" + "0xb72c2a011c0df50fbb6e28b20ae1aad217886790": { + "balance": "0xd8d726b7177a800000" }, - "161caf5a972ace8379a6d0a04ae6e163fe21df2b": { - "balance": "100000000000000000000000" + "0x161caf5a972ace8379a6d0a04ae6e163fe21df2b": { + "balance": "0x152d02c7e14af6800000" }, - "2a63590efe9986c3fee09b0a0a338b15bed91f21": { - "balance": "6458400000000000000000" + "0x2a63590efe9986c3fee09b0a0a338b15bed91f21": { + "balance": "0x15e1c4e05ee26d00000" }, - "50e1c8ec98415bef442618708799437b86e6c205": { - "balance": "6000000000000000000000" + "0x50e1c8ec98415bef442618708799437b86e6c205": { + "balance": "0x14542ba12a337c00000" }, - "33f4a6471eb1bca6a9f85b3b4872e10755c82be1": { - "balance": "2000000000000000000000" + "0x33f4a6471eb1bca6a9f85b3b4872e10755c82be1": { + "balance": "0x6c6b935b8bbd400000" }, - "9c49deff47085fc09704caa2dca8c287a9a137da": { - "balance": "8000000000000000000000" + "0x9c49deff47085fc09704caa2dca8c287a9a137da": { + "balance": "0x1b1ae4d6e2ef5000000" }, - "e1173a247d29d8238df0922f4df25a05f2af77c3": { - "balance": "40007051000000000000000" + "0xe1173a247d29d8238df0922f4df25a05f2af77c3": { + "balance": "0x878c95d560f30478000" }, - "51891b2ccdd2f5a44b2a8bc49a5d9bca6477251c": { - "balance": "310000000000000000000" + "0x51891b2ccdd2f5a44b2a8bc49a5d9bca6477251c": { + "balance": "0x10ce1d3d8cb3180000" }, - "ecaf3350b7ce144d068b186010852c84dd0ce0f0": { - "balance": "2000000000000000000000" + "0xecaf3350b7ce144d068b186010852c84dd0ce0f0": { + "balance": "0x6c6b935b8bbd400000" }, - "72393d37b451effb9e1ff3b8552712e2a970d8c2": { - "balance": "985000000000000000000" + "0x72393d37b451effb9e1ff3b8552712e2a970d8c2": { + "balance": "0x35659ef93f0fc40000" }, - "1bbc60bcc80e5cdc35c5416a1f0a40a83dae867b": { - "balance": "2000000000000000000000" + "0x1bbc60bcc80e5cdc35c5416a1f0a40a83dae867b": { + "balance": "0x6c6b935b8bbd400000" }, - "b8ab39805bd821184f6cbd3d2473347b12bf175c": { - "balance": "118200000000000000000" + "0xb8ab39805bd821184f6cbd3d2473347b12bf175c": { + "balance": "0x6685ac1bfe32c0000" }, - "c55a6b4761fd11e8c85f15174d74767cd8bd9a68": { - "balance": "133700000000000000000" + "0xc55a6b4761fd11e8c85f15174d74767cd8bd9a68": { + "balance": "0x73f75d1a085ba0000" }, - "99d1b585965f406a42a49a1ca70f769e765a3f98": { - "balance": "16700000000000000000000" + "0x99d1b585965f406a42a49a1ca70f769e765a3f98": { + "balance": "0x3894f0e6f9b9f700000" }, - "9ab988b505cfee1dbe9cd18e9b5473b9a2d4f536": { - "balance": "320000000000000000000" + "0x9ab988b505cfee1dbe9cd18e9b5473b9a2d4f536": { + "balance": "0x1158e460913d000000" }, - "7fef8c38779fb307ec6f044bebe47f3cfae796f1": { - "balance": "168561000000000000000" + "0x7fef8c38779fb307ec6f044bebe47f3cfae796f1": { + "balance": "0x92340f86cf09e8000" }, - "322d6f9a140d213f4c80cd051afe25c620bf4c7d": { - "balance": "20000000000000000000" + "0x322d6f9a140d213f4c80cd051afe25c620bf4c7d": { + "balance": "0x1158e460913d00000" }, - "3bd9a06d1bd36c4edd27fc0d1f5b088ddae3c72a": { - "balance": "499970000000000000000" + "0x3bd9a06d1bd36c4edd27fc0d1f5b088ddae3c72a": { + "balance": "0x1b1a7a420ba00d0000" }, - "5dcdb6b87a503c6d8a3c65c2cf9a9aa883479a1e": { - "balance": "9200000000000000000000" + "0x5dcdb6b87a503c6d8a3c65c2cf9a9aa883479a1e": { + "balance": "0x1f2bba5d84f99c00000" }, - "6e84c2fd18d8095714a96817189ca21cca62bab1": { - "balance": "340935000000000000000" + "0x6e84c2fd18d8095714a96817189ca21cca62bab1": { + "balance": "0x127b6c702621cd8000" }, - "a5bad86509fbe0e0e3c0e93f6d381f1af6e9d481": { - "balance": "6000000000000000000000" + "0xa5bad86509fbe0e0e3c0e93f6d381f1af6e9d481": { + "balance": "0x14542ba12a337c00000" }, - "3954bdfe0bf587c695a305d9244c3d5bdddac9bb": { - "balance": "19187461000000000000000" + "0x3954bdfe0bf587c695a305d9244c3d5bdddac9bb": { + "balance": "0x410278327f985608000" }, - "63f0e5a752f79f67124eed633ad3fd2705a397d4": { - "balance": "3940000000000000000000" + "0x63f0e5a752f79f67124eed633ad3fd2705a397d4": { + "balance": "0xd5967be4fc3f100000" }, - "33fd718f0b91b5cec88a5dc15eecf0ecefa4ef3d": { - "balance": "432500000000000000000" + "0x33fd718f0b91b5cec88a5dc15eecf0ecefa4ef3d": { + "balance": "0x177224aa844c720000" }, - "68027d19558ed7339a08aee8de3559be063ec2ea": { - "balance": "2000000000000000000000" + "0x68027d19558ed7339a08aee8de3559be063ec2ea": { + "balance": "0x6c6b935b8bbd400000" }, - "96f0462ae6f8b96088f7e9c68c74b9d8ad34b347": { - "balance": "1790000000000000000000" + "0x96f0462ae6f8b96088f7e9c68c74b9d8ad34b347": { + "balance": "0x61093d7c2c6d380000" }, - "f1f391ca92808817b755a8b8f4e2ca08d1fd1108": { - "balance": "6000000000000000000000" + "0xf1f391ca92808817b755a8b8f4e2ca08d1fd1108": { + "balance": "0x14542ba12a337c00000" }, - "7fcf5ba6666f966c5448c17bf1cb0bbcd8019b06": { - "balance": "99999000000000000000" + "0x7fcf5ba6666f966c5448c17bf1cb0bbcd8019b06": { + "balance": "0x56bc3d0aebe498000" }, - "e9b9a2747510e310241d2ece98f56b3301d757e0": { - "balance": "2000000000000000000000" + "0xe9b9a2747510e310241d2ece98f56b3301d757e0": { + "balance": "0x6c6b935b8bbd400000" }, - "2100381d60a5b54adc09d19683a8f6d5bb4bfbcb": { - "balance": "10000000000000000000000" + "0x2100381d60a5b54adc09d19683a8f6d5bb4bfbcb": { + "balance": "0x21e19e0c9bab2400000" }, - "7495ae78c0d90261e2140ef2063104731a60d1ed": { - "balance": "34250000000000000000" + "0x7495ae78c0d90261e2140ef2063104731a60d1ed": { + "balance": "0x1db50718925210000" }, - "dc911cf7dc5dd0813656670528e9338e67034786": { - "balance": "2000000000000000000000" + "0xdc911cf7dc5dd0813656670528e9338e67034786": { + "balance": "0x6c6b935b8bbd400000" }, - "262aed4bc0f4a4b2c6fb35793e835a49189cdfec": { - "balance": "10000000000000000000000" + "0x262aed4bc0f4a4b2c6fb35793e835a49189cdfec": { + "balance": "0x21e19e0c9bab2400000" }, - "9ee93f339e6726ec65eea44f8a4bfe10da3d3282": { - "balance": "2000000000000000000000" + "0x9ee93f339e6726ec65eea44f8a4bfe10da3d3282": { + "balance": "0x6c6b935b8bbd400000" }, - "a3a57b0716132804d60aac281197ff2b3d237b01": { - "balance": "1400000000000000000000" + "0xa3a57b0716132804d60aac281197ff2b3d237b01": { + "balance": "0x4be4e7267b6ae00000" }, - "c799e34e88ff88be7de28e15e4f2a63d0b33c4cb": { - "balance": "200000000000000000000" + "0xc799e34e88ff88be7de28e15e4f2a63d0b33c4cb": { + "balance": "0xad78ebc5ac6200000" }, - "c7506c1019121ff08a2c8c1591a65eb4bdfb4a3f": { - "balance": "600000000000000000000" + "0xc7506c1019121ff08a2c8c1591a65eb4bdfb4a3f": { + "balance": "0x2086ac351052600000" }, - "795ebc2626fc39b0c86294e0e837dcf523553090": { - "balance": "1000000000000000000000" + "0x795ebc2626fc39b0c86294e0e837dcf523553090": { + "balance": "0x3635c9adc5dea00000" }, - "441aca82631324acbfa2468bda325bbd78477bbf": { - "balance": "6000000000000000000000" + "0x441aca82631324acbfa2468bda325bbd78477bbf": { + "balance": "0x14542ba12a337c00000" }, - "9f271d285500d73846b18f733e25dd8b4f5d4a8b": { - "balance": "722000000000000000000" + "0x9f271d285500d73846b18f733e25dd8b4f5d4a8b": { + "balance": "0x2723c346ae18080000" }, - "d77892e2273b235d7689e430e7aeed9cbce8a1f3": { - "balance": "2000000000000000000000" + "0xd77892e2273b235d7689e430e7aeed9cbce8a1f3": { + "balance": "0x6c6b935b8bbd400000" }, - "4f8972838f70c903c9b6c6c46162e99d6216d451": { - "balance": "4610000000000000000000" + "0x4f8972838f70c903c9b6c6c46162e99d6216d451": { + "balance": "0xf9e89a0f2c56c80000" }, - "4c85ed362f24f6b9f04cdfccd022ae535147cbb9": { - "balance": "1500000000000000000000" + "0x4c85ed362f24f6b9f04cdfccd022ae535147cbb9": { + "balance": "0x5150ae84a8cdf00000" }, - "3807eff43aa97c76910a19752dd715ee0182d94e": { - "balance": "250190000000000000000" + "0x3807eff43aa97c76910a19752dd715ee0182d94e": { + "balance": "0xd90156f6fc2fb0000" }, - "3a9e5441d44b243be55b75027a1ceb9eacf50df2": { - "balance": "1000000000000000000000" + "0x3a9e5441d44b243be55b75027a1ceb9eacf50df2": { + "balance": "0x3635c9adc5dea00000" }, - "3deae43327913f62808faa1b6276a2bd6368ead9": { - "balance": "2000000000000000000000" + "0x3deae43327913f62808faa1b6276a2bd6368ead9": { + "balance": "0x6c6b935b8bbd400000" }, - "c270456885342b640b4cfc1b520e1a544ee0d571": { - "balance": "1820000000000000000000" + "0xc270456885342b640b4cfc1b520e1a544ee0d571": { + "balance": "0x62a992e53a0af00000" }, - "77798f201257b9c35204957057b54674aefa51df": { - "balance": "149000000000000000000" + "0x77798f201257b9c35204957057b54674aefa51df": { + "balance": "0x813ca56906d340000" }, - "225f9eb3fb6ff3e9e3c8447e14a66e8d4f3779f6": { - "balance": "2000000000000000000000" + "0x225f9eb3fb6ff3e9e3c8447e14a66e8d4f3779f6": { + "balance": "0x6c6b935b8bbd400000" }, - "78df2681d6d602e22142d54116dea15d454957aa": { - "balance": "298000000000000000000" + "0x78df2681d6d602e22142d54116dea15d454957aa": { + "balance": "0x102794ad20da680000" }, - "283396ce3cac398bcbe7227f323e78ff96d08767": { - "balance": "400000000000000000000" + "0x283396ce3cac398bcbe7227f323e78ff96d08767": { + "balance": "0x15af1d78b58c400000" }, - "747ff7943b71dc4dcdb1668078f83dd7cc4520c2": { - "balance": "60000000000000000000" + "0x747ff7943b71dc4dcdb1668078f83dd7cc4520c2": { + "balance": "0x340aad21b3b700000" }, - "a4ed11b072d89fb136759fc69b428c48aa5d4ced": { - "balance": "262800000000000000000" + "0xa4ed11b072d89fb136759fc69b428c48aa5d4ced": { + "balance": "0xe3f1527a03ca80000" }, - "cc043c4388d345f884c6855e71142a9f41fd6935": { - "balance": "20000000000000000000" + "0xcc043c4388d345f884c6855e71142a9f41fd6935": { + "balance": "0x1158e460913d00000" }, - "ab14d221e33d544629198cd096ed63dfa28d9f47": { - "balance": "6000000000000000000000" + "0xab14d221e33d544629198cd096ed63dfa28d9f47": { + "balance": "0x14542ba12a337c00000" }, - "251e6838f7cec5b383c1d90146341274daf8e502": { - "balance": "147510000000000000000" + "0x251e6838f7cec5b383c1d90146341274daf8e502": { + "balance": "0x7ff1ccb7561df0000" }, - "36a0e61e1be47fa87e30d32888ee0330901ca991": { - "balance": "20000000000000000000" + "0x36a0e61e1be47fa87e30d32888ee0330901ca991": { + "balance": "0x1158e460913d00000" }, - "bcfc98e5c82b6adb180a3fcb120b9a7690c86a3f": { - "balance": "1970000000000000000000" + "0xbcfc98e5c82b6adb180a3fcb120b9a7690c86a3f": { + "balance": "0x6acb3df27e1f880000" }, - "18a6d2fc52be73084023c91802f05bc24a4be09f": { - "balance": "2000000000000000000000" + "0x18a6d2fc52be73084023c91802f05bc24a4be09f": { + "balance": "0x6c6b935b8bbd400000" }, - "80591a42179f34e64d9df75dcd463b28686f5574": { - "balance": "20000000000000000000000" + "0x80591a42179f34e64d9df75dcd463b28686f5574": { + "balance": "0x43c33c1937564800000" }, - "881230047c211d2d5b00d8de4c5139de5e3227c7": { - "balance": "10000000000000000000000" + "0x881230047c211d2d5b00d8de4c5139de5e3227c7": { + "balance": "0x21e19e0c9bab2400000" }, - "9eb1ff71798f28d6e989fa1ea0588e27ba86cb7d": { - "balance": "140800000000000000000" + "0x9eb1ff71798f28d6e989fa1ea0588e27ba86cb7d": { + "balance": "0x7a1fe160277000000" }, - "a01fd1906a908506dedae1e208128872b56ee792": { - "balance": "3000000000000000000000" + "0xa01fd1906a908506dedae1e208128872b56ee792": { + "balance": "0xa2a15d09519be00000" }, - "1b05ea6a6ac8af7cb6a8b911a8cce8fe1a2acfc8": { - "balance": "2000000000000000000000" + "0x1b05ea6a6ac8af7cb6a8b911a8cce8fe1a2acfc8": { + "balance": "0x6c6b935b8bbd400000" }, - "6add932193cd38494aa3f03aeccc4b7ab7fabca2": { - "balance": "89600000000000000000" + "0x6add932193cd38494aa3f03aeccc4b7ab7fabca2": { + "balance": "0x4db73254763000000" }, - "2aaa35274d742546670b7426264521032af4f4c3": { - "balance": "10000000000000000000000" + "0x2aaa35274d742546670b7426264521032af4f4c3": { + "balance": "0x21e19e0c9bab2400000" }, - "67b8a6e90fdf0a1cac441793301e8750a9fa7957": { - "balance": "895000000000000000000" + "0x67b8a6e90fdf0a1cac441793301e8750a9fa7957": { + "balance": "0x30849ebe16369c0000" }, - "5b5be0d8c67276baabd8edb30d48ea75640b8b29": { - "balance": "824480000000000000000" + "0x5b5be0d8c67276baabd8edb30d48ea75640b8b29": { + "balance": "0x2cb1f55fb7be100000" }, - "28d7e5866f1d85fd1ceb32bfbe1dfc36db434566": { - "balance": "7199000000000000000000" + "0x28d7e5866f1d85fd1ceb32bfbe1dfc36db434566": { + "balance": "0x1864231c610351c0000" }, - "98e3e90b28fccaee828779b8d40a5568c4116e21": { - "balance": "40000000000000000000" + "0x98e3e90b28fccaee828779b8d40a5568c4116e21": { + "balance": "0x22b1c8c1227a00000" }, - "2dd578f7407dfbd548d05e95ccc39c485429626a": { - "balance": "4200000000000000000000" + "0x2dd578f7407dfbd548d05e95ccc39c485429626a": { + "balance": "0xe3aeb5737240a00000" }, - "8ca6989746b06e32e2487461b1ce996a273acfd7": { - "balance": "20000000000000000000" + "0x8ca6989746b06e32e2487461b1ce996a273acfd7": { + "balance": "0x1158e460913d00000" }, - "a6f93307f8bce03195fece872043e8a03f7bd11a": { - "balance": "2886000000000000000000" + "0xa6f93307f8bce03195fece872043e8a03f7bd11a": { + "balance": "0x9c734bad5111580000" }, - "efbd52f97da5fd3a673a46cbf330447b7e8aad5c": { - "balance": "100033000000000000000" + "0xefbd52f97da5fd3a673a46cbf330447b7e8aad5c": { + "balance": "0x56c3c9b80a0a68000" }, - "52bdd9af5978850bc24110718b3723759b437e59": { - "balance": "1730000000000000000000" + "0x52bdd9af5978850bc24110718b3723759b437e59": { + "balance": "0x5dc892aa1131c80000" }, - "6e073b66d1b8c66744d88096a8dd99ec7e0228da": { - "balance": "4000000000000000000000" + "0x6e073b66d1b8c66744d88096a8dd99ec7e0228da": { + "balance": "0xd8d726b7177a800000" }, - "a29d661a6376f66d0b74e2fe9d8f26c0247ec84c": { - "balance": "4117300000000000000000" + "0xa29d661a6376f66d0b74e2fe9d8f26c0247ec84c": { + "balance": "0xdf3304079c13d20000" }, - "7d34ff59ae840a7413c6ba4c5bb2ba2c75eab018": { - "balance": "3000000000000000000000" + "0x7d34ff59ae840a7413c6ba4c5bb2ba2c75eab018": { + "balance": "0xa2a15d09519be00000" }, - "2eca6a3c5d9f449d0956bd43fa7b4d7be8435958": { - "balance": "2000020000000000000000" + "0x2eca6a3c5d9f449d0956bd43fa7b4d7be8435958": { + "balance": "0x6c6bda69709cc20000" }, - "f59f9f02bbc98efe097eabb78210979021898bfd": { - "balance": "9999800000000000000000" + "0xf59f9f02bbc98efe097eabb78210979021898bfd": { + "balance": "0x21e171a3ec9f72c0000" }, - "90e300ac71451e401f887f6e7728851647a80e07": { - "balance": "400000000000000000000" + "0x90e300ac71451e401f887f6e7728851647a80e07": { + "balance": "0x15af1d78b58c400000" }, - "05ae7fd4bbcc80ca11a90a1ec7a301f7cccc83db": { - "balance": "910000000000000000000" + "0x05ae7fd4bbcc80ca11a90a1ec7a301f7cccc83db": { + "balance": "0x3154c9729d05780000" }, - "e54102534de8f23effb093b31242ad3b233facfd": { - "balance": "4000000000000000000000" + "0xe54102534de8f23effb093b31242ad3b233facfd": { + "balance": "0xd8d726b7177a800000" }, - "c127aab59065a28644a56ba3f15e2eac13da2995": { - "balance": "600000000000000000000" + "0xc127aab59065a28644a56ba3f15e2eac13da2995": { + "balance": "0x2086ac351052600000" }, - "ed60c4ab6e540206317e35947a63a9ca6b03e2cb": { - "balance": "57275000000000000000" + "0xed60c4ab6e540206317e35947a63a9ca6b03e2cb": { + "balance": "0x31ad9ad0b467f8000" }, - "d855b03ccb029a7747b1f07303e0a664793539c8": { - "balance": "2000000000000000000000" + "0xd855b03ccb029a7747b1f07303e0a664793539c8": { + "balance": "0x6c6b935b8bbd400000" }, - "1178501ff94add1c5881fe886136f6dfdbe61a94": { - "balance": "158000000000000000000" + "0x1178501ff94add1c5881fe886136f6dfdbe61a94": { + "balance": "0x890b0c2e14fb80000" }, - "f447108b98df64b57e871033885c1ad71db1a3f9": { - "balance": "6916709000000000000000" + "0xf447108b98df64b57e871033885c1ad71db1a3f9": { + "balance": "0x176f49ead3483508000" }, - "deee2689fa9006b59cf285237de53b3a7fd01438": { - "balance": "450034000000000000000" + "0xdeee2689fa9006b59cf285237de53b3a7fd01438": { + "balance": "0x186579f29e20250000" }, - "7f01dc7c3747ca608f983dfc8c9b39e755a3b914": { - "balance": "206980000000000000000" + "0x7f01dc7c3747ca608f983dfc8c9b39e755a3b914": { + "balance": "0xb386cad5f7a5a0000" }, - "9edeac4c026b93054dc5b1d6610c6f3960f2ad73": { - "balance": "1200000000000000000000" + "0x9edeac4c026b93054dc5b1d6610c6f3960f2ad73": { + "balance": "0x410d586a20a4c00000" }, - "e3cffe239c64e7e20388e622117391301b298696": { - "balance": "500000000000000000000" + "0xe3cffe239c64e7e20388e622117391301b298696": { + "balance": "0x1b1ae4d6e2ef500000" }, - "ebbb4f2c3da8be3eb62d1ffb1f950261cf98ecda": { - "balance": "2000000000000000000000" + "0xebbb4f2c3da8be3eb62d1ffb1f950261cf98ecda": { + "balance": "0x6c6b935b8bbd400000" }, - "38c10b90c859cbb7815692f99dae520ab5febf5e": { - "balance": "13169000000000000000000" + "0x38c10b90c859cbb7815692f99dae520ab5febf5e": { + "balance": "0x2c9e4966fa5cf240000" }, - "23f9ecf3e5dddca38815d3e59ed34b5b90b4a353": { - "balance": "204608000000000000000" + "0x23f9ecf3e5dddca38815d3e59ed34b5b90b4a353": { + "balance": "0xb1781a3f0bb200000" }, - "d7fa5ffb6048f96fb1aba09ef87b1c11dd7005e4": { - "balance": "1000000000000000000000" + "0xd7fa5ffb6048f96fb1aba09ef87b1c11dd7005e4": { + "balance": "0x3635c9adc5dea00000" }, - "9ca42ee7a0b898f6a5cc60b5a5d7b1bfa3c33231": { - "balance": "2000000000000000000000" + "0x9ca42ee7a0b898f6a5cc60b5a5d7b1bfa3c33231": { + "balance": "0x6c6b935b8bbd400000" }, - "8b9577920053b1a00189304d888010d9ef2cb4bf": { - "balance": "500000000000000000000" + "0x8b9577920053b1a00189304d888010d9ef2cb4bf": { + "balance": "0x1b1ae4d6e2ef500000" }, - "fcd0b4827cd208ffbf5e759dba8c3cc61d8c2c3c": { - "balance": "8000000000000000000000" + "0xfcd0b4827cd208ffbf5e759dba8c3cc61d8c2c3c": { + "balance": "0x1b1ae4d6e2ef5000000" }, - "01ff1eb1dead50a7f2f9638fdee6eccf3a7b2ac8": { - "balance": "600000000000000000000" + "0x01ff1eb1dead50a7f2f9638fdee6eccf3a7b2ac8": { + "balance": "0x2086ac351052600000" }, - "abde147b2af789eaa586547e66c4fa2664d328a4": { - "balance": "247545000000000000000" + "0xabde147b2af789eaa586547e66c4fa2664d328a4": { + "balance": "0xd6b6081f34c128000" }, - "64042ba68b12d4c151651ca2813b7352bd56f08e": { - "balance": "600000000000000000000" + "0x64042ba68b12d4c151651ca2813b7352bd56f08e": { + "balance": "0x2086ac351052600000" }, - "dccca42045ec3e16508b603fd936e7fd7de5f36a": { - "balance": "19700000000000000000" + "0xdccca42045ec3e16508b603fd936e7fd7de5f36a": { + "balance": "0x11164759ffb320000" }, - "e77a89bd45dc04eeb4e41d7b596b707e6e51e74c": { - "balance": "12000000000000000000000" + "0xe77a89bd45dc04eeb4e41d7b596b707e6e51e74c": { + "balance": "0x28a857425466f800000" }, - "f77c7b845149efba19e261bc7c75157908afa990": { - "balance": "2000000000000000000000" + "0xf77c7b845149efba19e261bc7c75157908afa990": { + "balance": "0x6c6b935b8bbd400000" }, - "fa5201fe1342af11307b9142a041243ca92e2f09": { - "balance": "152150000000000000000000" + "0xfa5201fe1342af11307b9142a041243ca92e2f09": { + "balance": "0x2038116a3ac043980000" }, - "40df495ecf3f8b4cef2a6c189957248fe884bc2b": { - "balance": "12000000000000000000000" + "0x40df495ecf3f8b4cef2a6c189957248fe884bc2b": { + "balance": "0x28a857425466f800000" }, - "3d79a853d71be0621b44e29759656ca075fdf409": { - "balance": "2000000000000000000000" + "0x3d79a853d71be0621b44e29759656ca075fdf409": { + "balance": "0x6c6b935b8bbd400000" }, - "6de02f2dd67efdb7393402fa9eaacbcf589d2e56": { - "balance": "1182000000000000000000" + "0x6de02f2dd67efdb7393402fa9eaacbcf589d2e56": { + "balance": "0x40138b917edfb80000" }, - "729aad4627744e53f5d66309aa74448b3acdf46f": { - "balance": "2000000000000000000000" + "0x729aad4627744e53f5d66309aa74448b3acdf46f": { + "balance": "0x6c6b935b8bbd400000" }, - "4e4318f5e13e824a54edfe30a7ed4f26cd3da504": { - "balance": "2000000000000000000000" + "0x4e4318f5e13e824a54edfe30a7ed4f26cd3da504": { + "balance": "0x6c6b935b8bbd400000" }, - "c6a286e065c85f3af74812ed8bd3a8ce5d25e21d": { - "balance": "18200000000000000000" + "0xc6a286e065c85f3af74812ed8bd3a8ce5d25e21d": { + "balance": "0xfc936392801c0000" }, - "fd686de53fa97f99639e2568549720bc588c9efc": { - "balance": "1969606000000000000000" + "0xfd686de53fa97f99639e2568549720bc588c9efc": { + "balance": "0x6ac5c62d9486070000" }, - "06b0ff834073cce1cbc9ea557ea87b605963e8b4": { - "balance": "300000000000000000000" + "0x06b0ff834073cce1cbc9ea557ea87b605963e8b4": { + "balance": "0x1043561a8829300000" }, - "72b5633fe477fe542e742facfd690c137854f216": { - "balance": "1670000000000000000000" + "0x72b5633fe477fe542e742facfd690c137854f216": { + "balance": "0x5a87e7d7f5f6580000" }, - "8bf373d076814cbc57e1c6d16a82c5be13c73d37": { - "balance": "200000000000000000000" + "0x8bf373d076814cbc57e1c6d16a82c5be13c73d37": { + "balance": "0xad78ebc5ac6200000" }, - "cf264e6925130906c4d7c18591aa41b2a67f6f58": { - "balance": "2000000000000000000000" + "0xcf264e6925130906c4d7c18591aa41b2a67f6f58": { + "balance": "0x6c6b935b8bbd400000" }, - "0ea2a210312b3e867ee0d1cc682ce1d666f18ed5": { - "balance": "10000000000000000000000" + "0x0ea2a210312b3e867ee0d1cc682ce1d666f18ed5": { + "balance": "0x21e19e0c9bab2400000" }, - "d02afecf8e2ec2b62ac8ad204161fd1fae771d0e": { - "balance": "2000000000000000000000" + "0xd02afecf8e2ec2b62ac8ad204161fd1fae771d0e": { + "balance": "0x6c6b935b8bbd400000" }, - "e6b20f980ad853ad04cbfc887ce6601c6be0b24c": { - "balance": "4000000000000000000000" + "0xe6b20f980ad853ad04cbfc887ce6601c6be0b24c": { + "balance": "0xd8d726b7177a800000" }, - "4280a58f8bb10b9440de94f42b4f592120820191": { - "balance": "2000000000000000000000" + "0x4280a58f8bb10b9440de94f42b4f592120820191": { + "balance": "0x6c6b935b8bbd400000" }, - "a914cdb571bfd93d64da66a4e108ea134e50d000": { - "balance": "1430143000000000000000" + "0xa914cdb571bfd93d64da66a4e108ea134e50d000": { + "balance": "0x4d8738994713798000" }, - "60864236930d04d8402b5dcbeb807f3caf611ea2": { - "balance": "4000000000000000000000" + "0x60864236930d04d8402b5dcbeb807f3caf611ea2": { + "balance": "0xd8d726b7177a800000" }, - "f9dd239008182fb519fb30eedd2093fed1639be8": { - "balance": "500000000000000000000" + "0xf9dd239008182fb519fb30eedd2093fed1639be8": { + "balance": "0x1b1ae4d6e2ef500000" }, - "18e53243981aabc8767da10c73449f1391560eaa": { - "balance": "6000000000000000000000" + "0x18e53243981aabc8767da10c73449f1391560eaa": { + "balance": "0x14542ba12a337c00000" }, - "c3a9226ae275df2cab312b911040634a9c9c9ef6": { - "balance": "4000000000000000000000" + "0xc3a9226ae275df2cab312b911040634a9c9c9ef6": { + "balance": "0xd8d726b7177a800000" }, - "4fcc19ea9f4c57dcbce893193cfb166aa914edc5": { - "balance": "7001380000000000000000" + "0x4fcc19ea9f4c57dcbce893193cfb166aa914edc5": { + "balance": "0x17b8baa7f19546a0000" }, - "c1e1409ca52c25435134d006c2a6a8542dfb7273": { - "balance": "34380000000000000000" + "0xc1e1409ca52c25435134d006c2a6a8542dfb7273": { + "balance": "0x1dd1e4bd8d1ee0000" }, - "981ddf0404e4d22dda556a0726f00b2d98ab9569": { - "balance": "999972000000000000000" + "0x981ddf0404e4d22dda556a0726f00b2d98ab9569": { + "balance": "0x36356633ebd8ea0000" }, - "e5bcc88c3b256f6ed5fe550e4a18198b943356ad": { - "balance": "2000000000000000000000" + "0xe5bcc88c3b256f6ed5fe550e4a18198b943356ad": { + "balance": "0x6c6b935b8bbd400000" }, - "74a17f064b344e84db6365da9591ff1628257643": { - "balance": "20000000000000000000" + "0x74a17f064b344e84db6365da9591ff1628257643": { + "balance": "0x1158e460913d00000" }, - "2720f9ca426ef2f2cbd2fecd39920c4f1a89e16d": { - "balance": "2000000000000000000000" + "0x2720f9ca426ef2f2cbd2fecd39920c4f1a89e16d": { + "balance": "0x6c6b935b8bbd400000" }, - "8d04a5ebfb5db409db0617c9fa5631c192861f4a": { - "balance": "970000000000000000000" + "0x8d04a5ebfb5db409db0617c9fa5631c192861f4a": { + "balance": "0x34957444b840e80000" }, - "f18b14cbf6694336d0fe12ac1f25df2da0c05dbb": { - "balance": "3999800000000000000000" + "0xf18b14cbf6694336d0fe12ac1f25df2da0c05dbb": { + "balance": "0xd8d4602c26bf6c0000" }, - "56ac20d63bd803595cec036da7ed1dc66e0a9e07": { - "balance": "63927000000000000000" + "0x56ac20d63bd803595cec036da7ed1dc66e0a9e07": { + "balance": "0x3772a53ccdc658000" }, - "92c94c2820dfcf7156e6f13088ece7958b3676fd": { - "balance": "95500000000000000000" + "0x92c94c2820dfcf7156e6f13088ece7958b3676fd": { + "balance": "0x52d542804f1ce0000" }, - "968dea60df3e09ae3c8d3505e9c080454be0e819": { - "balance": "6000000000000000000000" + "0x968dea60df3e09ae3c8d3505e9c080454be0e819": { + "balance": "0x14542ba12a337c00000" }, - "9268d62646563611dc3b832a30aa2394c64613e3": { - "balance": "2000000000000000000000" + "0x9268d62646563611dc3b832a30aa2394c64613e3": { + "balance": "0x6c6b935b8bbd400000" }, - "5a192b964afd80773e5f5eda6a56f14e25e0c6f3": { - "balance": "500000000000000000000" + "0x5a192b964afd80773e5f5eda6a56f14e25e0c6f3": { + "balance": "0x1b1ae4d6e2ef500000" }, - "df8d48b1eb07b3c217790e6c2df04dc319e7e848": { - "balance": "500000000000000000000" + "0xdf8d48b1eb07b3c217790e6c2df04dc319e7e848": { + "balance": "0x1b1ae4d6e2ef500000" }, - "7f61fa6cf5f898b440dac5abd8600d6d691fdef9": { - "balance": "280000000000000000000" + "0x7f61fa6cf5f898b440dac5abd8600d6d691fdef9": { + "balance": "0xf2dc7d47f15600000" }, - "929d368eb46a2d1fbdc8ffa0607ede4ba88f59ad": { - "balance": "2000000000000000000000" + "0x929d368eb46a2d1fbdc8ffa0607ede4ba88f59ad": { + "balance": "0x6c6b935b8bbd400000" }, - "9982a5890ffb5406d3aca8d2bfc1dd70aaa80ae0": { - "balance": "2000000000000000000000" + "0x9982a5890ffb5406d3aca8d2bfc1dd70aaa80ae0": { + "balance": "0x6c6b935b8bbd400000" }, - "bf2aea5a1dcf6ed3b5e8323944e983fedfd1acfb": { - "balance": "1580000000000000000000" + "0xbf2aea5a1dcf6ed3b5e8323944e983fedfd1acfb": { + "balance": "0x55a6e79ccd1d300000" }, - "46aa501870677e7f0a504876b4e8801a0ad01c46": { - "balance": "800000000000000000000" + "0x46aa501870677e7f0a504876b4e8801a0ad01c46": { + "balance": "0x2b5e3af16b18800000" }, - "8f473d0ab876ddaa15608621d7013e6ff714b675": { - "balance": "470400000000000000000" + "0x8f473d0ab876ddaa15608621d7013e6ff714b675": { + "balance": "0x19801c83b6c7c00000" }, - "02290fb5f9a517f82845acdeca0fc846039be233": { - "balance": "2000000000000000000000" + "0x02290fb5f9a517f82845acdeca0fc846039be233": { + "balance": "0x6c6b935b8bbd400000" }, - "8a5831282ce14a657a730dc18826f7f9b99db968": { - "balance": "4330268000000000000000" + "0x8a5831282ce14a657a730dc18826f7f9b99db968": { + "balance": "0xeabe8a5b41c1360000" }, - "0328510c09dbcd85194a98d67c33ac49f2f94d60": { - "balance": "11000000000000000000000" + "0x0328510c09dbcd85194a98d67c33ac49f2f94d60": { + "balance": "0x2544faa778090e00000" }, - "cf883a20329667ea226a1e3c765dbb6bab32219f": { - "balance": "3038972000000000000000" + "0xcf883a20329667ea226a1e3c765dbb6bab32219f": { + "balance": "0xa4be3564d616660000" }, - "2615100ea7e25bba9bca746058afbbb4ffbe4244": { - "balance": "500000000000000000000" + "0x2615100ea7e25bba9bca746058afbbb4ffbe4244": { + "balance": "0x1b1ae4d6e2ef500000" }, - "b115ee3ab7641e1aa6d000e41bfc1ec7210c2f32": { - "balance": "13000000000000000000000" + "0xb115ee3ab7641e1aa6d000e41bfc1ec7210c2f32": { + "balance": "0x2c0bb3dd30c4e200000" }, - "5cfa8d568575658ca4c1a593ac4c5d0e44c60745": { - "balance": "291000000000000000000" + "0x5cfa8d568575658ca4c1a593ac4c5d0e44c60745": { + "balance": "0xfc66fae3746ac0000" }, - "d3c24d4b3a5e0ff8a4622d518edd73f16ab28610": { - "balance": "20000000000000000000" + "0xd3c24d4b3a5e0ff8a4622d518edd73f16ab28610": { + "balance": "0x1158e460913d00000" }, - "a639acd96b31ba53b0d08763229e1f06fd105e9d": { - "balance": "8000000000000000000000" + "0xa639acd96b31ba53b0d08763229e1f06fd105e9d": { + "balance": "0x1b1ae4d6e2ef5000000" }, - "ffa4aff1a37f984b0a67272149273ae9bd41e3bc": { - "balance": "10000000000000000000000" + "0xffa4aff1a37f984b0a67272149273ae9bd41e3bc": { + "balance": "0x21e19e0c9bab2400000" }, - "cf684dfb8304729355b58315e8019b1aa2ad1bac": { - "balance": "432500000000000000000" + "0xcf684dfb8304729355b58315e8019b1aa2ad1bac": { + "balance": "0x177224aa844c720000" }, - "5797b60fd2894ab3c2f4aede86daf2e788d745ad": { - "balance": "6000000000000000000000" + "0x5797b60fd2894ab3c2f4aede86daf2e788d745ad": { + "balance": "0x14542ba12a337c00000" }, - "a6a0de421ae54f6d17281308f5646d2f39f7775d": { - "balance": "2000000000000000000000" + "0xa6a0de421ae54f6d17281308f5646d2f39f7775d": { + "balance": "0x6c6b935b8bbd400000" }, - "08504f05643fab5919f5eea55925d7a3ed7d807a": { - "balance": "20000000000000000000" + "0x08504f05643fab5919f5eea55925d7a3ed7d807a": { + "balance": "0x1158e460913d00000" }, - "7a7068e1c3375c0e599db1fbe6b2ea23b8f407d2": { - "balance": "2000000000000000000000" + "0x7a7068e1c3375c0e599db1fbe6b2ea23b8f407d2": { + "balance": "0x6c6b935b8bbd400000" }, - "1078d7f61b0e56c74ee6635b2e1819ef1e3d8785": { - "balance": "1000000000000000000000" + "0x1078d7f61b0e56c74ee6635b2e1819ef1e3d8785": { + "balance": "0x3635c9adc5dea00000" }, - "6e12b51e225b4a4372e59ad7a2a1a13ea3d3a137": { - "balance": "14172200000000000000000" + "0x6e12b51e225b4a4372e59ad7a2a1a13ea3d3a137": { + "balance": "0x30046c8cc775f040000" }, - "6a2e86469a5bf37cee82e88b4c3863895d28fcaf": { - "balance": "519000000000000000000" + "0x6a2e86469a5bf37cee82e88b4c3863895d28fcaf": { + "balance": "0x1c229266385bbc0000" }, - "197672fd39d6f246ce66a790d13aa922d70ea109": { - "balance": "1000000000000000000000" + "0x197672fd39d6f246ce66a790d13aa922d70ea109": { + "balance": "0x3635c9adc5dea00000" }, - "8009a7cbd192b3aed4adb983d5284552c16c7451": { - "balance": "4000000000000000000000" + "0x8009a7cbd192b3aed4adb983d5284552c16c7451": { + "balance": "0xd8d726b7177a800000" }, - "f6c3c48a1ac0a34799f04db86ec7a975fe7768f3": { - "balance": "1970000000000000000000" + "0xf6c3c48a1ac0a34799f04db86ec7a975fe7768f3": { + "balance": "0x6acb3df27e1f880000" }, - "16be75e98a995a395222d00bd79ff4b6e638e191": { - "balance": "36000000000000000000000" + "0x16be75e98a995a395222d00bd79ff4b6e638e191": { + "balance": "0x79f905c6fd34e800000" }, - "6c05e34e5ef2f42ed09deff1026cd66bcb6960bb": { - "balance": "2000000000000000000000" + "0x6c05e34e5ef2f42ed09deff1026cd66bcb6960bb": { + "balance": "0x6c6b935b8bbd400000" }, - "5d6ae8cbd6b3393c22d16254100d0238e808147c": { - "balance": "719992000000000000000" + "0x5d6ae8cbd6b3393c22d16254100d0238e808147c": { + "balance": "0x2707e56d51a30c0000" }, - "1a376e1b2d2f590769bb858d4575320d4e149970": { - "balance": "4841200000000000000000" + "0x1a376e1b2d2f590769bb858d4575320d4e149970": { + "balance": "0x106712576391d180000" }, - "f6ead67dbf5b7eb13358e10f36189d53e643cfcf": { - "balance": "40000000000000000000000" + "0xf6ead67dbf5b7eb13358e10f36189d53e643cfcf": { + "balance": "0x878678326eac9000000" }, - "467d5988249a68614716659840ed0ae6f6f457bc": { - "balance": "387500000000000000000" + "0x467d5988249a68614716659840ed0ae6f6f457bc": { + "balance": "0x1501a48cefdfde0000" }, - "aa960e10c52391c54e15387cc67af827b5316dcc": { - "balance": "2000000000000000000000" + "0xaa960e10c52391c54e15387cc67af827b5316dcc": { + "balance": "0x6c6b935b8bbd400000" }, - "483ba99034e900e3aedf61499d3b2bce39beb7aa": { - "balance": "985000000000000000000" + "0x483ba99034e900e3aedf61499d3b2bce39beb7aa": { + "balance": "0x35659ef93f0fc40000" }, - "86f23e9c0aafc78b9c404dcd60339a925bffa266": { - "balance": "400000000000000000000" + "0x86f23e9c0aafc78b9c404dcd60339a925bffa266": { + "balance": "0x15af1d78b58c400000" }, - "d05a447c911dbb275bfb2e5a37e5a703a56f9997": { - "balance": "200000000000000000000" + "0xd05a447c911dbb275bfb2e5a37e5a703a56f9997": { + "balance": "0xad78ebc5ac6200000" }, - "edb71ec41bda7dce86e766e6e8c3e9907723a69b": { - "balance": "20000000000000000000" + "0xedb71ec41bda7dce86e766e6e8c3e9907723a69b": { + "balance": "0x1158e460913d00000" }, - "f86a3ea8071f7095c7db8a05ae507a8929dbb876": { - "balance": "336000000000000000000" + "0xf86a3ea8071f7095c7db8a05ae507a8929dbb876": { + "balance": "0x1236efcbcbb3400000" }, - "323b3cfe3ee62bbde2a261e53cb3ecc05810f2c6": { - "balance": "13790000000000000000000" + "0x323b3cfe3ee62bbde2a261e53cb3ecc05810f2c6": { + "balance": "0x2eb8eb1a172dcb80000" }, - "936f3813f5f6a13b8e4ffec83fe7f826186a71cd": { - "balance": "520000000000000000000" + "0x936f3813f5f6a13b8e4ffec83fe7f826186a71cd": { + "balance": "0x1c30731cec03200000" }, - "6db72bfd43fef465ca5632b45aab7261404e13bf": { - "balance": "2000000000000000000000" + "0x6db72bfd43fef465ca5632b45aab7261404e13bf": { + "balance": "0x6c6b935b8bbd400000" }, - "9bb76204186af2f63be79168601687fc9bad661f": { - "balance": "300000000000000000000" + "0x9bb76204186af2f63be79168601687fc9bad661f": { + "balance": "0x1043561a8829300000" }, - "28ab165ffb69eda0c549ae38e9826f5f7f92f853": { - "balance": "1296890000000000000000" + "0x28ab165ffb69eda0c549ae38e9826f5f7f92f853": { + "balance": "0x464df6d7c844590000" }, - "c73e2112282215dc0762f32b7e807dcd1a7aae3e": { - "balance": "6900000000000000000000" + "0xc73e2112282215dc0762f32b7e807dcd1a7aae3e": { + "balance": "0x1760cbc623bb3500000" }, - "f8086e42661ea929d2dda1ab6c748ce3055d111e": { - "balance": "1000000000000000000000" + "0xf8086e42661ea929d2dda1ab6c748ce3055d111e": { + "balance": "0x3635c9adc5dea00000" }, - "4db21284bcd4f787a7556500d6d7d8f36623cf35": { - "balance": "1939806000000000000000" + "0x4db21284bcd4f787a7556500d6d7d8f36623cf35": { + "balance": "0x6928374f77a3630000" }, - "c48651c1d9c16bff4c9554886c3f3f26431f6f68": { - "balance": "658000000000000000000" + "0xc48651c1d9c16bff4c9554886c3f3f26431f6f68": { + "balance": "0x23ab9599c43f080000" }, - "9bdbdc9b973431d13c89a3f9757e9b3b6275bfc7": { - "balance": "499971000000000000000" + "0x9bdbdc9b973431d13c89a3f9757e9b3b6275bfc7": { + "balance": "0x1b1a7dcf8a44d38000" }, - "560da37e956d862f81a75fd580a7135c1b246352": { - "balance": "10000000000000000000000" + "0x560da37e956d862f81a75fd580a7135c1b246352": { + "balance": "0x21e19e0c9bab2400000" }, - "4b60a3e253bf38c8d5662010bb93a473c965c3e5": { - "balance": "1490000000000000000000" + "0x4b60a3e253bf38c8d5662010bb93a473c965c3e5": { + "balance": "0x50c5e761a444080000" }, - "64e02abb016cc23a2934f6bcddb681905021d563": { - "balance": "1000000000000000000000" + "0x64e02abb016cc23a2934f6bcddb681905021d563": { + "balance": "0x3635c9adc5dea00000" }, - "ac2c8e09d06493a63858437bd20be01962450365": { - "balance": "1910000000000000000000" + "0xac2c8e09d06493a63858437bd20be01962450365": { + "balance": "0x678a932062e4180000" }, - "9bf9b3b2f23cf461eb591f28340bc719931c8364": { - "balance": "1000000000000000000000" + "0x9bf9b3b2f23cf461eb591f28340bc719931c8364": { + "balance": "0x3635c9adc5dea00000" }, - "9b5c39f7e0ac168c8ed0ed340477117d1b682ee9": { - "balance": "98000000000000000000" + "0x9b5c39f7e0ac168c8ed0ed340477117d1b682ee9": { + "balance": "0x55005f0c614480000" }, - "f75bb39c799779ebc04a336d260da63146ed98d0": { - "balance": "25000000000000000000" + "0xf75bb39c799779ebc04a336d260da63146ed98d0": { + "balance": "0x15af1d78b58c40000" }, - "a7966c489f4c748a7ae980aa27a574251767caf9": { - "balance": "3000000000000000000000" + "0xa7966c489f4c748a7ae980aa27a574251767caf9": { + "balance": "0xa2a15d09519be00000" }, - "ea53c954f4ed97fd4810111bdab69ef981ef25b9": { - "balance": "17300000000000000000000" + "0xea53c954f4ed97fd4810111bdab69ef981ef25b9": { + "balance": "0x3a9d5baa4abf1d00000" }, - "03a26cfc4c18316f70d59e9e1a79ee3e8b962f4c": { - "balance": "2000000000000000000000" + "0x03a26cfc4c18316f70d59e9e1a79ee3e8b962f4c": { + "balance": "0x6c6b935b8bbd400000" }, - "3e63ce3b24ca2865b4c5a687b7aea3597ef6e548": { - "balance": "2000000000000000000000" + "0x3e63ce3b24ca2865b4c5a687b7aea3597ef6e548": { + "balance": "0x6c6b935b8bbd400000" }, - "500c902958f6421594d1b6ded712490d52ed6c44": { - "balance": "1970000000000000000000" + "0x500c902958f6421594d1b6ded712490d52ed6c44": { + "balance": "0x6acb3df27e1f880000" }, - "6f44ca09f0c6a8294cbd519cdc594ad42c67579f": { - "balance": "50000000000000000000" + "0x6f44ca09f0c6a8294cbd519cdc594ad42c67579f": { + "balance": "0x2b5e3af16b1880000" }, - "3616fb46c81578c9c8eb4d3bf880451a88379d7d": { - "balance": "200000000000000000000" + "0x3616fb46c81578c9c8eb4d3bf880451a88379d7d": { + "balance": "0xad78ebc5ac6200000" }, - "57bc20e2d62b3d19663cdb4c309d5b4f2fc2db8f": { - "balance": "100000000000000000000" + "0x57bc20e2d62b3d19663cdb4c309d5b4f2fc2db8f": { + "balance": "0x56bc75e2d63100000" }, - "1cebf0985d7f680aaa915c44cc62edb49eab269e": { - "balance": "1000000000000000000000" + "0x1cebf0985d7f680aaa915c44cc62edb49eab269e": { + "balance": "0x3635c9adc5dea00000" }, - "c0cbf6032fa39e7c46ff778a94f7d445fe22cf30": { - "balance": "310000000000000000000" + "0xc0cbf6032fa39e7c46ff778a94f7d445fe22cf30": { + "balance": "0x10ce1d3d8cb3180000" }, - "c58b9cc61dedbb98c33f224d271f0e228b583433": { - "balance": "3880000000000000000000" + "0xc58b9cc61dedbb98c33f224d271f0e228b583433": { + "balance": "0xd255d112e103a00000" }, - "e9c6dfae97f7099fc5f4e94b784db802923a1419": { - "balance": "48800000000000000000" + "0xe9c6dfae97f7099fc5f4e94b784db802923a1419": { + "balance": "0x2a53c6d724f100000" }, - "9bacd3d40f3b82ac91a264d9d88d908eac8664b9": { - "balance": "20000000000000000000000" + "0x9bacd3d40f3b82ac91a264d9d88d908eac8664b9": { + "balance": "0x43c33c1937564800000" }, - "63d80048877596e0c28489e650cd4ac180096a49": { - "balance": "280000000000000000000" + "0x63d80048877596e0c28489e650cd4ac180096a49": { + "balance": "0xf2dc7d47f15600000" }, - "e6a6f6dd6f70a456f4ec15ef7ad5e5dbb68bd7dc": { - "balance": "200000000000000000000" + "0xe6a6f6dd6f70a456f4ec15ef7ad5e5dbb68bd7dc": { + "balance": "0xad78ebc5ac6200000" }, - "d418870bc2e4fa7b8a6121ae0872d55247b62501": { - "balance": "1580000000000000000000" + "0xd418870bc2e4fa7b8a6121ae0872d55247b62501": { + "balance": "0x55a6e79ccd1d300000" }, - "e2f9383d5810ea7b43182b8704b62b27f5925d39": { - "balance": "400000000000000000000" + "0xe2f9383d5810ea7b43182b8704b62b27f5925d39": { + "balance": "0x15af1d78b58c400000" }, - "bd5e473abce8f97a6932f77c2facaf9cc0a00514": { - "balance": "1117350000000000000000" + "0xbd5e473abce8f97a6932f77c2facaf9cc0a00514": { + "balance": "0x3c9258a106a6b70000" }, - "2ff1ca55fd9cec1b1fe9f0a9abb74c513c1e2aaa": { - "balance": "3000000000000000000000" + "0x2ff1ca55fd9cec1b1fe9f0a9abb74c513c1e2aaa": { + "balance": "0xa2a15d09519be00000" }, - "9d99b189bbd9a48fc2e16e8fcda33bb99a317bbb": { - "balance": "1126900000000000000000" + "0x9d99b189bbd9a48fc2e16e8fcda33bb99a317bbb": { + "balance": "0x3d16e10b6d8bb20000" }, - "6e96faeda3054302c45f58f161324c99a3eebb62": { - "balance": "20000000000000000000" + "0x6e96faeda3054302c45f58f161324c99a3eebb62": { + "balance": "0x1158e460913d00000" }, - "ef93818f684db0c3675ec81332b3183ecc28a495": { - "balance": "1550000000000000000000" + "0xef93818f684db0c3675ec81332b3183ecc28a495": { + "balance": "0x54069233bf7f780000" }, - "2659facb1e83436553b5b42989adb8075f9953ed": { - "balance": "29356000000000000000" + "0x2659facb1e83436553b5b42989adb8075f9953ed": { + "balance": "0x1976576771a5e0000" }, - "c4ffadaaf2823fbea7bff702021bffc4853eb5c9": { - "balance": "42233000000000000000" + "0xc4ffadaaf2823fbea7bff702021bffc4853eb5c9": { + "balance": "0x24a19c1bd6f128000" }, - "e9864c1afc8eaad37f3ba56fcb7477cc622009b7": { - "balance": "79000000000000000000" + "0xe9864c1afc8eaad37f3ba56fcb7477cc622009b7": { + "balance": "0x448586170a7dc0000" }, - "87ef6d8b6a7cbf9b5c8c97f67ee2adc2a73b3f77": { - "balance": "200400000000000000000" + "0x87ef6d8b6a7cbf9b5c8c97f67ee2adc2a73b3f77": { + "balance": "0xadd1bd23c3c480000" }, - "c043f2452dcb9602ef62bd360e033dd23971fe84": { - "balance": "2000000000000000000000" + "0xc043f2452dcb9602ef62bd360e033dd23971fe84": { + "balance": "0x6c6b935b8bbd400000" }, - "0fdd65402395df9bd19fee4507ef5345f745104c": { - "balance": "5000000000000000000000" + "0x0fdd65402395df9bd19fee4507ef5345f745104c": { + "balance": "0x10f0cf064dd59200000" }, - "939c4313d2280edf5e071bced846063f0a975d54": { - "balance": "120000000000000000000000" + "0x939c4313d2280edf5e071bced846063f0a975d54": { + "balance": "0x1969368974c05b000000" }, - "b28245037cb192f75785cb86cbfe7c930da258b0": { - "balance": "16000000000000000000000" + "0xb28245037cb192f75785cb86cbfe7c930da258b0": { + "balance": "0x3635c9adc5dea000000" }, - "a80cb1738bac08d4f9c08b4deff515545fa8584f": { - "balance": "500000000000000000000" + "0xa80cb1738bac08d4f9c08b4deff515545fa8584f": { + "balance": "0x1b1ae4d6e2ef500000" }, - "62971bf2634cee0be3c9890f51a56099dbb9519b": { - "balance": "656000000000000000000" + "0x62971bf2634cee0be3c9890f51a56099dbb9519b": { + "balance": "0x238fd42c5cf0400000" }, - "f2efe96560c9d97b72bd36447843885c1d90c231": { - "balance": "2000000000000000000000" + "0xf2efe96560c9d97b72bd36447843885c1d90c231": { + "balance": "0x6c6b935b8bbd400000" }, - "0e390f44053ddfcef0d608b35e4d9c2cbe9871bb": { - "balance": "1970000000000000000000" + "0x0e390f44053ddfcef0d608b35e4d9c2cbe9871bb": { + "balance": "0x6acb3df27e1f880000" }, - "61d101a033ee0e2ebb3100ede766df1ad0244954": { - "balance": "500000000000000000000" + "0x61d101a033ee0e2ebb3100ede766df1ad0244954": { + "balance": "0x1b1ae4d6e2ef500000" }, - "6785513cf732e47e87670770b5419be10cd1fc74": { - "balance": "2000000000000000000000" + "0x6785513cf732e47e87670770b5419be10cd1fc74": { + "balance": "0x6c6b935b8bbd400000" }, - "167699f48a78c615512515739958993312574f07": { - "balance": "39000000000000000000" + "0x167699f48a78c615512515739958993312574f07": { + "balance": "0x21d3bd55e803c0000" }, - "68ec79d5be7155716c40941c79d78d17de9ef803": { - "balance": "500600000000000000000" + "0x68ec79d5be7155716c40941c79d78d17de9ef803": { + "balance": "0x1b233877b5208c0000" }, - "a0e8ba661b48154cf843d4c2a5c0f792d528ee29": { - "balance": "400000000000000000000" + "0xa0e8ba661b48154cf843d4c2a5c0f792d528ee29": { + "balance": "0x15af1d78b58c400000" }, - "1a201b4327cea7f399046246a3c87e6e03a3cda8": { - "balance": "1000000000000000000000" + "0x1a201b4327cea7f399046246a3c87e6e03a3cda8": { + "balance": "0x3635c9adc5dea00000" }, - "f60f62d73937953fef35169e11d872d2ea317eec": { - "balance": "5348000000000000000000" + "0xf60f62d73937953fef35169e11d872d2ea317eec": { + "balance": "0x121ea68c114e5100000" }, - "c0c04d0106810e3ec0e54a19f2ab8597e69a573d": { - "balance": "50000000000000000000" + "0xc0c04d0106810e3ec0e54a19f2ab8597e69a573d": { + "balance": "0x2b5e3af16b1880000" }, - "ef47cf073e36f271d522d7fa4e7120ad5007a0bc": { - "balance": "2500000000000000000000" + "0xef47cf073e36f271d522d7fa4e7120ad5007a0bc": { + "balance": "0x878678326eac900000" }, - "a44fe800d96fcad73b7170d0f610cb8c0682d6ce": { - "balance": "4000000000000000000000" + "0xa44fe800d96fcad73b7170d0f610cb8c0682d6ce": { + "balance": "0xd8d726b7177a800000" }, - "010f4a98dfa1d9799bf5c796fb550efbe7ecd877": { - "balance": "8023366000000000000000" + "0x010f4a98dfa1d9799bf5c796fb550efbe7ecd877": { + "balance": "0x1b2f292236292c70000" }, - "708fa11fe33d85ad1befcbae3818acb71f6a7d7e": { - "balance": "18200000000000000000" + "0x708fa11fe33d85ad1befcbae3818acb71f6a7d7e": { + "balance": "0xfc936392801c0000" }, - "b38c4e537b5df930d65a74d043831d6b485bbde4": { - "balance": "400000000000000000000" + "0xb38c4e537b5df930d65a74d043831d6b485bbde4": { + "balance": "0x15af1d78b58c400000" }, - "250a69430776f6347703f9529783955a6197b682": { - "balance": "1940000000000000000000" + "0x250a69430776f6347703f9529783955a6197b682": { + "balance": "0x692ae8897081d00000" }, - "2d35a9df62757f7ffad1049afb06ca4afc464c51": { - "balance": "20000000000000000000" + "0x2d35a9df62757f7ffad1049afb06ca4afc464c51": { + "balance": "0x1158e460913d00000" }, - "6aff1466c2623675e3cb0e75e423d37a25e442eb": { - "balance": "1730000000000000000000" + "0x6aff1466c2623675e3cb0e75e423d37a25e442eb": { + "balance": "0x5dc892aa1131c80000" }, - "fc15cb99a8d1030b12770add033a79ee0d0c908c": { - "balance": "350056000000000000000" + "0xfc15cb99a8d1030b12770add033a79ee0d0c908c": { + "balance": "0x12fa00bd52e6240000" }, - "e784dcc873aa8c1513ec26ff36bc92eac6d4c968": { - "balance": "200000000000000000000" + "0xe784dcc873aa8c1513ec26ff36bc92eac6d4c968": { + "balance": "0xad78ebc5ac6200000" }, - "b1c328fb98f2f19ab6646f0a7c8c566fda5a8540": { - "balance": "2500000000000000000000" + "0xb1c328fb98f2f19ab6646f0a7c8c566fda5a8540": { + "balance": "0x878678326eac900000" }, - "247a0a11c57f0383b949de540b66dee68604b0a1": { - "balance": "1069600000000000000000" + "0x247a0a11c57f0383b949de540b66dee68604b0a1": { + "balance": "0x39fbae8d042dd00000" }, - "1af60343360e0b2d75255210375720df21db5c7d": { - "balance": "1000000000000000000000" + "0x1af60343360e0b2d75255210375720df21db5c7d": { + "balance": "0x3635c9adc5dea00000" }, - "8794bf47d54540ece5c72237a1ffb511ddb74762": { - "balance": "2000000000000000000000" + "0x8794bf47d54540ece5c72237a1ffb511ddb74762": { + "balance": "0x6c6b935b8bbd400000" }, - "e76d945aa89df1e457aa342b31028a5e9130b2ce": { - "balance": "1015200000000000000000" + "0xe76d945aa89df1e457aa342b31028a5e9130b2ce": { + "balance": "0x3708baed3d68900000" }, - "a30e0acb534c9b3084e8501da090b4eb16a2c0cd": { - "balance": "2000000000000000000000" + "0xa30e0acb534c9b3084e8501da090b4eb16a2c0cd": { + "balance": "0x6c6b935b8bbd400000" }, - "7099d12f6ec656899b049a7657065d62996892c8": { - "balance": "400000000000000000000" + "0x7099d12f6ec656899b049a7657065d62996892c8": { + "balance": "0x15af1d78b58c400000" }, - "7be7f2456971883b9a8dbe4c91dec08ac34e8862": { - "balance": "3000000000000000000000" + "0x7be7f2456971883b9a8dbe4c91dec08ac34e8862": { + "balance": "0xa2a15d09519be00000" }, - "42746aeea14f27beff0c0da64253f1e7971890a0": { - "balance": "1550000000000000000000" + "0x42746aeea14f27beff0c0da64253f1e7971890a0": { + "balance": "0x54069233bf7f780000" }, - "736b44503dd2f6dd5469ff4c5b2db8ea4fec65d0": { - "balance": "313950000000000000000" + "0x736b44503dd2f6dd5469ff4c5b2db8ea4fec65d0": { + "balance": "0x1104ee759f21e30000" }, - "822edff636563a6106e52e9a2598f7e6d0ef2782": { - "balance": "36099000000000000000" + "0x822edff636563a6106e52e9a2598f7e6d0ef2782": { + "balance": "0x1f4f9693d42d38000" }, - "03c647a9f929b0781fe9ae01caa3e183e876777e": { - "balance": "445800000000000000000" + "0x03c647a9f929b0781fe9ae01caa3e183e876777e": { + "balance": "0x182ab7c20ce5240000" }, - "63612e7862c27b587cfb6daf9912cb051f030a9f": { - "balance": "43458000000000000000" + "0x63612e7862c27b587cfb6daf9912cb051f030a9f": { + "balance": "0x25b19d4bfe8ed0000" }, - "d46bae61b027e5bb422e83a3f9c93f3c8fc77d27": { - "balance": "2000000000000000000000" + "0xd46bae61b027e5bb422e83a3f9c93f3c8fc77d27": { + "balance": "0x6c6b935b8bbd400000" }, - "5f23ba1f37a96c45bc490259538a54c28ba3b0d5": { - "balance": "1200000000000000000000" + "0x5f23ba1f37a96c45bc490259538a54c28ba3b0d5": { + "balance": "0x410d586a20a4c00000" }, - "d41d7fb49fe701baac257170426cc9b38ca3a9b2": { - "balance": "176000000000000000000" + "0xd41d7fb49fe701baac257170426cc9b38ca3a9b2": { + "balance": "0x98a7d9b8314c00000" }, - "1ebacb7844fdc322f805904fbf1962802db1537c": { - "balance": "10000000000000000000000" + "0x1ebacb7844fdc322f805904fbf1962802db1537c": { + "balance": "0x21e19e0c9bab2400000" }, - "9c80bc18e9f8d4968b185da8c79fa6e11ffc3e23": { - "balance": "240000000000000000000" + "0x9c80bc18e9f8d4968b185da8c79fa6e11ffc3e23": { + "balance": "0xd02ab486cedc00000" }, - "e4ca0a5238564dfc91e8bf22bade2901619a1cd4": { - "balance": "1000000000000000000000" + "0xe4ca0a5238564dfc91e8bf22bade2901619a1cd4": { + "balance": "0x3635c9adc5dea00000" }, - "1ad72d20a76e7fcc6b764058f48d417d496fa6cd": { - "balance": "2000000000000000000000" + "0x1ad72d20a76e7fcc6b764058f48d417d496fa6cd": { + "balance": "0x6c6b935b8bbd400000" }, - "d3bc730937fa75d8452616ad1ef1fe7fffe0d0e7": { - "balance": "83363000000000000000" + "0xd3bc730937fa75d8452616ad1ef1fe7fffe0d0e7": { + "balance": "0x484e4ded2eae38000" }, - "eac1482826acb6111e19d340a45fb851576bed60": { - "balance": "32177000000000000000" + "0xeac1482826acb6111e19d340a45fb851576bed60": { + "balance": "0x1be8bab04d9be8000" }, - "01e40521122530d9ac91113c06a0190b6d63850b": { - "balance": "1337000000000000000000" + "0x01e40521122530d9ac91113c06a0190b6d63850b": { + "balance": "0x487a9a304539440000" }, - "9e20e5fd361eabcf63891f5b87b09268b8eb3793": { - "balance": "100000000000000000000" + "0x9e20e5fd361eabcf63891f5b87b09268b8eb3793": { + "balance": "0x56bc75e2d63100000" }, - "69ff429074cb9b6c63bc914284bce5f0c8fbf7d0": { - "balance": "500000000000000000000" + "0x69ff429074cb9b6c63bc914284bce5f0c8fbf7d0": { + "balance": "0x1b1ae4d6e2ef500000" }, - "0d3265d3e7bdb93d5e8e8b1ca47f210a793ecc8e": { - "balance": "200000000000000000000" + "0x0d3265d3e7bdb93d5e8e8b1ca47f210a793ecc8e": { + "balance": "0xad78ebc5ac6200000" }, - "5b4ea16db6809b0352d4b6e81c3913f76a51bb32": { - "balance": "400000000000000000000" + "0x5b4ea16db6809b0352d4b6e81c3913f76a51bb32": { + "balance": "0x15af1d78b58c400000" }, - "d8fe088fffce948f5137ee23b01d959e84ac4223": { - "balance": "227942000000000000000" + "0xd8fe088fffce948f5137ee23b01d959e84ac4223": { + "balance": "0xc5b54a94fc0170000" }, - "7e4e9409704121d1d77997026ff06ea9b19a8b90": { - "balance": "2602600000000000000000" + "0x7e4e9409704121d1d77997026ff06ea9b19a8b90": { + "balance": "0x8d16549ed58fa40000" }, - "96b434fe0657e42acc8212b6865139dede15979c": { - "balance": "4000000000000000000000" + "0x96b434fe0657e42acc8212b6865139dede15979c": { + "balance": "0xd8d726b7177a800000" }, - "22f004df8de9e6ebf523ccace457accb26f97281": { - "balance": "10000000000000000000000" + "0x22f004df8de9e6ebf523ccace457accb26f97281": { + "balance": "0x21e19e0c9bab2400000" }, - "d8f9240c55cff035523c6d5bd300d370dc8f0c95": { - "balance": "285000000000000000000" + "0xd8f9240c55cff035523c6d5bd300d370dc8f0c95": { + "balance": "0xf732b66015a540000" }, - "9d9e57fde30e5068c03e49848edce343b7028358": { - "balance": "1730000000000000000000" + "0x9d9e57fde30e5068c03e49848edce343b7028358": { + "balance": "0x5dc892aa1131c80000" }, - "317cf4a23cb191cdc56312c29d15e210b3b9b784": { - "balance": "144000000000000000000" + "0x317cf4a23cb191cdc56312c29d15e210b3b9b784": { + "balance": "0x7ce66c50e28400000" }, - "79f08e01ce0988e63c7f8f2908fade43c7f9f5c9": { - "balance": "18200000000000000000" + "0x79f08e01ce0988e63c7f8f2908fade43c7f9f5c9": { + "balance": "0xfc936392801c0000" }, - "04e5f5bc7c923fd1e31735e72ef968fd67110c6e": { - "balance": "1611000000000000000000" + "0x04e5f5bc7c923fd1e31735e72ef968fd67110c6e": { + "balance": "0x57551dbc8e624c0000" }, - "1ec4ec4b77bf19d091a868e6f49154180541f90e": { - "balance": "2000000000000000000000" + "0x1ec4ec4b77bf19d091a868e6f49154180541f90e": { + "balance": "0x6c6b935b8bbd400000" }, - "8737dae671823a8d5917e0157ace9c43468d946b": { - "balance": "1999944000000000000000" + "0x8737dae671823a8d5917e0157ace9c43468d946b": { + "balance": "0x6c6acc67d7b1d40000" }, - "f998ca3411730a6cd10e7455b0410fb0f6d3ff80": { - "balance": "2000000000000000000000" + "0xf998ca3411730a6cd10e7455b0410fb0f6d3ff80": { + "balance": "0x6c6b935b8bbd400000" }, - "6e2eab85dc89fe29dc0aa1853247dab43a523d56": { - "balance": "80000000000000000000" + "0x6e2eab85dc89fe29dc0aa1853247dab43a523d56": { + "balance": "0x4563918244f400000" }, - "72c083beadbdc227c5fb43881597e32e83c26056": { - "balance": "20000000000000000000000" + "0x72c083beadbdc227c5fb43881597e32e83c26056": { + "balance": "0x43c33c1937564800000" }, - "5902e44af769a87246a21e079c08bf36b06efeb3": { - "balance": "1000000000000000000000" + "0x5902e44af769a87246a21e079c08bf36b06efeb3": { + "balance": "0x3635c9adc5dea00000" }, - "cc2d04f0a4017189b340ca77198641dcf6456b91": { - "balance": "3940000000000000000000" + "0xcc2d04f0a4017189b340ca77198641dcf6456b91": { + "balance": "0xd5967be4fc3f100000" }, - "bde4c73f969b89e9ceae66a2b51844480e038e9a": { - "balance": "1000000000000000000000" + "0xbde4c73f969b89e9ceae66a2b51844480e038e9a": { + "balance": "0x3635c9adc5dea00000" }, - "adff0d1d0b97471e76d789d2e49c8a74f9bd54ff": { - "balance": "1880000000000000000000" + "0xadff0d1d0b97471e76d789d2e49c8a74f9bd54ff": { + "balance": "0x65ea3db75546600000" }, - "397cdb8c80c67950b18d654229610e93bfa6ee1a": { - "balance": "1172938000000000000000" + "0x397cdb8c80c67950b18d654229610e93bfa6ee1a": { + "balance": "0x3f95c8e08215210000" }, - "a3e051fb744aa3410c3b88f899f5d57f168df12d": { - "balance": "2955000000000000000000" + "0xa3e051fb744aa3410c3b88f899f5d57f168df12d": { + "balance": "0xa030dcebbd2f4c0000" }, - "810db25675f45ea4c7f3177f37ce29e22d67999c": { - "balance": "200000000000000000000" + "0x810db25675f45ea4c7f3177f37ce29e22d67999c": { + "balance": "0xad78ebc5ac6200000" }, - "1e13ec51142cebb7a26083412c3ce35144ba56a1": { - "balance": "5000000000000000000000" + "0x1e13ec51142cebb7a26083412c3ce35144ba56a1": { + "balance": "0x10f0cf064dd59200000" }, - "25bdfa3ee26f3849617b230062588a97e3cae701": { - "balance": "1000008000000000000000" + "0x25bdfa3ee26f3849617b230062588a97e3cae701": { + "balance": "0x3635e619bb04d40000" }, - "ae538c73c5b38d8d584d7ebdadefb15cabe48357": { - "balance": "999000000000000000000" + "0xae538c73c5b38d8d584d7ebdadefb15cabe48357": { + "balance": "0x3627e8f712373c0000" }, - "a2ecce2c49f72a0995a0bda57aacf1e9f001e22a": { - "balance": "4000000000000000000000" + "0xa2ecce2c49f72a0995a0bda57aacf1e9f001e22a": { + "balance": "0xd8d726b7177a800000" }, - "7e24fbdad290175eb2df6d180a19b9a9f41370be": { - "balance": "1000000000000000000000" + "0x7e24fbdad290175eb2df6d180a19b9a9f41370be": { + "balance": "0x3635c9adc5dea00000" }, - "e8cc43bc4f8acf39bff04ebfbf42aac06a328470": { - "balance": "400000000000000000000" + "0xe8cc43bc4f8acf39bff04ebfbf42aac06a328470": { + "balance": "0x15af1d78b58c400000" }, - "c2779771f0536d79a8708f6931abc44b3035e999": { - "balance": "20002000000000000000000" + "0xc2779771f0536d79a8708f6931abc44b3035e999": { + "balance": "0x43c4f8300dcb3480000" }, - "ab27ba78c8e5e3daef31ad05aef0ff0325721e08": { - "balance": "468000000000000000000" + "0xab27ba78c8e5e3daef31ad05aef0ff0325721e08": { + "balance": "0x195ece006e02d00000" }, - "563cb8803c1d32a25b27b64114852bd04d9c20cd": { - "balance": "204400000000000000000" + "0x563cb8803c1d32a25b27b64114852bd04d9c20cd": { + "balance": "0xb149ead0ad9d80000" }, - "08d4267feb15da9700f7ccc3c84a8918bf17cfde": { - "balance": "1790000000000000000000" + "0x08d4267feb15da9700f7ccc3c84a8918bf17cfde": { + "balance": "0x61093d7c2c6d380000" }, - "d1778c13fbd968bc083cb7d1024ffe1f49d02caa": { - "balance": "4020000000000000000000" + "0xd1778c13fbd968bc083cb7d1024ffe1f49d02caa": { + "balance": "0xd9ecb4fd208e500000" }, - "1796bcc97b8abc717f4b4a7c6b1036ea2182639f": { - "balance": "355242000000000000000" + "0x1796bcc97b8abc717f4b4a7c6b1036ea2182639f": { + "balance": "0x1341f91cd8e3510000" }, - "beecd6af900c8b064afcc6073f2d85d59af11956": { - "balance": "2000000000000000000000" + "0xbeecd6af900c8b064afcc6073f2d85d59af11956": { + "balance": "0x6c6b935b8bbd400000" }, - "045ed7f6d9ee9f252e073268db022c6326adfc5b": { - "balance": "100000000000000000000" + "0x045ed7f6d9ee9f252e073268db022c6326adfc5b": { + "balance": "0x56bc75e2d63100000" }, - "b88a37c27f78a617d5c091b7d5b73a3761e65f2a": { - "balance": "2000000000000000000000" + "0xb88a37c27f78a617d5c091b7d5b73a3761e65f2a": { + "balance": "0x6c6b935b8bbd400000" }, - "72fb49c29d23a18950c4b2dc0ddf410f532d6f53": { - "balance": "2000000000000000000000" + "0x72fb49c29d23a18950c4b2dc0ddf410f532d6f53": { + "balance": "0x6c6b935b8bbd400000" }, - "6ecaefa6fc3ee534626db02c6f85a0c395571e77": { - "balance": "600000000000000000000" + "0x6ecaefa6fc3ee534626db02c6f85a0c395571e77": { + "balance": "0x2086ac351052600000" }, - "d1811c55976980f083901d8a0db269222dfb5cfe": { - "balance": "1550000000000000000000" + "0xd1811c55976980f083901d8a0db269222dfb5cfe": { + "balance": "0x54069233bf7f780000" }, - "98855c7dfbee335344904a12c40c731795b13a54": { - "balance": "1069600000000000000000" + "0x98855c7dfbee335344904a12c40c731795b13a54": { + "balance": "0x39fbae8d042dd00000" }, - "92a898d46f19719c38126a8a3c27867ae2cee596": { - "balance": "2000000000000000000000" + "0x92a898d46f19719c38126a8a3c27867ae2cee596": { + "balance": "0x6c6b935b8bbd400000" }, - "ca428863a5ca30369892d612183ef9fb1a04bcea": { - "balance": "1520000000000000000000" + "0xca428863a5ca30369892d612183ef9fb1a04bcea": { + "balance": "0x52663ccab1e1c00000" }, - "797427e3dbf0feae7a2506f12df1dc40326e8505": { - "balance": "1000000000000000000000" + "0x797427e3dbf0feae7a2506f12df1dc40326e8505": { + "balance": "0x3635c9adc5dea00000" }, - "3d574fcf00fae1d98cc8bf9ddfa1b3953b9741bc": { - "balance": "1970000000000000000000" + "0x3d574fcf00fae1d98cc8bf9ddfa1b3953b9741bc": { + "balance": "0x6acb3df27e1f880000" }, - "28818e18b610001321b31df6fe7d2815cdadc9f5": { - "balance": "1000000000000000000000" + "0x28818e18b610001321b31df6fe7d2815cdadc9f5": { + "balance": "0x3635c9adc5dea00000" }, - "5f3e1e6739b0c62200e00a003691d9efb238d89f": { - "balance": "3000000000000000000000" + "0x5f3e1e6739b0c62200e00a003691d9efb238d89f": { + "balance": "0xa2a15d09519be00000" }, - "d9d370fec63576ab15b318bf9e58364dc2a3552a": { - "balance": "100000000000000000000" + "0xd9d370fec63576ab15b318bf9e58364dc2a3552a": { + "balance": "0x56bc75e2d63100000" }, - "b223bf1fbf80485ca2b5567d98db7bc3534dd669": { - "balance": "4000000000000000000000" + "0xb223bf1fbf80485ca2b5567d98db7bc3534dd669": { + "balance": "0xd8d726b7177a800000" }, - "7b27d0d1f3dd3c140294d0488b783ebf4015277d": { - "balance": "400000000000000000000" + "0x7b27d0d1f3dd3c140294d0488b783ebf4015277d": { + "balance": "0x15af1d78b58c400000" }, - "7930c2d9cbfa87f510f8f98777ff8a8448ca5629": { - "balance": "199955000000000000000" + "0x7930c2d9cbfa87f510f8f98777ff8a8448ca5629": { + "balance": "0xad6eedd17cf3b8000" }, - "820c19291196505b65059d9914b7090be1db87de": { - "balance": "140000000000000000000" + "0x820c19291196505b65059d9914b7090be1db87de": { + "balance": "0x796e3ea3f8ab00000" }, - "e545ee84ea48e564161e9482d59bcf406a602ca2": { - "balance": "1850000000000000000000" + "0xe545ee84ea48e564161e9482d59bcf406a602ca2": { + "balance": "0x6449e84e47a8a80000" }, - "af4cf41785161f571d0ca69c94f8021f41294eca": { - "balance": "9850000000000000000000" + "0xaf4cf41785161f571d0ca69c94f8021f41294eca": { + "balance": "0x215f835bc769da80000" }, - "7a4f9b850690c7c94600dbee0ca4b0a411e9c221": { - "balance": "1910000000000000000000" + "0x7a4f9b850690c7c94600dbee0ca4b0a411e9c221": { + "balance": "0x678a932062e4180000" }, - "ddab6b51a9030b40fb95cf0b748a059c2417bec7": { - "balance": "2000000000000000000000" + "0xddab6b51a9030b40fb95cf0b748a059c2417bec7": { + "balance": "0x6c6b935b8bbd400000" }, - "315ef2da620fd330d12ee55de5f329a696e0a968": { - "balance": "150000000000000000000" + "0x315ef2da620fd330d12ee55de5f329a696e0a968": { + "balance": "0x821ab0d4414980000" }, - "4db1c43a0f834d7d0478b8960767ec1ac44c9aeb": { - "balance": "872870000000000000000" + "0x4db1c43a0f834d7d0478b8960767ec1ac44c9aeb": { + "balance": "0x2f5181305627370000" }, - "2fef81478a4b2e8098db5ff387ba2153f4e22b79": { - "balance": "999000000000000000000" + "0x2fef81478a4b2e8098db5ff387ba2153f4e22b79": { + "balance": "0x3627e8f712373c0000" }, - "6c6aa0d30b64721990b9504a863fa0bfb5e57da7": { - "balance": "2700000000000000000000" + "0x6c6aa0d30b64721990b9504a863fa0bfb5e57da7": { + "balance": "0x925e06eec972b00000" }, - "33380c6fff5acd2651309629db9a71bf3f20c5ba": { - "balance": "16100000000000000000000" + "0x33380c6fff5acd2651309629db9a71bf3f20c5ba": { + "balance": "0x368c8623a8b4d100000" }, - "4eebf1205d0cc20cee6c7f8ff3115f56d48fba26": { - "balance": "19400000000000000000" + "0x4eebf1205d0cc20cee6c7f8ff3115f56d48fba26": { + "balance": "0x10d3aa536e2940000" }, - "03cc9d2d21f86b84ac8ceaf971dba78a90e62570": { - "balance": "1610000000000000000000" + "0x03cc9d2d21f86b84ac8ceaf971dba78a90e62570": { + "balance": "0x57473d05dabae80000" }, - "728f9ab080157db3073156dbca1a169ef3179407": { - "balance": "500000000000000000000" + "0x728f9ab080157db3073156dbca1a169ef3179407": { + "balance": "0x1b1ae4d6e2ef500000" }, - "30ed11b77bc17e5e6694c8bc5b6e4798f68d9ca7": { - "balance": "143731500000000000000000" + "0x30ed11b77bc17e5e6694c8bc5b6e4798f68d9ca7": { + "balance": "0x1e6fb3421fe0299e0000" }, - "f617b967b9bd485f7695d2ef51fb7792d898f500": { - "balance": "500000000000000000000" + "0xf617b967b9bd485f7695d2ef51fb7792d898f500": { + "balance": "0x1b1ae4d6e2ef500000" }, - "c0cbad3ccdf654da22cbcf5c786597ca1955c115": { - "balance": "2000000000000000000000" + "0xc0cbad3ccdf654da22cbcf5c786597ca1955c115": { + "balance": "0x6c6b935b8bbd400000" }, - "80522ddf944ec52e27d724ed4c93e1f7be6083d6": { - "balance": "200000000000000000000" + "0x80522ddf944ec52e27d724ed4c93e1f7be6083d6": { + "balance": "0xad78ebc5ac6200000" }, - "4e90ccb13258acaa9f4febc0a34292f95991e230": { - "balance": "15800000000000000000" + "0x4e90ccb13258acaa9f4febc0a34292f95991e230": { + "balance": "0xdb44e049bb2c0000" }, - "ff207308ced238a6c01ad0213ca9eb4465d42590": { - "balance": "1999944000000000000000" + "0xff207308ced238a6c01ad0213ca9eb4465d42590": { + "balance": "0x6c6acc67d7b1d40000" }, - "35f2949cf78bc219bb4f01907cf3b4b3d3865482": { - "balance": "289800000000000000000" + "0x35f2949cf78bc219bb4f01907cf3b4b3d3865482": { + "balance": "0xfb5c86c92e4340000" }, - "68f525921dc11c329b754fbf3e529fc723c834cd": { - "balance": "1610000000000000000000" + "0x68f525921dc11c329b754fbf3e529fc723c834cd": { + "balance": "0x57473d05dabae80000" }, - "81139bfdcca656c430203f72958c543b6580d40c": { - "balance": "2000000000000000000000" + "0x81139bfdcca656c430203f72958c543b6580d40c": { + "balance": "0x6c6b935b8bbd400000" }, - "9d511543b3d9dc60d47f09d49d01b6c498d82078": { - "balance": "11245000000000000000000" + "0x9d511543b3d9dc60d47f09d49d01b6c498d82078": { + "balance": "0x26197b9516fc3940000" }, - "084d103254759b343cb2b9c2d8ff9e1ac5f14596": { - "balance": "7600000000000000000000" + "0x084d103254759b343cb2b9c2d8ff9e1ac5f14596": { + "balance": "0x19bff2ff57968c00000" }, - "b323dcbf2eddc5382ee4bbbb201ca3931be8b438": { - "balance": "2000000000000000000000" + "0xb323dcbf2eddc5382ee4bbbb201ca3931be8b438": { + "balance": "0x6c6b935b8bbd400000" }, - "349d2c918fd09e2807318e66ce432909176bd50b": { - "balance": "1120000000000000000000" + "0x349d2c918fd09e2807318e66ce432909176bd50b": { + "balance": "0x3cb71f51fc55800000" }, - "b535f8db879fc67fec58824a5cbe6e5498aba692": { - "balance": "1910000000000000000000" + "0xb535f8db879fc67fec58824a5cbe6e5498aba692": { + "balance": "0x678a932062e4180000" }, - "824074312806da4748434266ee002140e3819ac2": { - "balance": "1507000000000000000000" + "0x824074312806da4748434266ee002140e3819ac2": { + "balance": "0x51b1d3839261ac0000" }, - "e8ef100d7ce0895832f2678df72d4acf8c28b8e3": { - "balance": "500038000000000000000" + "0xe8ef100d7ce0895832f2678df72d4acf8c28b8e3": { + "balance": "0x1b1b6bd7af64c70000" }, - "84af1b157342d54368260d17876230a534b54b0e": { - "balance": "985000000000000000000" + "0x84af1b157342d54368260d17876230a534b54b0e": { + "balance": "0x35659ef93f0fc40000" }, - "419a71a36c11d105e0f2aef5a3e598078e85c80b": { - "balance": "5000000000000000000000" + "0x419a71a36c11d105e0f2aef5a3e598078e85c80b": { + "balance": "0x10f0cf064dd59200000" }, - "55af092f94ba6a79918b0cf939eab3f01b3f51c7": { - "balance": "149940000000000000000" + "0x55af092f94ba6a79918b0cf939eab3f01b3f51c7": { + "balance": "0x820d5e39576120000" }, - "35a549e8fd6c368d6dcca6d2e7d18e4db95f5284": { - "balance": "499938000000000000000" + "0x35a549e8fd6c368d6dcca6d2e7d18e4db95f5284": { + "balance": "0x1b1a089237073d0000" }, - "f0e2649c7e6a3f2c5dfe33bbfbd927ca3c350a58": { - "balance": "2000000000000000000000" + "0xf0e2649c7e6a3f2c5dfe33bbfbd927ca3c350a58": { + "balance": "0x6c6b935b8bbd400000" }, - "f4b759cc8a1c75f80849ebbcda878dc8f0d66de4": { - "balance": "400000000000000000000" + "0xf4b759cc8a1c75f80849ebbcda878dc8f0d66de4": { + "balance": "0x15af1d78b58c400000" }, - "21846f2fdf5a41ed8df36e5ed8544df75988ece3": { - "balance": "1999944000000000000000" + "0x21846f2fdf5a41ed8df36e5ed8544df75988ece3": { + "balance": "0x6c6acc67d7b1d40000" }, - "229ff80bf5708009a9f739e0f8b560914016d5a6": { - "balance": "333333000000000000000" + "0x229ff80bf5708009a9f739e0f8b560914016d5a6": { + "balance": "0x1211ecb56d13488000" }, - "da505537537ffb33c415fec64e69bae090c5f60f": { - "balance": "160000000000000000000" + "0xda505537537ffb33c415fec64e69bae090c5f60f": { + "balance": "0x8ac7230489e800000" }, - "b91d9e916cd40d193db60e79202778a0087716fc": { - "balance": "404800000000000000000" + "0xb91d9e916cd40d193db60e79202778a0087716fc": { + "balance": "0x15f1ba7f4716200000" }, - "bb6823a1bd819f13515538264a2de052b4442208": { - "balance": "25610000000000000000" + "0xbb6823a1bd819f13515538264a2de052b4442208": { + "balance": "0x16368ff4ff9c10000" }, - "459393d63a063ef3721e16bd9fde45ee9dbd77fb": { - "balance": "1968818000000000000000" + "0x459393d63a063ef3721e16bd9fde45ee9dbd77fb": { + "balance": "0x6abad6a3c153050000" }, - "95f62d0243ede61dad9a3165f53905270d54e242": { - "balance": "1610000000000000000000" + "0x95f62d0243ede61dad9a3165f53905270d54e242": { + "balance": "0x57473d05dabae80000" }, - "b0bb29a861ea1d424d45acd4bfc492fb8ed809b7": { - "balance": "80000000000000000000" + "0xb0bb29a861ea1d424d45acd4bfc492fb8ed809b7": { + "balance": "0x4563918244f400000" }, - "5e74ed80e9655788e1bb269752319667fe754e5a": { - "balance": "56000000000000000000" + "0x5e74ed80e9655788e1bb269752319667fe754e5a": { + "balance": "0x30927f74c9de00000" }, - "a276b058cb98d88beedb67e543506c9a0d9470d8": { - "balance": "2668652000000000000000" + "0xa276b058cb98d88beedb67e543506c9a0d9470d8": { + "balance": "0x90aafc76e02fbe0000" }, - "8ae9ef8c8a8adfa6ab798ab2cdc405082a1bbb70": { - "balance": "2000000000000000000000" + "0x8ae9ef8c8a8adfa6ab798ab2cdc405082a1bbb70": { + "balance": "0x6c6b935b8bbd400000" }, - "e5102c3b711b810344197419b1cd8a7059f13e32": { - "balance": "299999000000000000000" + "0xe5102c3b711b810344197419b1cd8a7059f13e32": { + "balance": "0x1043528d0984698000" }, - "c32038ca52aee19745be5c31fcdc54148bb2c4d0": { - "balance": "49984000000000000000" + "0xc32038ca52aee19745be5c31fcdc54148bb2c4d0": { + "balance": "0x2b5aad72c65200000" }, - "13e321728c9c57628058e93fc866a032dd0bda90": { - "balance": "714580000000000000000" + "0x13e321728c9c57628058e93fc866a032dd0bda90": { + "balance": "0x26bcca23fe2ea20000" }, - "c2bae4a233c2d85724f0dabebda0249d833e37d3": { - "balance": "5000000000000000000000" + "0xc2bae4a233c2d85724f0dabebda0249d833e37d3": { + "balance": "0x10f0cf064dd59200000" }, - "10d32416722ca4e648630548ead91edd79c06aff": { - "balance": "100000000000000000000" + "0x10d32416722ca4e648630548ead91edd79c06aff": { + "balance": "0x56bc75e2d63100000" }, - "d5f07552b5c693c20067b378b809cee853b8f136": { - "balance": "505540000000000000000" + "0xd5f07552b5c693c20067b378b809cee853b8f136": { + "balance": "0x1b67c6df88c6fa0000" }, - "8668af868a1e98885f937f2615ded6751804eb2d": { - "balance": "20000000000000000000" + "0x8668af868a1e98885f937f2615ded6751804eb2d": { + "balance": "0x1158e460913d00000" }, - "139d3531c9922ad56269f6309aa789fb2485f98c": { - "balance": "4000000000000000000000" + "0x139d3531c9922ad56269f6309aa789fb2485f98c": { + "balance": "0xd8d726b7177a800000" }, - "1d29c7aab42b2048d2b25225d498dba67a03fbb2": { - "balance": "200000000000000000000" + "0x1d29c7aab42b2048d2b25225d498dba67a03fbb2": { + "balance": "0xad78ebc5ac6200000" }, - "d35075ca61fe59d123969c36a82d1ab2d918aa38": { - "balance": "2674000000000000000000" + "0xd35075ca61fe59d123969c36a82d1ab2d918aa38": { + "balance": "0x90f534608a72880000" }, - "d6fc0446c6a8d40ae3551db7e701d1fa876e4a49": { - "balance": "2000000000000000000000" + "0xd6fc0446c6a8d40ae3551db7e701d1fa876e4a49": { + "balance": "0x6c6b935b8bbd400000" }, - "fccd0d1ecee27addea95f6857aeec8c7a04b28ee": { - "balance": "10000000000000000000000" + "0xfccd0d1ecee27addea95f6857aeec8c7a04b28ee": { + "balance": "0x21e19e0c9bab2400000" }, - "c12cfb7b3df70fceca0ede263500e27873f8ed16": { - "balance": "1000000000000000000000" + "0xc12cfb7b3df70fceca0ede263500e27873f8ed16": { + "balance": "0x3635c9adc5dea00000" }, - "d0db456178206f5c4430fe005063903c3d7a49a7": { - "balance": "706245000000000000000" + "0xd0db456178206f5c4430fe005063903c3d7a49a7": { + "balance": "0x26491e45a753c08000" }, - "73cf80ae9688e1580e68e782cd0811f7aa494d2c": { - "balance": "7760000000000000000000" + "0x73cf80ae9688e1580e68e782cd0811f7aa494d2c": { + "balance": "0x1a4aba225c207400000" }, - "d60651e393783423e5cc1bc5f889e44ef7ea243e": { - "balance": "398800000000000000000" + "0xd60651e393783423e5cc1bc5f889e44ef7ea243e": { + "balance": "0x159e76371129c80000" }, - "048a8970ea4145c64d5517b8de5b46d0595aad06": { - "balance": "20000000000000000000000" + "0x048a8970ea4145c64d5517b8de5b46d0595aad06": { + "balance": "0x43c33c1937564800000" }, - "dd9b485a3b1cd33a6a9c62f1e5bee92701856d25": { - "balance": "225073000000000000000" + "0xdd9b485a3b1cd33a6a9c62f1e5bee92701856d25": { + "balance": "0xc3383ed031b7e8000" }, - "5b287c7e734299e727626f93fb1187a60d5057fe": { - "balance": "101230000000000000000" + "0x5b287c7e734299e727626f93fb1187a60d5057fe": { + "balance": "0x57cd934a914cb0000" }, - "635c00fdf035bca15fa3610df3384e0fb79068b1": { - "balance": "9000000000000000000000" + "0x635c00fdf035bca15fa3610df3384e0fb79068b1": { + "balance": "0x1e7e4171bf4d3a00000" }, - "630a913a9031c9492abd4c41dbb15054cfec4416": { - "balance": "5688000000000000000000" + "0x630a913a9031c9492abd4c41dbb15054cfec4416": { + "balance": "0x13458db67af35e00000" }, - "af3614dcb68a36e45a4e911e62796247222d595b": { - "balance": "2259800000000000000000" + "0xaf3614dcb68a36e45a4e911e62796247222d595b": { + "balance": "0x7a81065f1103bc0000" }, - "335e22025b7a77c3a074c78b8e3dfe071341946e": { - "balance": "10178744000000000000000" + "0x335e22025b7a77c3a074c78b8e3dfe071341946e": { + "balance": "0x227ca730ab3f6ac0000" }, - "f0e1dfa42adeac2f17f6fdf584c94862fd563393": { - "balance": "500000000000000000000" + "0xf0e1dfa42adeac2f17f6fdf584c94862fd563393": { + "balance": "0x1b1ae4d6e2ef500000" }, - "1a9e702f385dcd105e8b9fa428eea21c57ff528a": { - "balance": "1400000000000000000000" + "0x1a9e702f385dcd105e8b9fa428eea21c57ff528a": { + "balance": "0x4be4e7267b6ae00000" }, - "8ce4949d8a16542d423c17984e6739fa72ceb177": { - "balance": "24999975000000000000000" + "0x8ce4949d8a16542d423c17984e6739fa72ceb177": { + "balance": "0x54b405926f4a63d8000" }, - "5f29c9de765dde25852af07d33f2ce468fd20982": { - "balance": "2000000000000000000000" + "0x5f29c9de765dde25852af07d33f2ce468fd20982": { + "balance": "0x6c6b935b8bbd400000" }, - "dbf5f061a0f48e5e69618739a77d2ec19768d201": { - "balance": "152000000000000000000" + "0xdbf5f061a0f48e5e69618739a77d2ec19768d201": { + "balance": "0x83d6c7aab63600000" }, - "b247cf9c72ec482af3eaa759658f793d670a570c": { - "balance": "912000000000000000000" + "0xb247cf9c72ec482af3eaa759658f793d670a570c": { + "balance": "0x31708ae00454400000" }, - "99f4147ccc6bcb80cc842e69f6d00e30fa4133d9": { - "balance": "400000000000000000000" + "0x99f4147ccc6bcb80cc842e69f6d00e30fa4133d9": { + "balance": "0x15af1d78b58c400000" }, - "ba6d31b9a261d640b5dea51ef2162c3109f1eba8": { - "balance": "5000000000000000000000" + "0xba6d31b9a261d640b5dea51ef2162c3109f1eba8": { + "balance": "0x10f0cf064dd59200000" }, - "f05ba8d7b68539d933300bc9289c3d9474d0419e": { - "balance": "126400000000000000000" + "0xf05ba8d7b68539d933300bc9289c3d9474d0419e": { + "balance": "0x6da27024dd9600000" }, - "682e96276f518d31d7e56e30dfb009c1218201bd": { - "balance": "20000000000000000000" + "0x682e96276f518d31d7e56e30dfb009c1218201bd": { + "balance": "0x1158e460913d00000" }, - "0927220492194b2eda9fc4bbe38f25d681dfd36c": { - "balance": "6000000000000000000000" + "0x0927220492194b2eda9fc4bbe38f25d681dfd36c": { + "balance": "0x14542ba12a337c00000" }, - "a3c33afc8cb4704e23153de2049d35ae71332472": { - "balance": "799600000000000000000" + "0xa3c33afc8cb4704e23153de2049d35ae71332472": { + "balance": "0x2b58addb89a2580000" }, - "05c736d365aa37b5c0be9c12c8ad5cd903c32cf9": { - "balance": "6002000000000000000000" + "0x05c736d365aa37b5c0be9c12c8ad5cd903c32cf9": { + "balance": "0x1455e7b800a86880000" }, - "d8eef4cf4beb01ee20d111748b61cb4d3f641a01": { - "balance": "2740000000000000000000" + "0xd8eef4cf4beb01ee20d111748b61cb4d3f641a01": { + "balance": "0x9489237adb9a500000" }, - "16c1bf5b7dc9c83c179efacbcf2eb174e3561cb3": { - "balance": "1000000000000000000000" + "0x16c1bf5b7dc9c83c179efacbcf2eb174e3561cb3": { + "balance": "0x3635c9adc5dea00000" }, - "d79db5ab43621a7a3da795e58929f3dd25af67d9": { - "balance": "1999944000000000000000" + "0xd79db5ab43621a7a3da795e58929f3dd25af67d9": { + "balance": "0x6c6acc67d7b1d40000" }, - "28efae6356509edface89fc61a7fdcdb39eea8e5": { - "balance": "5348000000000000000000" + "0x28efae6356509edface89fc61a7fdcdb39eea8e5": { + "balance": "0x121ea68c114e5100000" }, - "c55005a6c37e8ca7e543ce259973a3cace961a4a": { - "balance": "2000000000000000000000" + "0xc55005a6c37e8ca7e543ce259973a3cace961a4a": { + "balance": "0x6c6b935b8bbd400000" }, - "ab3d86bc82927e0cd421d146e07f919327cdf6f9": { - "balance": "1910000000000000000000" + "0xab3d86bc82927e0cd421d146e07f919327cdf6f9": { + "balance": "0x678a932062e4180000" }, - "b74ed2666001c16333cf7af59e4a3d4860363b9c": { - "balance": "193600000000000000000" + "0xb74ed2666001c16333cf7af59e4a3d4860363b9c": { + "balance": "0xa7ebd5e4363a00000" }, - "1899f69f653b05a5a6e81f480711d09bbf97588c": { - "balance": "1955000000000000000000" + "0x1899f69f653b05a5a6e81f480711d09bbf97588c": { + "balance": "0x69fb133df750ac0000" }, - "27fc85a49cff90dbcfdadc9ddd40d6b9a2210a6c": { - "balance": "100000000000000000000" + "0x27fc85a49cff90dbcfdadc9ddd40d6b9a2210a6c": { + "balance": "0x56bc75e2d63100000" }, - "cd1ed263fbf6f6f7b48aef8f733d329d4382c7c7": { - "balance": "18500000000000000000" + "0xcd1ed263fbf6f6f7b48aef8f733d329d4382c7c7": { + "balance": "0x100bd33fb98ba0000" }, - "d97fe6f53f2a58f6d76d752adf74a8a2c18e9074": { - "balance": "309990000000000000000" + "0xd97fe6f53f2a58f6d76d752adf74a8a2c18e9074": { + "balance": "0x10cdf9b69a43570000" }, - "80da2fdda29a9e27f9e115975e69ae9cfbf3f27e": { - "balance": "200000000000000000000" + "0x80da2fdda29a9e27f9e115975e69ae9cfbf3f27e": { + "balance": "0xad78ebc5ac6200000" }, - "09146ea3885176f07782e1fe30dce3ce24c49e1f": { - "balance": "20000000000000000000" + "0x09146ea3885176f07782e1fe30dce3ce24c49e1f": { + "balance": "0x1158e460913d00000" }, - "393ff4255e5c658f2e7f10ecbd292572671bc2d2": { - "balance": "2000000000000000000000" + "0x393ff4255e5c658f2e7f10ecbd292572671bc2d2": { + "balance": "0x6c6b935b8bbd400000" }, - "a390ca122b8501ee3e5e07a8ca4b419f7e4dae15": { - "balance": "100000000000000000000" + "0xa390ca122b8501ee3e5e07a8ca4b419f7e4dae15": { + "balance": "0x56bc75e2d63100000" }, - "6d9193996b194617211106d1635eb26cc4b66c6c": { - "balance": "399640000000000000000" + "0x6d9193996b194617211106d1635eb26cc4b66c6c": { + "balance": "0x15aa1e7e9dd51c0000" }, - "999c49c174ca13bc836c1e0a92bff48b271543ca": { - "balance": "3280000000000000000000" + "0x999c49c174ca13bc836c1e0a92bff48b271543ca": { + "balance": "0xb1cf24ddd0b1400000" }, - "7421ce5be381738ddc83f02621974ff0686c79b8": { - "balance": "1632000000000000000000" + "0x7421ce5be381738ddc83f02621974ff0686c79b8": { + "balance": "0x58788cb94b1d800000" }, - "6be9030ee6e2fbc491aca3de4022d301772b7b7d": { - "balance": "26740000000000000000" + "0x6be9030ee6e2fbc491aca3de4022d301772b7b7d": { + "balance": "0x1731790534df20000" }, - "81bd75abd865e0c3f04a0b4fdbcb74d34082fbb7": { - "balance": "4000000000000000000000" + "0x81bd75abd865e0c3f04a0b4fdbcb74d34082fbb7": { + "balance": "0xd8d726b7177a800000" }, - "8bc1ff8714828bf286ff7e8a7709106548ed1b18": { - "balance": "10000000000000000000000" + "0x8bc1ff8714828bf286ff7e8a7709106548ed1b18": { + "balance": "0x21e19e0c9bab2400000" }, - "a0aadbd9509722705f6d2358a5c79f37970f00f6": { - "balance": "200000000000000000000" + "0xa0aadbd9509722705f6d2358a5c79f37970f00f6": { + "balance": "0xad78ebc5ac6200000" }, - "3d881433f04a7d0d27f84944e08a512da3555287": { - "balance": "1200000000000000000000" + "0x3d881433f04a7d0d27f84944e08a512da3555287": { + "balance": "0x410d586a20a4c00000" }, - "cc1d6ead01aada3e8dc7b95dca25df26eefa639d": { - "balance": "2000000000000000000000" + "0xcc1d6ead01aada3e8dc7b95dca25df26eefa639d": { + "balance": "0x6c6b935b8bbd400000" }, - "35106ba94e8563d4b3cb3c5c692c10e604b7ced8": { - "balance": "2000000000000000000000" + "0x35106ba94e8563d4b3cb3c5c692c10e604b7ced8": { + "balance": "0x6c6b935b8bbd400000" }, - "4d8697af0fbf2ca36e8768f4af22133570685a60": { - "balance": "20000000000000000000" + "0x4d8697af0fbf2ca36e8768f4af22133570685a60": { + "balance": "0x1158e460913d00000" }, - "1afcc585896cd0ede129ee2de5c19ea811540b64": { - "balance": "3231259000000000000000" + "0x1afcc585896cd0ede129ee2de5c19ea811540b64": { + "balance": "0xaf2aba0c8e5bef8000" }, - "e5215631b14248d45a255296bed1fbfa0330ff35": { - "balance": "1310000000000000000000" + "0xe5215631b14248d45a255296bed1fbfa0330ff35": { + "balance": "0x4703e6eb5291b80000" }, - "e3878f91ca86053fced5444686a330e09cc388fb": { - "balance": "194000000000000000000" + "0xe3878f91ca86053fced5444686a330e09cc388fb": { + "balance": "0xa844a7424d9c80000" }, - "555df19390c16d01298772bae8bc3a1152199cbd": { - "balance": "200000000000000000000" + "0x555df19390c16d01298772bae8bc3a1152199cbd": { + "balance": "0xad78ebc5ac6200000" }, - "dc3dae59ed0fe18b58511e6fe2fb69b219689423": { - "balance": "100000000000000000000" + "0xdc3dae59ed0fe18b58511e6fe2fb69b219689423": { + "balance": "0x56bc75e2d63100000" }, - "74648caac748dd135cd91ea14c28e1bd4d7ff6ae": { - "balance": "3100000000000000000000" + "0x74648caac748dd135cd91ea14c28e1bd4d7ff6ae": { + "balance": "0xa80d24677efef00000" }, - "cf2e2ad635e9861ae95cb9bafcca036b5281f5ce": { - "balance": "35200000000000000000000" + "0xcf2e2ad635e9861ae95cb9bafcca036b5281f5ce": { + "balance": "0x77432217e6836000000" }, - "14eec09bf03e352bd6ff1b1e876be664ceffd0cf": { - "balance": "20094000000000000000" + "0x14eec09bf03e352bd6ff1b1e876be664ceffd0cf": { + "balance": "0x116dc3a8994b30000" }, - "856e5ab3f64c9ab56b009393b01664fc0324050e": { - "balance": "1790000000000000000000" + "0x856e5ab3f64c9ab56b009393b01664fc0324050e": { + "balance": "0x61093d7c2c6d380000" }, - "632b9149d70178a7333634275e82d5953f27967b": { - "balance": "700000000000000000000" + "0x632b9149d70178a7333634275e82d5953f27967b": { + "balance": "0x25f273933db5700000" }, - "2a39190a4fde83dfb3ddcb4c5fbb83ac6c49755c": { - "balance": "1000000000000000000000" + "0x2a39190a4fde83dfb3ddcb4c5fbb83ac6c49755c": { + "balance": "0x3635c9adc5dea00000" }, - "369ef761195f3a373e24ece6cd22520fe0b9e86e": { - "balance": "534933000000000000000" + "0x369ef761195f3a373e24ece6cd22520fe0b9e86e": { + "balance": "0x1cffafc94db2088000" }, - "16afa787fc9f94bdff6976b1a42f430a8bf6fb0f": { - "balance": "2000000000000000000000" + "0x16afa787fc9f94bdff6976b1a42f430a8bf6fb0f": { + "balance": "0x6c6b935b8bbd400000" }, - "1b0b31afff4b6df3653a94d7c87978ae35f34aae": { - "balance": "354600000000000000000" + "0x1b0b31afff4b6df3653a94d7c87978ae35f34aae": { + "balance": "0x133910453fa9840000" }, - "b4d82f2e69943f7de0f5f7743879406fac2e9cec": { - "balance": "40000000000000000000" + "0xb4d82f2e69943f7de0f5f7743879406fac2e9cec": { + "balance": "0x22b1c8c1227a00000" }, - "09d6cefd75b0c4b3f8f1d687a522c96123f1f539": { - "balance": "6000000000000000000000" + "0x09d6cefd75b0c4b3f8f1d687a522c96123f1f539": { + "balance": "0x14542ba12a337c00000" }, - "01577afd4e50890247c9b10d44af73229aec884f": { - "balance": "680000000000000000000" + "0x01577afd4e50890247c9b10d44af73229aec884f": { + "balance": "0x24dce54d34a1a00000" }, - "a35606d51220ee7f2146d411582ee4ee4a45596e": { - "balance": "3996800000000000000000" + "0xa35606d51220ee7f2146d411582ee4ee4a45596e": { + "balance": "0xd8aabe080bc9400000" }, - "352e77c861696ef96ad54934f894aa8ea35151dd": { - "balance": "1000000000000000000000" + "0x352e77c861696ef96ad54934f894aa8ea35151dd": { + "balance": "0x3635c9adc5dea00000" }, - "b87f5376c2de0b6cc3c179c06087aa473d6b4674": { - "balance": "1337000000000000000000" + "0xb87f5376c2de0b6cc3c179c06087aa473d6b4674": { + "balance": "0x487a9a304539440000" }, - "5b49afcd75447838f6e7ceda8d21777d4fc1c3c0": { - "balance": "4000000000000000000000" + "0x5b49afcd75447838f6e7ceda8d21777d4fc1c3c0": { + "balance": "0xd8d726b7177a800000" }, - "b884add88d83dc564ab8e0e02cbdb63919aea844": { - "balance": "2000000000000000000000" + "0xb884add88d83dc564ab8e0e02cbdb63919aea844": { + "balance": "0x6c6b935b8bbd400000" }, - "5c312a56c784b122099b764d059c21ece95e84ca": { - "balance": "95000000000000000000" + "0x5c312a56c784b122099b764d059c21ece95e84ca": { + "balance": "0x52663ccab1e1c0000" }, - "4697baaf9ccb603fd30430689d435445e9c98bf5": { - "balance": "199600000000000000000" + "0x4697baaf9ccb603fd30430689d435445e9c98bf5": { + "balance": "0xad201a6794ff80000" }, - "c625f8c98d27a09a1bcabd5128b1c2a94856af30": { - "balance": "200000000000000000000" + "0xc625f8c98d27a09a1bcabd5128b1c2a94856af30": { + "balance": "0xad78ebc5ac6200000" }, - "19f5caf4c40e6908813c0745b0aea9586d9dd931": { - "balance": "664000000000000000000" + "0x19f5caf4c40e6908813c0745b0aea9586d9dd931": { + "balance": "0x23fed9e1fa2b600000" }, - "1e596a81b357c6f24970cc313df6dbdaabd0d09e": { - "balance": "2000000000000000000000" + "0x1e596a81b357c6f24970cc313df6dbdaabd0d09e": { + "balance": "0x6c6b935b8bbd400000" }, - "c1631228efbf2a2e3a4092ee8900c639ed34fbc8": { - "balance": "955000000000000000000" + "0xc1631228efbf2a2e3a4092ee8900c639ed34fbc8": { + "balance": "0x33c5499031720c0000" }, - "6f6cf20649a9e973177ac67dbadee4ebe5c7bdda": { - "balance": "5080000000000000000000" + "0x6f6cf20649a9e973177ac67dbadee4ebe5c7bdda": { + "balance": "0x11363297d01a8600000" }, - "5fa7bfe043886127d4011d8356a47e947963aca8": { - "balance": "1820000000000000000000" + "0x5fa7bfe043886127d4011d8356a47e947963aca8": { + "balance": "0x62a992e53a0af00000" }, - "6af8e55969682c715f48ad4fc0fbb67eb59795a3": { - "balance": "2000000000000000000000" + "0x6af8e55969682c715f48ad4fc0fbb67eb59795a3": { + "balance": "0x6c6b935b8bbd400000" }, - "122f56122549d168a5c5e267f52662e5c5cce5c8": { - "balance": "185000000000000000000" + "0x122f56122549d168a5c5e267f52662e5c5cce5c8": { + "balance": "0xa076407d3f7440000" }, - "7713ab8037411c09ba687f6f9364f0d3239fac28": { - "balance": "10000000000000000000000" + "0x7713ab8037411c09ba687f6f9364f0d3239fac28": { + "balance": "0x21e19e0c9bab2400000" }, - "31ccc616b3118268e75d9ab8996c8858ebd7f3c3": { - "balance": "399924000000000000000" + "0x31ccc616b3118268e75d9ab8996c8858ebd7f3c3": { + "balance": "0x15ae0f771ca1520000" }, - "09c88f917e4d6ad473fa12e98ea3c4472a5ed6da": { - "balance": "10000000000000000000000" + "0x09c88f917e4d6ad473fa12e98ea3c4472a5ed6da": { + "balance": "0x21e19e0c9bab2400000" }, - "e796fd4e839b4c95d7510fb7c5c72b83c6c3e3c7": { - "balance": "512200000000000000000" + "0xe796fd4e839b4c95d7510fb7c5c72b83c6c3e3c7": { + "balance": "0x1bc433f23f83140000" }, - "a8285539869d88f8a961533755717d7eb65576ae": { - "balance": "200000000000000000000" + "0xa8285539869d88f8a961533755717d7eb65576ae": { + "balance": "0xad78ebc5ac6200000" }, - "d929c65d69d5bbaea59762662ef418bc21ad924a": { - "balance": "1000000000000000000000" + "0xd929c65d69d5bbaea59762662ef418bc21ad924a": { + "balance": "0x3635c9adc5dea00000" }, - "f7418aa0e713d248228776b2e7434222ae75e3a5": { - "balance": "2000000000000000000000" + "0xf7418aa0e713d248228776b2e7434222ae75e3a5": { + "balance": "0x6c6b935b8bbd400000" }, - "7f0b90a1fdd48f27b268feb38382e55ddb50ef0f": { - "balance": "940000000000000000000" + "0x7f0b90a1fdd48f27b268feb38382e55ddb50ef0f": { + "balance": "0x32f51edbaaa3300000" }, - "34a0431fff5ead927f3c69649616dc6e97945f6f": { - "balance": "400000000000000000000" + "0x34a0431fff5ead927f3c69649616dc6e97945f6f": { + "balance": "0x15af1d78b58c400000" }, - "1b3cb81e51011b549d78bf720b0d924ac763a7c2": { - "balance": "560000000000000000000000" + "0x1b3cb81e51011b549d78bf720b0d924ac763a7c2": { + "balance": "0x7695a92c20d6fe000000" }, - "155b3779bb6d56342e2fda817b5b2d81c7f41327": { - "balance": "50200000000000000000" + "0x155b3779bb6d56342e2fda817b5b2d81c7f41327": { + "balance": "0x2b8aa3a076c9c0000" }, - "ecd486fc196791b92cf612d348614f9156488b7e": { - "balance": "12000000000000000000000" + "0xecd486fc196791b92cf612d348614f9156488b7e": { + "balance": "0x28a857425466f800000" }, - "82a8cbbfdff02b2e38ae4bbfca15f1f0e83b1aea": { - "balance": "84999000000000000000" + "0x82a8cbbfdff02b2e38ae4bbfca15f1f0e83b1aea": { + "balance": "0x49b991c27ef6d8000" }, - "06b0c1e37f5a5ec4bbf50840548f9d3ac0288897": { - "balance": "4000098000000000000000" + "0x06b0c1e37f5a5ec4bbf50840548f9d3ac0288897": { + "balance": "0xd8d882e1928e7d0000" }, - "e6d49f86c228f47367a35e886caacb271e539429": { - "balance": "412656000000000000000" + "0xe6d49f86c228f47367a35e886caacb271e539429": { + "balance": "0x165ec09da7a1980000" }, - "704a6eb41ba34f13addde7d2db7df04915c7a221": { - "balance": "1820000000000000000000" + "0x704a6eb41ba34f13addde7d2db7df04915c7a221": { + "balance": "0x62a992e53a0af00000" }, - "745ccf2d819edbbddea8117b5c49ed3c2a066e93": { - "balance": "4000000000000000000000" + "0x745ccf2d819edbbddea8117b5c49ed3c2a066e93": { + "balance": "0xd8d726b7177a800000" }, - "6d3b7836a2b9d899721a4d237b522385dce8dfcd": { - "balance": "1000070000000000000000" + "0x6d3b7836a2b9d899721a4d237b522385dce8dfcd": { + "balance": "0x3636c25e66ece70000" }, - "856aa23c82d7215bec8d57f60ad75ef14fa35f44": { - "balance": "20000000000000000000000" + "0x856aa23c82d7215bec8d57f60ad75ef14fa35f44": { + "balance": "0x43c33c1937564800000" }, - "ea79057dabef5e64e7b44f7f18648e7e533718d2": { - "balance": "200000000000000000000" + "0xea79057dabef5e64e7b44f7f18648e7e533718d2": { + "balance": "0xad78ebc5ac6200000" }, - "9df057cd03a4e27e8e032f857985fd7f01adc8d7": { - "balance": "2000000000000000000000" + "0x9df057cd03a4e27e8e032f857985fd7f01adc8d7": { + "balance": "0x6c6b935b8bbd400000" }, - "5f2f07d2d697e8c567fcfdfe020f49f360be2139": { - "balance": "2000000000000000000000" + "0x5f2f07d2d697e8c567fcfdfe020f49f360be2139": { + "balance": "0x6c6b935b8bbd400000" }, - "5efbdfe5389999633c26605a5bfc2c1bb5959393": { - "balance": "69200000000000000000" + "0x5efbdfe5389999633c26605a5bfc2c1bb5959393": { + "balance": "0x3c057c95cd9080000" }, - "047e87c8f7d1fce3b01353a85862a948ac049f3e": { - "balance": "1490000000000000000000" + "0x047e87c8f7d1fce3b01353a85862a948ac049f3e": { + "balance": "0x50c5e761a444080000" }, - "265383d68b52d034161bfab01ae1b047942fbc32": { - "balance": "21000600000000000000000" + "0x265383d68b52d034161bfab01ae1b047942fbc32": { + "balance": "0x47271dee20d745c0000" }, - "760ff3354e0fde938d0fb5b82cef5ba15c3d2916": { - "balance": "10000000000000000000000" + "0x760ff3354e0fde938d0fb5b82cef5ba15c3d2916": { + "balance": "0x21e19e0c9bab2400000" }, - "bc46d537cf2edd403565bde733b2e34b215001bd": { - "balance": "20000000000000000000000" + "0xbc46d537cf2edd403565bde733b2e34b215001bd": { + "balance": "0x43c33c1937564800000" }, - "ee58fb3db29070d0130188ce472be0a172b89055": { - "balance": "10021400000000000000000" + "0xee58fb3db29070d0130188ce472be0a172b89055": { + "balance": "0x21f42dcdc58e39c0000" }, - "75abe5270f3a78ce007cf37f8fbc045d489b7bb1": { - "balance": "1999944000000000000000" + "0x75abe5270f3a78ce007cf37f8fbc045d489b7bb1": { + "balance": "0x6c6acc67d7b1d40000" }, - "5fc6c11426b4a1eae7e51dd512ad1090c6f1a85b": { - "balance": "2730000000000000000000" + "0x5fc6c11426b4a1eae7e51dd512ad1090c6f1a85b": { + "balance": "0x93fe5c57d710680000" }, - "26cfffd052152bb3f957b478d5f98b233a7c2b92": { - "balance": "4000000000000000000000" + "0x26cfffd052152bb3f957b478d5f98b233a7c2b92": { + "balance": "0xd8d726b7177a800000" }, - "0a4a011995c681bc999fdd79754e9a324ae3b379": { - "balance": "41350300000000000000000" + "0x0a4a011995c681bc999fdd79754e9a324ae3b379": { + "balance": "0x8c19ab06eb89af60000" }, - "6fa60df818a5446418b1bbd62826e0b9825e1318": { - "balance": "13200000000000000000000" + "0x6fa60df818a5446418b1bbd62826e0b9825e1318": { + "balance": "0x2cb92cc8f6714400000" }, - "63d55ad99b9137fd1b20cc2b4f03d42cbaddf334": { - "balance": "400000000000000000000" + "0x63d55ad99b9137fd1b20cc2b4f03d42cbaddf334": { + "balance": "0x15af1d78b58c400000" }, - "679b9a109930517e8999099ccf2a914c4c8dd934": { - "balance": "60000000000000000000" + "0x679b9a109930517e8999099ccf2a914c4c8dd934": { + "balance": "0x340aad21b3b700000" }, - "3e83544f0082552572c782bee5d218f1ef064a9d": { - "balance": "100076000000000000000" + "0x3e83544f0082552572c782bee5d218f1ef064a9d": { + "balance": "0x56cd55fc64dfe0000" }, - "968b14648f018333687cd213fa640aec04ce6323": { - "balance": "1000000000000000000000" + "0x968b14648f018333687cd213fa640aec04ce6323": { + "balance": "0x3635c9adc5dea00000" }, - "427b462ab84e5091f48a46eb0cdc92ddcb26e078": { - "balance": "2000000000000000000000" + "0x427b462ab84e5091f48a46eb0cdc92ddcb26e078": { + "balance": "0x6c6b935b8bbd400000" }, - "df8510793eee811c2dab1c93c6f4473f30fbef5b": { - "balance": "1000000000000000000000" + "0xdf8510793eee811c2dab1c93c6f4473f30fbef5b": { + "balance": "0x3635c9adc5dea00000" }, - "362fbcb10662370a068fc2652602a2577937cce6": { - "balance": "200000000000000000000" + "0x362fbcb10662370a068fc2652602a2577937cce6": { + "balance": "0xad78ebc5ac6200000" }, - "5d83b21bd2712360436b67a597ee3378db3e7ae4": { - "balance": "2000000000000000000000" + "0x5d83b21bd2712360436b67a597ee3378db3e7ae4": { + "balance": "0x6c6b935b8bbd400000" }, - "5777441c83e03f0be8dd340bde636850847c620b": { - "balance": "10000000000000000000000" + "0x5777441c83e03f0be8dd340bde636850847c620b": { + "balance": "0x21e19e0c9bab2400000" }, - "c94a585203da7bbafd93e15884e660d4b1ead854": { - "balance": "7000000000000000000000" + "0xc94a585203da7bbafd93e15884e660d4b1ead854": { + "balance": "0x17b7883c06916600000" }, - "35a08081799173e001cc5bd46a02406dc95d1787": { - "balance": "10000000000000000000000" + "0x35a08081799173e001cc5bd46a02406dc95d1787": { + "balance": "0x21e19e0c9bab2400000" }, - "21d13f0c4024e967d9470791b50f22de3afecf1b": { - "balance": "4452210000000000000000" + "0x21d13f0c4024e967d9470791b50f22de3afecf1b": { + "balance": "0xf15ad35e2e31e50000" }, - "fdfd6134c04a8ab7eb16f00643f8fed7daaaecb2": { - "balance": "400000000000000000000" + "0xfdfd6134c04a8ab7eb16f00643f8fed7daaaecb2": { + "balance": "0x15af1d78b58c400000" }, - "fd812bc69fb170ef57e2327e80affd14f8e4b6d2": { - "balance": "2000000000000000000000" + "0xfd812bc69fb170ef57e2327e80affd14f8e4b6d2": { + "balance": "0x6c6b935b8bbd400000" }, - "7148aef33261d8031fac3f7182ff35928daf54d9": { - "balance": "4100000000000000000000" + "0x7148aef33261d8031fac3f7182ff35928daf54d9": { + "balance": "0xde42ee1544dd900000" }, - "0b06390f2437b20ec4a3d3431b3279c6583e5ed7": { - "balance": "194000000000000000000" + "0x0b06390f2437b20ec4a3d3431b3279c6583e5ed7": { + "balance": "0xa844a7424d9c80000" }, - "4909b31998ead414b8fb0e846bd5cbde393935be": { - "balance": "4000000000000000000000" + "0x4909b31998ead414b8fb0e846bd5cbde393935be": { + "balance": "0xd8d726b7177a800000" }, - "b70dba9391682b4a364e77fe99256301a6c0bf1f": { - "balance": "200000000000000000000" + "0xb70dba9391682b4a364e77fe99256301a6c0bf1f": { + "balance": "0xad78ebc5ac6200000" }, - "6b83bae7b565244558555bcf4ba8da2011891c17": { - "balance": "2000000000000000000000" + "0x6b83bae7b565244558555bcf4ba8da2011891c17": { + "balance": "0x6c6b935b8bbd400000" }, - "70a03549aa6168e97e88a508330a5a0bea74711a": { - "balance": "1337000000000000000000" + "0x70a03549aa6168e97e88a508330a5a0bea74711a": { + "balance": "0x487a9a304539440000" }, - "0fc9a0e34145fbfdd2c9d2a499b617d7a02969b9": { - "balance": "180000000000000000000" + "0x0fc9a0e34145fbfdd2c9d2a499b617d7a02969b9": { + "balance": "0x9c2007651b2500000" }, - "2ddf40905769bcc426cb2c2938ffe077e1e89d98": { - "balance": "3000000000000000000000" + "0x2ddf40905769bcc426cb2c2938ffe077e1e89d98": { + "balance": "0xa2a15d09519be00000" }, - "794b51c39e53d9e762b0613b829a44b472f4fff3": { - "balance": "667965000000000000000" + "0x794b51c39e53d9e762b0613b829a44b472f4fff3": { + "balance": "0x2435e0647841cc8000" }, - "d062588171cf99bbeb58f126b870f9a3728d61ec": { - "balance": "4500000000000000000000" + "0xd062588171cf99bbeb58f126b870f9a3728d61ec": { + "balance": "0xf3f20b8dfa69d00000" }, - "8db185fe1b70a94a6a080e7e23a8bedc4acbf34b": { - "balance": "1400000000000000000000" + "0x8db185fe1b70a94a6a080e7e23a8bedc4acbf34b": { + "balance": "0x4be4e7267b6ae00000" }, - "e73bfeada6f0fd016fbc843ebcf6e370a65be70c": { - "balance": "1970000000000000000000" + "0xe73bfeada6f0fd016fbc843ebcf6e370a65be70c": { + "balance": "0x6acb3df27e1f880000" }, - "79ed10cf1f6db48206b50919b9b697081fbdaaf3": { - "balance": "2000000000000000000000" + "0x79ed10cf1f6db48206b50919b9b697081fbdaaf3": { + "balance": "0x6c6b935b8bbd400000" }, - "276b0521b0e68b277df0bb32f3fd48326350bfb2": { - "balance": "50000000000000000000" + "0x276b0521b0e68b277df0bb32f3fd48326350bfb2": { + "balance": "0x2b5e3af16b1880000" }, - "2e439348df8a4277b22a768457d1158e97c40904": { - "balance": "776970000000000000000" + "0x2e439348df8a4277b22a768457d1158e97c40904": { + "balance": "0x2a1e9ff26fbf410000" }, - "6c25327f8dcbb2f45e561e86e35d8850e53ab059": { - "balance": "1103200000000000000000" + "0x6c25327f8dcbb2f45e561e86e35d8850e53ab059": { + "balance": "0x3bcdf9bafef2f00000" }, - "04d73896cf6593a691972a13a6e4871ff2c42b13": { - "balance": "2000000000000000000000" + "0x04d73896cf6593a691972a13a6e4871ff2c42b13": { + "balance": "0x6c6b935b8bbd400000" }, - "b10fd2a647102f881f74c9fbc37da632949f2375": { - "balance": "40000000000000000000" + "0xb10fd2a647102f881f74c9fbc37da632949f2375": { + "balance": "0x22b1c8c1227a00000" }, - "615f82365c5101f071e7d2cb6af14f7aad2c16c6": { - "balance": "20000000000000000000" + "0x615f82365c5101f071e7d2cb6af14f7aad2c16c6": { + "balance": "0x1158e460913d00000" }, - "93aa8f92ebfff991fc055e906e651ac768d32bc8": { - "balance": "940000000000000000000" + "0x93aa8f92ebfff991fc055e906e651ac768d32bc8": { + "balance": "0x32f51edbaaa3300000" }, - "0cbf8770f0d1082e5c20c5aead34e5fca9ae7ae2": { - "balance": "1000000000000000000000" + "0x0cbf8770f0d1082e5c20c5aead34e5fca9ae7ae2": { + "balance": "0x3635c9adc5dea00000" }, - "ffc9cc3094b041ad0e076f968a0de3b167255866": { - "balance": "432400000000000000000" + "0xffc9cc3094b041ad0e076f968a0de3b167255866": { + "balance": "0x1770c1650beee80000" }, - "46531e8b1bde097fdf849d6d119885608a008df7": { - "balance": "200000000000000000000" + "0x46531e8b1bde097fdf849d6d119885608a008df7": { + "balance": "0xad78ebc5ac6200000" }, - "23cd2598a20e149ead2ad69379576ecedb60e38e": { - "balance": "2000000000000000000000" + "0x23cd2598a20e149ead2ad69379576ecedb60e38e": { + "balance": "0x6c6b935b8bbd400000" }, - "85ca8bc6da2803d0725f5e1a456c89f9bc774e2f": { - "balance": "600000000000000000000" + "0x85ca8bc6da2803d0725f5e1a456c89f9bc774e2f": { + "balance": "0x2086ac351052600000" }, - "c0725ec2bdc33a1d826071dea29d62d4385a8c25": { - "balance": "40740000000000000000000" + "0xc0725ec2bdc33a1d826071dea29d62d4385a8c25": { + "balance": "0x8a08513463aa6100000" }, - "0e4765790352656bc656682c24fc5ef3e76a23c7": { - "balance": "46610000000000000000" + "0x0e4765790352656bc656682c24fc5ef3e76a23c7": { + "balance": "0x286d7fc0cb4f50000" }, - "2ef9e465716acacfb8c8252fa8e7bc7969ebf6e4": { - "balance": "2760000000000000000000" + "0x2ef9e465716acacfb8c8252fa8e7bc7969ebf6e4": { + "balance": "0x959eb1c0e4ae200000" }, - "0ec5308b31282e218fc9e759d4fec5db3708cec4": { - "balance": "1001000000000000000000" + "0x0ec5308b31282e218fc9e759d4fec5db3708cec4": { + "balance": "0x3643aa647986040000" }, - "bf7701fc6225d5a17815438a8941d21ebc5d059d": { - "balance": "1880000000000000000000" + "0xbf7701fc6225d5a17815438a8941d21ebc5d059d": { + "balance": "0x65ea3db75546600000" }, - "c489c83ffbb0252ac0dbe3521217630e0f491f14": { - "balance": "4000000000000000000000" + "0xc489c83ffbb0252ac0dbe3521217630e0f491f14": { + "balance": "0xd8d726b7177a800000" }, - "8eb51774af206b966b8909c45aa6722748802c0c": { - "balance": "500000000000000000000" + "0x8eb51774af206b966b8909c45aa6722748802c0c": { + "balance": "0x1b1ae4d6e2ef500000" }, - "7b9226d46fe751940bc416a798b69ccf0dfab667": { - "balance": "4200000000000000000000" + "0x7b9226d46fe751940bc416a798b69ccf0dfab667": { + "balance": "0xe3aeb5737240a00000" }, - "8f660f8b2e4c7cc2b4ac9c47ed28508d5f8f8650": { - "balance": "20000000000000000000000" + "0x8f660f8b2e4c7cc2b4ac9c47ed28508d5f8f8650": { + "balance": "0x43c33c1937564800000" }, - "9f19fac8a32437d80ac6837a0bb7841729f4972e": { - "balance": "650100000000000000000" + "0x9f19fac8a32437d80ac6837a0bb7841729f4972e": { + "balance": "0x233df3299f61720000" }, - "201864a8f784c2277b0b7c9ee734f7b377eab648": { - "balance": "4467000000000000000000" + "0x201864a8f784c2277b0b7c9ee734f7b377eab648": { + "balance": "0xf2281400d1d5ec0000" }, - "a6101c961e8e1c15798ffcd0e3201d7786ec373a": { - "balance": "6000000000000000000000" + "0xa6101c961e8e1c15798ffcd0e3201d7786ec373a": { + "balance": "0x14542ba12a337c00000" }, - "d4ff46203efa23064b1caf00516e28704a82a4f8": { - "balance": "1337000000000000000000" + "0xd4ff46203efa23064b1caf00516e28704a82a4f8": { + "balance": "0x487a9a304539440000" }, - "aa136b47962bb8b4fb540db4ccf5fdd042ffb8cf": { - "balance": "500038000000000000000" + "0xaa136b47962bb8b4fb540db4ccf5fdd042ffb8cf": { + "balance": "0x1b1b6bd7af64c70000" }, - "704ae21d762d6e1dde28c235d13104597236db1a": { - "balance": "2000000000000000000000" + "0x704ae21d762d6e1dde28c235d13104597236db1a": { + "balance": "0x6c6b935b8bbd400000" }, - "f17a92e0361dbacecdc5de0d1894955af6a9b606": { - "balance": "2000000000000000000000" + "0xf17a92e0361dbacecdc5de0d1894955af6a9b606": { + "balance": "0x6c6b935b8bbd400000" }, - "8b48e19d39dd35b66e6e1bb6b9c657cb2cf59d04": { - "balance": "17844175000000000000000" + "0x8b48e19d39dd35b66e6e1bb6b9c657cb2cf59d04": { + "balance": "0x3c755ac9c024a018000" }, - "9ad47fdcf9cd942d28effd5b84115b31a658a13e": { - "balance": "3290000000000000000000" + "0x9ad47fdcf9cd942d28effd5b84115b31a658a13e": { + "balance": "0xb259ec00d53b280000" }, - "df0d08617bd252a911df8bd41a39b83ddf809673": { - "balance": "10000000000000000000000" + "0xdf0d08617bd252a911df8bd41a39b83ddf809673": { + "balance": "0x21e19e0c9bab2400000" }, - "4c666b86f1c5ee8ca41285f5bde4f79052081406": { - "balance": "500000000000000000000" + "0x4c666b86f1c5ee8ca41285f5bde4f79052081406": { + "balance": "0x1b1ae4d6e2ef500000" }, - "88dec5bd3f4eba2d18b8aacefa7b721548c319ba": { - "balance": "1370000000000000000000" + "0x88dec5bd3f4eba2d18b8aacefa7b721548c319ba": { + "balance": "0x4a4491bd6dcd280000" }, - "9f9fe0c95f10fee87af1af207236c8f3614ef02f": { - "balance": "6000000000000000000000" + "0x9f9fe0c95f10fee87af1af207236c8f3614ef02f": { + "balance": "0x14542ba12a337c00000" }, - "f7d0d310acea18406138baaabbfe0571e80de85f": { - "balance": "1337000000000000000000" + "0xf7d0d310acea18406138baaabbfe0571e80de85f": { + "balance": "0x487a9a304539440000" }, - "9569c63a9284a805626db3a32e9d236393476151": { - "balance": "1970000000000000000000" + "0x9569c63a9284a805626db3a32e9d236393476151": { + "balance": "0x6acb3df27e1f880000" }, - "5d5c2c1099bbeefb267e74b58880b444d94449e0": { - "balance": "253574000000000000000" + "0x5d5c2c1099bbeefb267e74b58880b444d94449e0": { + "balance": "0xdbf0bd181e2e70000" }, - "8c6ae7a05a1de57582ae2768204276c0ff47ed03": { - "balance": "208000000000000000000000" + "0x8c6ae7a05a1de57582ae2768204276c0ff47ed03": { + "balance": "0x2c0bb3dd30c4e2000000" }, - "432d884bd69db1acc0d89c64ade4cb4fc3a88b7a": { - "balance": "2483000000000000000000" + "0x432d884bd69db1acc0d89c64ade4cb4fc3a88b7a": { + "balance": "0x869a8c10808eec0000" }, - "672cbca8440a8577097b19aff593a2ad9d28a756": { - "balance": "80000000000000000000" + "0x672cbca8440a8577097b19aff593a2ad9d28a756": { + "balance": "0x4563918244f400000" }, - "19df9445a81c1b3d804aeaeb6f6e204e4236663f": { - "balance": "37387000000000000000" + "0x19df9445a81c1b3d804aeaeb6f6e204e4236663f": { + "balance": "0x206d94e6a49878000" }, - "1cb5f33b4d488936d13e3161da33a1da7df70d1b": { - "balance": "200000000000000000000" + "0x1cb5f33b4d488936d13e3161da33a1da7df70d1b": { + "balance": "0xad78ebc5ac6200000" }, - "df60f18c812a11ed4e2776e7a80ecf5e5305b3d6": { - "balance": "900000000000000000000" + "0xdf60f18c812a11ed4e2776e7a80ecf5e5305b3d6": { + "balance": "0x30ca024f987b900000" }, - "c99a9cd6c9c1be3534eecd92ecc22f5c38e9515b": { - "balance": "4821030000000000000000" + "0xc99a9cd6c9c1be3534eecd92ecc22f5c38e9515b": { + "balance": "0x105593b3a169d770000" }, - "00c40fe2095423509b9fd9b754323158af2310f3": { - "balance": "0" + "0x00c40fe2095423509b9fd9b754323158af2310f3": { + "balance": "0x0" }, - "da4a5f557f3bab390a92f49b9b900af30c46ae80": { - "balance": "10000000000000000000000" + "0xda4a5f557f3bab390a92f49b9b900af30c46ae80": { + "balance": "0x21e19e0c9bab2400000" }, - "f36df02fbd89607347afce2969b9c4236a58a506": { - "balance": "2000000000000000000000" + "0xf36df02fbd89607347afce2969b9c4236a58a506": { + "balance": "0x6c6b935b8bbd400000" }, - "c549df83c6f65eec0f1dc9a0934a5c5f3a50fd88": { - "balance": "2910000000000000000000" + "0xc549df83c6f65eec0f1dc9a0934a5c5f3a50fd88": { + "balance": "0x9dc05cce28c2b80000" }, - "9f662e95274121f177566e636d23964cf1fd686f": { - "balance": "2000000000000000000000" + "0x9f662e95274121f177566e636d23964cf1fd686f": { + "balance": "0x6c6b935b8bbd400000" }, - "5a267331facb262daaecd9dd63a9700c5f5259df": { - "balance": "100000000000000000000" + "0x5a267331facb262daaecd9dd63a9700c5f5259df": { + "balance": "0x56bc75e2d63100000" }, - "117d9aa3c4d13bee12c7500f09f5dd1c66c46504": { - "balance": "206000000000000000000" + "0x117d9aa3c4d13bee12c7500f09f5dd1c66c46504": { + "balance": "0xb2ad30490b2780000" }, - "1b4d07acd38183a61bb2783d2b7b178dd502ac8d": { - "balance": "200000000000000000000" + "0x1b4d07acd38183a61bb2783d2b7b178dd502ac8d": { + "balance": "0xad78ebc5ac6200000" }, - "3c0c3defac9cea7acc319a96c30b8e1fedab4574": { - "balance": "1940000000000000000000" + "0x3c0c3defac9cea7acc319a96c30b8e1fedab4574": { + "balance": "0x692ae8897081d00000" }, - "e4dc22ed595bf0a337c01e03cc6be744255fc9e8": { - "balance": "191000000000000000000" + "0xe4dc22ed595bf0a337c01e03cc6be744255fc9e8": { + "balance": "0xa5aa85009e39c0000" }, - "8f067c7c1bbd57780b7b9eeb9ec0032f90d0dcf9": { - "balance": "20000000000000000000000" + "0x8f067c7c1bbd57780b7b9eeb9ec0032f90d0dcf9": { + "balance": "0x43c33c1937564800000" }, - "40e2440ae142c880366a12c6d4102f4b8434b62a": { - "balance": "1000000000000000000000" + "0x40e2440ae142c880366a12c6d4102f4b8434b62a": { + "balance": "0x3635c9adc5dea00000" }, - "f9ece022bccd2c92346911e79dd50303c01e0188": { - "balance": "1000000000000000000000" + "0xf9ece022bccd2c92346911e79dd50303c01e0188": { + "balance": "0x3635c9adc5dea00000" }, - "f70328ef97625fe745faa49ee0f9d4aa3b0dfb69": { - "balance": "1000000000000000000000" + "0xf70328ef97625fe745faa49ee0f9d4aa3b0dfb69": { + "balance": "0x3635c9adc5dea00000" }, - "b6aacb8cb30bab2ae4a2424626e6e12b02d04605": { - "balance": "8000000000000000000000" + "0xb6aacb8cb30bab2ae4a2424626e6e12b02d04605": { + "balance": "0x1b1ae4d6e2ef5000000" }, - "154459fa2f21318e3434449789d826cdc1570ce5": { - "balance": "2000000000000000000000" + "0x154459fa2f21318e3434449789d826cdc1570ce5": { + "balance": "0x6c6b935b8bbd400000" }, - "684a44c069339d08e19a75668bdba303be855332": { - "balance": "70000000000000000000000" + "0x684a44c069339d08e19a75668bdba303be855332": { + "balance": "0xed2b525841adfc00000" }, - "9fe501aa57ead79278937cd6308c5cfa7a5629fe": { - "balance": "50003000000000000000" + "0x9fe501aa57ead79278937cd6308c5cfa7a5629fe": { + "balance": "0x2b5ee57929fdb8000" }, - "3e45bd55db9060eced923bb9cb733cb3573fb531": { - "balance": "1640000000000000000000" + "0x3e45bd55db9060eced923bb9cb733cb3573fb531": { + "balance": "0x58e7926ee858a00000" }, - "9c9f3b8a811b21f3ff3fe20fe970051ce66a824f": { - "balance": "1157740000000000000000" + "0x9c9f3b8a811b21f3ff3fe20fe970051ce66a824f": { + "balance": "0x3ec2debc07d4be0000" }, - "e99aece90541cae224b87da673965e0aeb296afd": { - "balance": "920000000000000000000" + "0xe99aece90541cae224b87da673965e0aeb296afd": { + "balance": "0x31df9095a18f600000" }, - "2f6dce1330c59ef921602154572d4d4bacbd048a": { - "balance": "1000000000000000000000" + "0x2f6dce1330c59ef921602154572d4d4bacbd048a": { + "balance": "0x3635c9adc5dea00000" }, - "6a6353b971589f18f2955cba28abe8acce6a5761": { - "balance": "3000000000000000000000" + "0x6a6353b971589f18f2955cba28abe8acce6a5761": { + "balance": "0xa2a15d09519be00000" }, - "98c10ebf2c4f97cba5a1ab3f2aafe1cac423f8cb": { - "balance": "300000000000000000000" + "0x98c10ebf2c4f97cba5a1ab3f2aafe1cac423f8cb": { + "balance": "0x1043561a8829300000" }, - "8077c3e4c445586e094ce102937fa05b737b568c": { - "balance": "100000000000000000000" + "0x8077c3e4c445586e094ce102937fa05b737b568c": { + "balance": "0x56bc75e2d63100000" }, - "13371f92a56ea8381e43059a95128bdc4d43c5a6": { - "balance": "1000000000000000000000" + "0x13371f92a56ea8381e43059a95128bdc4d43c5a6": { + "balance": "0x3635c9adc5dea00000" }, - "35a6885083c899dabbf530ed6c12f4dd3a204cf5": { - "balance": "200000000000000000000" + "0x35a6885083c899dabbf530ed6c12f4dd3a204cf5": { + "balance": "0xad78ebc5ac6200000" }, - "36b2c85e3aeeebb70d63c4a4730ce2e8e88a3624": { - "balance": "10000000000000000000000" + "0x36b2c85e3aeeebb70d63c4a4730ce2e8e88a3624": { + "balance": "0x21e19e0c9bab2400000" }, - "5ce44068b8f4a3fe799e6a8311dbfdeda29dee0e": { - "balance": "2000000000000000000000" + "0x5ce44068b8f4a3fe799e6a8311dbfdeda29dee0e": { + "balance": "0x6c6b935b8bbd400000" }, - "6fa6388d402b30afe59934c3b9e13d1186476018": { - "balance": "670000000000000000000" + "0x6fa6388d402b30afe59934c3b9e13d1186476018": { + "balance": "0x24521e2a3017b80000" }, - "8251358ca4e060ddb559ca58bc0bddbeb4070203": { - "balance": "2000000000000000000000" + "0x8251358ca4e060ddb559ca58bc0bddbeb4070203": { + "balance": "0x6c6b935b8bbd400000" }, - "17e86f3b5b30c0ba59f2b2e858425ba89f0a10b0": { - "balance": "2000000000000000000000" + "0x17e86f3b5b30c0ba59f2b2e858425ba89f0a10b0": { + "balance": "0x6c6b935b8bbd400000" }, - "298ec76b440d8807b3f78b5f90979bee42ed43db": { - "balance": "30000000000000000000000" + "0x298ec76b440d8807b3f78b5f90979bee42ed43db": { + "balance": "0x65a4da25d3016c00000" }, - "ce4b065dbcb23047203262fb48c1188364977470": { - "balance": "500000000000000000000" + "0xce4b065dbcb23047203262fb48c1188364977470": { + "balance": "0x1b1ae4d6e2ef500000" }, - "c8e2adeb545e499d982c0c117363ceb489c5b11f": { - "balance": "985000000000000000000" + "0xc8e2adeb545e499d982c0c117363ceb489c5b11f": { + "balance": "0x35659ef93f0fc40000" }, - "9928ff715afc3a2b60f8eb4cc4ba4ee8dab6e59d": { - "balance": "440000000000000000000" + "0x9928ff715afc3a2b60f8eb4cc4ba4ee8dab6e59d": { + "balance": "0x17da3a04c7b3e00000" }, - "c76130c73cb9210238025c9df95d0be54ac67fbe": { - "balance": "1500000000000000000000" + "0xc76130c73cb9210238025c9df95d0be54ac67fbe": { + "balance": "0x5150ae84a8cdf00000" }, - "72d03d4dfab3500cf89b86866f15d4528e14a195": { - "balance": "4488000000000000000000" + "0x72d03d4dfab3500cf89b86866f15d4528e14a195": { + "balance": "0xf34b82fd8e91200000" }, - "d193e583d6070563e7b862b9614a47e99489f3e5": { - "balance": "999972000000000000000" + "0xd193e583d6070563e7b862b9614a47e99489f3e5": { + "balance": "0x36356633ebd8ea0000" }, - "4df140ba796585dd5489315bca4bba680adbb818": { - "balance": "2674000000000000000000" + "0x4df140ba796585dd5489315bca4bba680adbb818": { + "balance": "0x90f534608a72880000" }, - "009eef0a0886056e3f69211853b9b7457f3782e4": { - "balance": "3000512000000000000000" + "0x009eef0a0886056e3f69211853b9b7457f3782e4": { + "balance": "0xa2a878069b28e00000" }, - "6e255b700ae7138a4bacf22888a9e2c00a285eec": { - "balance": "4000000000000000000000" + "0x6e255b700ae7138a4bacf22888a9e2c00a285eec": { + "balance": "0xd8d726b7177a800000" }, - "aa47a4ffc979363232c99b99fada0f2734b0aeee": { - "balance": "8121800000000000000000" + "0xaa47a4ffc979363232c99b99fada0f2734b0aeee": { + "balance": "0x1b8489df4dbff940000" }, - "9d069197d1de50045a186f5ec744ac40e8af91c6": { - "balance": "2000000000000000000000" + "0x9d069197d1de50045a186f5ec744ac40e8af91c6": { + "balance": "0x6c6b935b8bbd400000" }, - "b514882c979bb642a80dd38754d5b8c8296d9a07": { - "balance": "955000000000000000000" + "0xb514882c979bb642a80dd38754d5b8c8296d9a07": { + "balance": "0x33c5499031720c0000" }, - "17c0478657e1d3d17aaa331dd429cecf91f8ae5d": { - "balance": "999942000000000000000" + "0x17c0478657e1d3d17aaa331dd429cecf91f8ae5d": { + "balance": "0x3634fb9f1489a70000" }, - "5f9616c47b4a67f406b95a14fe6fc268396f1721": { - "balance": "200000000000000000000" + "0x5f9616c47b4a67f406b95a14fe6fc268396f1721": { + "balance": "0xad78ebc5ac6200000" }, - "f70a998a717b338d1dd99854409b1a338deea4b0": { - "balance": "2000000000000000000000" + "0xf70a998a717b338d1dd99854409b1a338deea4b0": { + "balance": "0x6c6b935b8bbd400000" }, - "d1ee905957fe7cc70ec8f2868b43fe47b13febff": { - "balance": "44000000000000000000" + "0xd1ee905957fe7cc70ec8f2868b43fe47b13febff": { + "balance": "0x2629f66e0c5300000" }, - "fc018a690ad6746dbe3acf9712ddca52b6250039": { - "balance": "10000000000000000000000" + "0xfc018a690ad6746dbe3acf9712ddca52b6250039": { + "balance": "0x21e19e0c9bab2400000" }, - "5118557d600d05c2fcbf3806ffbd93d02025d730": { - "balance": "11360000000000000000000" + "0x5118557d600d05c2fcbf3806ffbd93d02025d730": { + "balance": "0x267d3ab6423f5800000" }, - "1ef5c9c73650cfbbde5c885531d427c7c3fe5544": { - "balance": "6000000000000000000000" + "0x1ef5c9c73650cfbbde5c885531d427c7c3fe5544": { + "balance": "0x14542ba12a337c00000" }, - "d1a396dcdab2c7494130b3fd307820340dfd8c1f": { - "balance": "17952000000000000000" + "0xd1a396dcdab2c7494130b3fd307820340dfd8c1f": { + "balance": "0xf92250e2dfd00000" }, - "2d8e061892a5dcce21966ae1bb0788fd3e8ba059": { - "balance": "250066000000000000000" + "0x2d8e061892a5dcce21966ae1bb0788fd3e8ba059": { + "balance": "0xd8e5ce617f2d50000" }, - "8834b2453471f324fb26be5b25166b5b5726025d": { - "balance": "573000000000000000000" + "0x8834b2453471f324fb26be5b25166b5b5726025d": { + "balance": "0x1f0ff8f01daad40000" }, - "14f221159518783bc4a706676fc4f3c5ee405829": { - "balance": "200000000000000000000" + "0x14f221159518783bc4a706676fc4f3c5ee405829": { + "balance": "0xad78ebc5ac6200000" }, - "c056d4bd6bf3cbacac65f8f5a0e3980b852740ae": { - "balance": "100000000000000000000" + "0xc056d4bd6bf3cbacac65f8f5a0e3980b852740ae": { + "balance": "0x56bc75e2d63100000" }, - "560536794a9e2b0049d10233c41adc5f418a264a": { - "balance": "1000000000000000000000" + "0x560536794a9e2b0049d10233c41adc5f418a264a": { + "balance": "0x3635c9adc5dea00000" }, - "bc9e0ec6788f7df4c7fc210aacd220c27e45c910": { - "balance": "500000000000000000000" + "0xbc9e0ec6788f7df4c7fc210aacd220c27e45c910": { + "balance": "0x1b1ae4d6e2ef500000" }, - "54bcb8e7f73cda3d73f4d38b2d0847e600ba0df8": { - "balance": "1078000000000000000000" + "0x54bcb8e7f73cda3d73f4d38b2d0847e600ba0df8": { + "balance": "0x3a70415882df180000" }, - "4361d4846fafb377b6c0ee49a596a78ddf3516a3": { - "balance": "3580000000000000000000" + "0x4361d4846fafb377b6c0ee49a596a78ddf3516a3": { + "balance": "0xc2127af858da700000" }, - "41c3c2367534d13ba2b33f185cdbe6ac43c2fa31": { - "balance": "4000000000000000000000" + "0x41c3c2367534d13ba2b33f185cdbe6ac43c2fa31": { + "balance": "0xd8d726b7177a800000" }, - "5dc6f45fef26b06e3302313f884daf48e2746fb9": { - "balance": "500000000000000000000" + "0x5dc6f45fef26b06e3302313f884daf48e2746fb9": { + "balance": "0x1b1ae4d6e2ef500000" }, - "ad414d29cb7ee973fec54e22a388491786cf5402": { - "balance": "14000000000000000000000" + "0xad414d29cb7ee973fec54e22a388491786cf5402": { + "balance": "0x2f6f10780d22cc00000" }, - "802dc3c4ff2d7d925ee2859f4a06d7ba60f1308c": { - "balance": "98040000000000000000" + "0x802dc3c4ff2d7d925ee2859f4a06d7ba60f1308c": { + "balance": "0x550940c8fd34c0000" }, - "2aed2ce531c056b0097efc3c6de10c4762004ed9": { - "balance": "10430000000000000000000" + "0x2aed2ce531c056b0097efc3c6de10c4762004ed9": { + "balance": "0x2356953ab7ddc380000" }, - "39782ffe06ac78822a3c3a8afe305e50a56188ce": { - "balance": "10000000000000000000000" + "0x39782ffe06ac78822a3c3a8afe305e50a56188ce": { + "balance": "0x21e19e0c9bab2400000" }, - "ec73833de4b810bb027810fc8f69f544e83c12d1": { - "balance": "1000000000000000000000" + "0xec73833de4b810bb027810fc8f69f544e83c12d1": { + "balance": "0x3635c9adc5dea00000" }, - "8d51a4cc62011322c696fd725b9fb8f53feaaa07": { - "balance": "1000000000000000000000" + "0x8d51a4cc62011322c696fd725b9fb8f53feaaa07": { + "balance": "0x3635c9adc5dea00000" }, - "29298ccbdff689f87fe41aa6e98fdfb53deaf37a": { - "balance": "19800000000000000000000" + "0x29298ccbdff689f87fe41aa6e98fdfb53deaf37a": { + "balance": "0x4315c32d71a9e600000" }, - "827531a6c5817ae35f82b00b9754fcf74c55e232": { - "balance": "3600000000000000000000" + "0x827531a6c5817ae35f82b00b9754fcf74c55e232": { + "balance": "0xc328093e61ee400000" }, - "9c581a60b61028d934167929b22d70b313c34fd0": { - "balance": "50000000000000000000000" + "0x9c581a60b61028d934167929b22d70b313c34fd0": { + "balance": "0xa968163f0a57b400000" }, - "0a077db13ffeb09484c217709d5886b8bf9c5a8b": { - "balance": "4000000000000000000000" + "0x0a077db13ffeb09484c217709d5886b8bf9c5a8b": { + "balance": "0xd8d726b7177a800000" }, - "07b7a57033f8f11330e4665e185d234e83ec140b": { - "balance": "4325683000000000000000" + "0x07b7a57033f8f11330e4665e185d234e83ec140b": { + "balance": "0xea7ee92a0c9a0b8000" }, - "17f523f117bc9fe978aa481eb4f5561711371bc8": { - "balance": "1999884000000000000000" + "0x17f523f117bc9fe978aa481eb4f5561711371bc8": { + "balance": "0x6c69f73e29134e0000" }, - "de42fcd24ce4239383304367595f068f0c610740": { - "balance": "45120000000000000000" + "0xde42fcd24ce4239383304367595f068f0c610740": { + "balance": "0x2722a70f1a9a00000" }, - "2a46d353777176ff8e83ffa8001f4f70f9733aa5": { - "balance": "106000000000000000000" + "0x2a46d353777176ff8e83ffa8001f4f70f9733aa5": { + "balance": "0x5bf0ba6634f680000" }, - "92e4392816e5f2ef5fb65837cec2c2325cc64922": { - "balance": "10000000000000000000000" + "0x92e4392816e5f2ef5fb65837cec2c2325cc64922": { + "balance": "0x21e19e0c9bab2400000" }, - "9a3da65023a13020d22145cfc18bab10bd19ce4e": { - "balance": "456516000000000000000" + "0x9a3da65023a13020d22145cfc18bab10bd19ce4e": { + "balance": "0x18bf6ea3464a3a0000" }, - "1a085d43ec92414ea27b914fe767b6d46b1eef44": { - "balance": "29550000000000000000000" + "0x1a085d43ec92414ea27b914fe767b6d46b1eef44": { + "balance": "0x641e8a13563d8f80000" }, - "3b2367f8494b5fe18d683c055d89999c9f3d1b34": { - "balance": "10000000000000000000000" + "0x3b2367f8494b5fe18d683c055d89999c9f3d1b34": { + "balance": "0x21e19e0c9bab2400000" }, - "84244fc95a6957ed7c1504e49f30b8c35eca4b79": { - "balance": "2000000000000000000000" + "0x84244fc95a6957ed7c1504e49f30b8c35eca4b79": { + "balance": "0x6c6b935b8bbd400000" }, - "5e031b0a724471d476f3bcd2eb078338bf67fbef": { - "balance": "18200000000000000000" + "0x5e031b0a724471d476f3bcd2eb078338bf67fbef": { + "balance": "0xfc936392801c0000" }, - "97e5cc6127c4f885be02f44b42d1c8b0ac91e493": { - "balance": "200000000000000000000" + "0x97e5cc6127c4f885be02f44b42d1c8b0ac91e493": { + "balance": "0xad78ebc5ac6200000" }, - "eb1cea7b45d1bd4d0e2a007bd3bfb354759e2c16": { - "balance": "198000000000000000000" + "0xeb1cea7b45d1bd4d0e2a007bd3bfb354759e2c16": { + "balance": "0xabbcd4ef377580000" }, - "72feaf124579523954645b7fafff0378d1c8242e": { - "balance": "1000000000000000000000" + "0x72feaf124579523954645b7fafff0378d1c8242e": { + "balance": "0x3635c9adc5dea00000" }, - "8d07d42d831c2d7c838aa1872b3ad5d277176823": { - "balance": "349200000000000000000" + "0x8d07d42d831c2d7c838aa1872b3ad5d277176823": { + "balance": "0x12ee1f9ddbee680000" }, - "9637dc12723d9c78588542eab082664f3f038d9d": { - "balance": "1000000000000000000000" + "0x9637dc12723d9c78588542eab082664f3f038d9d": { + "balance": "0x3635c9adc5dea00000" }, - "e84b55b525f1039e744b918cb3332492e45eca7a": { - "balance": "200000000000000000000" + "0xe84b55b525f1039e744b918cb3332492e45eca7a": { + "balance": "0xad78ebc5ac6200000" }, - "b1d6b01b94d854fe8b374aa65e895cf22aa2560e": { - "balance": "940000000000000000000" + "0xb1d6b01b94d854fe8b374aa65e895cf22aa2560e": { + "balance": "0x32f51edbaaa3300000" }, - "8161d940c3760100b9080529f8a60325030f6edc": { - "balance": "300000000000000000000" + "0x8161d940c3760100b9080529f8a60325030f6edc": { + "balance": "0x1043561a8829300000" }, - "d30ee9a12b4d68abace6baca9ad7bf5cd1faf91c": { - "balance": "1499936000000000000000" + "0xd30ee9a12b4d68abace6baca9ad7bf5cd1faf91c": { + "balance": "0x514fcb24ff9c500000" }, - "057949e1ca0570469e4ce3c690ae613a6b01c559": { - "balance": "200000000000000000000" + "0x057949e1ca0570469e4ce3c690ae613a6b01c559": { + "balance": "0xad78ebc5ac6200000" }, - "4bf8e26f4c2790da6533a2ac9abac3c69a199433": { - "balance": "200000000000000000000" + "0x4bf8e26f4c2790da6533a2ac9abac3c69a199433": { + "balance": "0xad78ebc5ac6200000" }, - "36fec62c2c425e219b18448ad757009d8c54026f": { - "balance": "400000000000000000000" + "0x36fec62c2c425e219b18448ad757009d8c54026f": { + "balance": "0x15af1d78b58c400000" }, - "77bfe93ccda750847e41a1affee6b2da96e7214e": { - "balance": "300000000000000000000" + "0x77bfe93ccda750847e41a1affee6b2da96e7214e": { + "balance": "0x1043561a8829300000" }, - "cc48414d2ac4d42a5962f29eee4497092f431352": { - "balance": "161000000000000000000" + "0xcc48414d2ac4d42a5962f29eee4497092f431352": { + "balance": "0x8ba52e6fc45e40000" }, - "ddbddd1bbd38ffade0305d30f02028d92e9f3aa8": { - "balance": "2000000000000000000000" + "0xddbddd1bbd38ffade0305d30f02028d92e9f3aa8": { + "balance": "0x6c6b935b8bbd400000" }, - "30c01142907acb1565f70438b9980ae731818738": { - "balance": "2000000000000000000000" + "0x30c01142907acb1565f70438b9980ae731818738": { + "balance": "0x6c6b935b8bbd400000" }, - "cffc49c1787eebb2b56cabe92404b636147d4558": { - "balance": "5679305000000000000000" + "0xcffc49c1787eebb2b56cabe92404b636147d4558": { + "balance": "0x133e0308f40a3da8000" }, - "f99eeece39fa7ef5076d855061384009792cf2e0": { - "balance": "500000000000000000000" + "0xf99eeece39fa7ef5076d855061384009792cf2e0": { + "balance": "0x1b1ae4d6e2ef500000" }, - "e9b6a790009bc16642c8d820b7cde0e9fd16d8f5": { - "balance": "3640000000000000000000" + "0xe9b6a790009bc16642c8d820b7cde0e9fd16d8f5": { + "balance": "0xc55325ca7415e00000" }, - "03b41b51f41df20dd279bae18c12775f77ad771c": { - "balance": "1000000000000000000000" + "0x03b41b51f41df20dd279bae18c12775f77ad771c": { + "balance": "0x3635c9adc5dea00000" }, - "787d313fd36b053eeeaedbce74b9fb0678333289": { - "balance": "27160000000000000000000" + "0x787d313fd36b053eeeaedbce74b9fb0678333289": { + "balance": "0x5c058b7842719600000" }, - "35d2970f49dcc81ea9ee707e9c8a0ab2a8bb7463": { - "balance": "1440000000000000000000" + "0x35d2970f49dcc81ea9ee707e9c8a0ab2a8bb7463": { + "balance": "0x4e1003b28d92800000" }, - "4c0aca508b3caf5ee028bc707dd1e800b838f453": { - "balance": "18200000000000000000" + "0x4c0aca508b3caf5ee028bc707dd1e800b838f453": { + "balance": "0xfc936392801c0000" }, - "514632efbd642c04de6ca342315d40dd90a2dba6": { - "balance": "2674000000000000000000" + "0x514632efbd642c04de6ca342315d40dd90a2dba6": { + "balance": "0x90f534608a72880000" }, - "36810ff9d213a271eda2b8aa798be654fa4bbe06": { - "balance": "2000000000000000000000" + "0x36810ff9d213a271eda2b8aa798be654fa4bbe06": { + "balance": "0x6c6b935b8bbd400000" }, - "0c088006c64b30c4ddafbc36cb5f05469eb62834": { - "balance": "2000000000000000000000" + "0x0c088006c64b30c4ddafbc36cb5f05469eb62834": { + "balance": "0x6c6b935b8bbd400000" }, - "568df31856699bb5acfc1fe1d680df9960ca4359": { - "balance": "1379999000000000000000" + "0x568df31856699bb5acfc1fe1d680df9960ca4359": { + "balance": "0x4acf5552f3b2498000" }, - "d48e3f9357e303513841b3f84bda83fc89727587": { - "balance": "1000000000000000000000" + "0xd48e3f9357e303513841b3f84bda83fc89727587": { + "balance": "0x3635c9adc5dea00000" }, - "953ef652e7b769f53d6e786a58952fa93ee6abe7": { - "balance": "2860000000000000000000" + "0x953ef652e7b769f53d6e786a58952fa93ee6abe7": { + "balance": "0x9b0a791f1211300000" }, - "7c60a05f7a4a5f8cf2784391362e755a8341ef59": { - "balance": "1892300000000000000000" + "0x7c60a05f7a4a5f8cf2784391362e755a8341ef59": { + "balance": "0x6694f0182a37ae0000" }, - "7a6b26f438d9a352449155b8876cbd17c9d99b64": { - "balance": "6000000000000000000000" + "0x7a6b26f438d9a352449155b8876cbd17c9d99b64": { + "balance": "0x14542ba12a337c00000" }, - "68f719ae342bd7fef18a05cbb02f705ad38ed5b2": { - "balance": "1050000000000000000000" + "0x68f719ae342bd7fef18a05cbb02f705ad38ed5b2": { + "balance": "0x38ebad5cdc90280000" }, - "45ca8d956608f9e00a2f9974028640888465668f": { - "balance": "2000000000000000000000" + "0x45ca8d956608f9e00a2f9974028640888465668f": { + "balance": "0x6c6b935b8bbd400000" }, - "3eaf316b87615d88f7adc77c58e712ed4d77966b": { - "balance": "100141000000000000000" + "0x3eaf316b87615d88f7adc77c58e712ed4d77966b": { + "balance": "0x56dbc4cee24648000" }, - "1f0412bfedcd964e837d092c71a5fcbaf30126e2": { - "balance": "20000000000000000000" + "0x1f0412bfedcd964e837d092c71a5fcbaf30126e2": { + "balance": "0x1158e460913d00000" }, - "7471f72eeb300624eb282eab4d03723c649b1b58": { - "balance": "8000000000000000000000" + "0x7471f72eeb300624eb282eab4d03723c649b1b58": { + "balance": "0x1b1ae4d6e2ef5000000" }, - "9bf71f7fb537ac54f4e514947fa7ff6728f16d2f": { - "balance": "33400000000000000000" + "0x9bf71f7fb537ac54f4e514947fa7ff6728f16d2f": { + "balance": "0x1cf84a30a0a0c0000" }, - "1098c774c20ca1daac5ddb620365316d353f109c": { - "balance": "100000000000000000000" + "0x1098c774c20ca1daac5ddb620365316d353f109c": { + "balance": "0x56bc75e2d63100000" }, - "7dd8d7a1a34fa1f8e73ccb005fc2a03a15b8229c": { - "balance": "200000000000000000000" + "0x7dd8d7a1a34fa1f8e73ccb005fc2a03a15b8229c": { + "balance": "0xad78ebc5ac6200000" }, - "0151fa5d17a2dce2d7f1eb39ef7fe2ad213d5d89": { - "balance": "4000000000000000000000" + "0x0151fa5d17a2dce2d7f1eb39ef7fe2ad213d5d89": { + "balance": "0xd8d726b7177a800000" }, - "ad6628352ed3390bafa86d923e56014cfcb360f4": { - "balance": "2000000000000000000000" + "0xad6628352ed3390bafa86d923e56014cfcb360f4": { + "balance": "0x6c6b935b8bbd400000" }, - "02af2459a93d0b3f4d062636236cd4b29e3bcecf": { - "balance": "1910000000000000000000" + "0x02af2459a93d0b3f4d062636236cd4b29e3bcecf": { + "balance": "0x678a932062e4180000" }, - "ace2abb63b0604409fbde3e716d2876d44e8e5dd": { - "balance": "152000000000000000000" + "0xace2abb63b0604409fbde3e716d2876d44e8e5dd": { + "balance": "0x83d6c7aab63600000" }, - "e710dcd09b8101f9437bd97db90a73ef993d0bf4": { - "balance": "386100000000000000000" + "0xe710dcd09b8101f9437bd97db90a73ef993d0bf4": { + "balance": "0x14ee36c05ac2520000" }, - "d43ee438d83de9a37562bb4e286cb1bd19f4964d": { - "balance": "1000000000000000000000" + "0xd43ee438d83de9a37562bb4e286cb1bd19f4964d": { + "balance": "0x3635c9adc5dea00000" }, - "ea3779d14a13f6c78566bcde403591413a6239db": { - "balance": "197000000000000000000000" + "0xea3779d14a13f6c78566bcde403591413a6239db": { + "balance": "0x29b76432b94451200000" }, - "6704f169e0d0b36b57bbc39f3c45437b5ee3d28d": { - "balance": "394000000000000000000" + "0x6704f169e0d0b36b57bbc39f3c45437b5ee3d28d": { + "balance": "0x155bd9307f9fe80000" }, - "5584423050e3c2051f0bbd8f44bd6dbc27ecb62c": { - "balance": "3000000000000000000000" + "0x5584423050e3c2051f0bbd8f44bd6dbc27ecb62c": { + "balance": "0xa2a15d09519be00000" }, - "2f315d9016e8ee5f536681202f9084b032544d4d": { - "balance": "1037400000000000000000" + "0x2f315d9016e8ee5f536681202f9084b032544d4d": { + "balance": "0x383cd12b9e863c0000" }, - "e1b63201fae1f129f95c7a116bd9dde5159c6cda": { - "balance": "22837462000000000000000" + "0xe1b63201fae1f129f95c7a116bd9dde5159c6cda": { + "balance": "0x4d60573a2f0c9ef0000" }, - "2bbe62eac80ca7f4d6fdee7e7d8e28b63acf770e": { - "balance": "2396000000000000000000" + "0x2bbe62eac80ca7f4d6fdee7e7d8e28b63acf770e": { + "balance": "0x81e32df972abf00000" }, - "38da1ba2de9e2c954b092dd9d81204fd016ba016": { - "balance": "10156000000000000000000" + "0x38da1ba2de9e2c954b092dd9d81204fd016ba016": { + "balance": "0x2268ed01f34b3300000" }, - "8a86e4a51c013b1fb4c76bcf30667c78d52eedef": { - "balance": "2000000000000000000000" + "0x8a86e4a51c013b1fb4c76bcf30667c78d52eedef": { + "balance": "0x6c6b935b8bbd400000" }, - "8f717ec1552f4c440084fba1154a81dc003ebdc0": { - "balance": "10000000000000000000000" + "0x8f717ec1552f4c440084fba1154a81dc003ebdc0": { + "balance": "0x21e19e0c9bab2400000" }, - "c760971bbc181c6a7cf77441f24247d19ce9b4cf": { - "balance": "2000000000000000000000" + "0xc760971bbc181c6a7cf77441f24247d19ce9b4cf": { + "balance": "0x6c6b935b8bbd400000" }, - "7f150afb1a77c2b45928c268c1e9bdb4641d47d8": { - "balance": "2000000000000000000000" + "0x7f150afb1a77c2b45928c268c1e9bdb4641d47d8": { + "balance": "0x6c6b935b8bbd400000" }, - "1ea334b5750807ea74aac5ab8694ec5f28aa77cf": { - "balance": "492500000000000000000" + "0x1ea334b5750807ea74aac5ab8694ec5f28aa77cf": { + "balance": "0x1ab2cf7c9f87e20000" }, - "2afb058c3d31032b353bf24f09ae20d54de57dbe": { - "balance": "1100000000000000000000" + "0x2afb058c3d31032b353bf24f09ae20d54de57dbe": { + "balance": "0x3ba1910bf341b00000" }, - "caef027b1ab504c73f41f2a10979b474f97e309f": { - "balance": "200000000000000000000" + "0xcaef027b1ab504c73f41f2a10979b474f97e309f": { + "balance": "0xad78ebc5ac6200000" }, - "5dd112f368c0e6ceff77a9df02a5481651a02fb7": { - "balance": "169800000000000000000" + "0x5dd112f368c0e6ceff77a9df02a5481651a02fb7": { + "balance": "0x93472c85c6d540000" }, - "bd93e550403e2a06113ed4c3fba1a8913b19407e": { - "balance": "2000000000000000000000" + "0xbd93e550403e2a06113ed4c3fba1a8913b19407e": { + "balance": "0x6c6b935b8bbd400000" }, - "500c16352e901d48ba8d04e2c767121772790b02": { - "balance": "30239000000000000000" + "0x500c16352e901d48ba8d04e2c767121772790b02": { + "balance": "0x1a3a6824973098000" }, - "d2a80327cbe55c4c7bd51ff9dde4ca648f9eb3f8": { - "balance": "50000000000000000000" + "0xd2a80327cbe55c4c7bd51ff9dde4ca648f9eb3f8": { + "balance": "0x2b5e3af16b1880000" }, - "355ccfe0e77d557b971be1a558bc02df9eee0594": { - "balance": "1759120000000000000000" + "0x355ccfe0e77d557b971be1a558bc02df9eee0594": { + "balance": "0x5f5cb1afc865280000" }, - "5aed0e6cfe95f9d680c76472a81a2b680a7f93e2": { - "balance": "197000000000000000000" + "0x5aed0e6cfe95f9d680c76472a81a2b680a7f93e2": { + "balance": "0xaadec983fcff40000" }, - "f56442f60e21691395d0bffaa9194dcaff12e2b7": { - "balance": "260000000000000000000" + "0xf56442f60e21691395d0bffaa9194dcaff12e2b7": { + "balance": "0xe18398e7601900000" }, - "7db9eacc52e429dc83b461c5f4d86010e5383a28": { - "balance": "1000000000000000000000" + "0x7db9eacc52e429dc83b461c5f4d86010e5383a28": { + "balance": "0x3635c9adc5dea00000" }, - "4b984ef26c576e815a2eaed2f5177f07dbb1c476": { - "balance": "1560000000000000000000" + "0x4b984ef26c576e815a2eaed2f5177f07dbb1c476": { + "balance": "0x54915956c409600000" }, - "9846648836a307a057184fd51f628a5f8c12427c": { - "balance": "19100000000000000000000" + "0x9846648836a307a057184fd51f628a5f8c12427c": { + "balance": "0x40b69bf43dce8f00000" }, - "4af0db077bb9ba5e443e21e148e59f379105c592": { - "balance": "600000000000000000000" + "0x4af0db077bb9ba5e443e21e148e59f379105c592": { + "balance": "0x2086ac351052600000" }, - "e96e2d3813efd1165f12f602f97f4a62909d3c66": { - "balance": "2300000000000000000000" + "0xe96e2d3813efd1165f12f602f97f4a62909d3c66": { + "balance": "0x7caee97613e6700000" }, - "30e789b3d2465e946e6210fa5b35de4e8c93085f": { - "balance": "2000000000000000000000" + "0x30e789b3d2465e946e6210fa5b35de4e8c93085f": { + "balance": "0x6c6b935b8bbd400000" }, - "97f99b6ba31346cd98a9fe4c308f87c5a58c5151": { - "balance": "6000000000000000000000" + "0x97f99b6ba31346cd98a9fe4c308f87c5a58c5151": { + "balance": "0x14542ba12a337c00000" }, - "595e23d788a2d4bb85a15df7136d264a635511b3": { - "balance": "3940000000000000000000" + "0x595e23d788a2d4bb85a15df7136d264a635511b3": { + "balance": "0xd5967be4fc3f100000" }, - "2f61efa5819d705f2b1e4ee754aeb8a819506a75": { - "balance": "1460000000000000000000" + "0x2f61efa5819d705f2b1e4ee754aeb8a819506a75": { + "balance": "0x4f2591f896a6500000" }, - "3554947b7b947b0040da52ca180925c6d3b88ffe": { - "balance": "66850000000000000000" + "0x3554947b7b947b0040da52ca180925c6d3b88ffe": { + "balance": "0x39fbae8d042dd0000" }, - "8feffadb387a1547fb284da9b8147f3e7c6dc6da": { - "balance": "837200000000000000000" + "0x8feffadb387a1547fb284da9b8147f3e7c6dc6da": { + "balance": "0x2d627be45305080000" }, - "258939bbf00c9de9af5338f5d714abf6d0c1c671": { - "balance": "1550000000000000000000" + "0x258939bbf00c9de9af5338f5d714abf6d0c1c671": { + "balance": "0x54069233bf7f780000" }, - "5b333696e04cca1692e71986579c920d6b2916f9": { - "balance": "500000000000000000000" + "0x5b333696e04cca1692e71986579c920d6b2916f9": { + "balance": "0x1b1ae4d6e2ef500000" }, - "5381448503c0c702542b1de7cc5fb5f6ab1cf6a5": { - "balance": "8000000000000000000000" + "0x5381448503c0c702542b1de7cc5fb5f6ab1cf6a5": { + "balance": "0x1b1ae4d6e2ef5000000" }, - "7e81f6449a03374191f3b7cb05d938b72e090dff": { - "balance": "100000000000000000000" + "0x7e81f6449a03374191f3b7cb05d938b72e090dff": { + "balance": "0x56bc75e2d63100000" }, - "4ef1c214633ad9c0703b4e2374a2e33e3e429291": { - "balance": "1337000000000000000000" + "0x4ef1c214633ad9c0703b4e2374a2e33e3e429291": { + "balance": "0x487a9a304539440000" }, - "fed8476d10d584b38bfa6737600ef19d35c41ed8": { - "balance": "1820000000000000000000" + "0xfed8476d10d584b38bfa6737600ef19d35c41ed8": { + "balance": "0x62a992e53a0af00000" }, - "1a95c9b7546b5d1786c3858fb1236446bc0ca4ce": { - "balance": "1970000000000000000000" + "0x1a95c9b7546b5d1786c3858fb1236446bc0ca4ce": { + "balance": "0x6acb3df27e1f880000" }, - "3b07db5a357f5af2484cbc9d77d73b1fd0519fc7": { - "balance": "500000000000000000000" + "0x3b07db5a357f5af2484cbc9d77d73b1fd0519fc7": { + "balance": "0x1b1ae4d6e2ef500000" }, - "5f68a24c7eb4117667737b33393fb3c2148a53b6": { - "balance": "51800000000000000000" + "0x5f68a24c7eb4117667737b33393fb3c2148a53b6": { + "balance": "0x2cede918d453c0000" }, - "d8f665fd8cd5c2bcc6ddc0a8ae521e4dc6aa6060": { - "balance": "1700000000000000000000" + "0xd8f665fd8cd5c2bcc6ddc0a8ae521e4dc6aa6060": { + "balance": "0x5c283d410394100000" }, - "d66acc0d11b689cea6d9ea5ff4014c224a5dc7c4": { - "balance": "18200000000000000000" + "0xd66acc0d11b689cea6d9ea5ff4014c224a5dc7c4": { + "balance": "0xfc936392801c0000" }, - "6e72b2a1186a8e2916543b1cb36a68870ea5d197": { - "balance": "186000000000000000000" + "0x6e72b2a1186a8e2916543b1cb36a68870ea5d197": { + "balance": "0xa1544be879ea80000" }, - "5102a4a42077e11c58df4773e3ac944623a66d9f": { - "balance": "2000325000000000000000" + "0x5102a4a42077e11c58df4773e3ac944623a66d9f": { + "balance": "0x6c7015fd52ed408000" }, - "72480bede81ad96423f2228b5c61be44fb523100": { - "balance": "6400000000000000000000" + "0x72480bede81ad96423f2228b5c61be44fb523100": { + "balance": "0x15af1d78b58c4000000" }, - "e076db30ab486f79194ebbc45d8fab9a9242f654": { - "balance": "4840000000000000000000" + "0xe076db30ab486f79194ebbc45d8fab9a9242f654": { + "balance": "0x106607e3494baa00000" }, - "8ceea15eec3bdad8023f98ecf25b2b8fef27db29": { - "balance": "2000000000000000000000" + "0x8ceea15eec3bdad8023f98ecf25b2b8fef27db29": { + "balance": "0x6c6b935b8bbd400000" }, - "40652360d6716dc55cf9aab21f3482f816cc2cbd": { - "balance": "10000000000000000000000" + "0x40652360d6716dc55cf9aab21f3482f816cc2cbd": { + "balance": "0x21e19e0c9bab2400000" }, - "13e02fb448d6c84ae17db310ad286d056160da95": { - "balance": "2000000000000000000000" + "0x13e02fb448d6c84ae17db310ad286d056160da95": { + "balance": "0x6c6b935b8bbd400000" }, - "d6598b1386e93c5ccb9602ff4bbbecdbd3701dc4": { - "balance": "224096000000000000000" + "0xd6598b1386e93c5ccb9602ff4bbbecdbd3701dc4": { + "balance": "0xc25f4ecb041f00000" }, - "d5ea472cb9466018110af00c37495b5c2c713112": { - "balance": "4997800000000000000000" + "0xd5ea472cb9466018110af00c37495b5c2c713112": { + "balance": "0x10eee686c854f440000" }, - "bb75cb5051a0b0944b4673ca752a97037f7c8c15": { - "balance": "200000000000000000000" + "0xbb75cb5051a0b0944b4673ca752a97037f7c8c15": { + "balance": "0xad78ebc5ac6200000" }, - "8af626a5f327d7506589eeb7010ff9c9446020d2": { - "balance": "1400000000000000000000" + "0x8af626a5f327d7506589eeb7010ff9c9446020d2": { + "balance": "0x4be4e7267b6ae00000" }, - "318c76ecfd8af68d70555352e1f601e35988042d": { - "balance": "501600000000000000000" + "0x318c76ecfd8af68d70555352e1f601e35988042d": { + "balance": "0x1b31192e68c7f00000" }, - "5c3d19441d196cb443662020fcad7fbb79b29e78": { - "balance": "14300000000000000000" + "0x5c3d19441d196cb443662020fcad7fbb79b29e78": { + "balance": "0xc673ce3c40160000" }, - "27101a0f56d39a88c5a84f9b324cdde33e5cb68c": { - "balance": "2000000000000000000000" + "0x27101a0f56d39a88c5a84f9b324cdde33e5cb68c": { + "balance": "0x6c6b935b8bbd400000" }, - "e229e746a83f2ce253b0b03eb1472411b57e5700": { - "balance": "5730000000000000000000" + "0xe229e746a83f2ce253b0b03eb1472411b57e5700": { + "balance": "0x1369fb96128ac480000" }, - "604cdf18628dbfa8329194d478dd5201eecc4be7": { - "balance": "23000000000000000000" + "0x604cdf18628dbfa8329194d478dd5201eecc4be7": { + "balance": "0x13f306a2409fc0000" }, - "657473774f63ac3d6279fd0743d5790c4f161503": { - "balance": "200000000000000000000" + "0x657473774f63ac3d6279fd0743d5790c4f161503": { + "balance": "0xad78ebc5ac6200000" }, - "1ddefefd35ab8f658b2471e54790bc17af98dea4": { - "balance": "1000000000000000000000" + "0x1ddefefd35ab8f658b2471e54790bc17af98dea4": { + "balance": "0x3635c9adc5dea00000" }, - "ac3900298dd14d7cc96d4abb428da1bae213ffed": { - "balance": "24730250000000000000000" + "0xac3900298dd14d7cc96d4abb428da1bae213ffed": { + "balance": "0x53ca12974851c010000" }, - "944f07b96f90c5f0d7c0c580533149f3f585a078": { - "balance": "74000000000000000000" + "0x944f07b96f90c5f0d7c0c580533149f3f585a078": { + "balance": "0x402f4cfee62e80000" }, - "232c6d03b5b6e6711efff190e49c28eef36c82b0": { - "balance": "1337000000000000000000" + "0x232c6d03b5b6e6711efff190e49c28eef36c82b0": { + "balance": "0x487a9a304539440000" }, - "c87c77e3c24adecdcd1038a38b56e18dead3b702": { - "balance": "8800000000000000000000" + "0xc87c77e3c24adecdcd1038a38b56e18dead3b702": { + "balance": "0x1dd0c885f9a0d800000" }, - "c4b6e5f09cc1b90df07803ce3d4d13766a9c46f4": { - "balance": "6000000000000000000000" + "0xc4b6e5f09cc1b90df07803ce3d4d13766a9c46f4": { + "balance": "0x14542ba12a337c00000" }, - "d44334b4e23a169a0c16bd21e866bba52d970587": { - "balance": "2600000000000000000000" + "0xd44334b4e23a169a0c16bd21e866bba52d970587": { + "balance": "0x8cf23f909c0fa00000" }, - "7757a4b9cc3d0247ccaaeb9909a0e56e1dd6dcc2": { - "balance": "20000000000000000000" + "0x7757a4b9cc3d0247ccaaeb9909a0e56e1dd6dcc2": { + "balance": "0x1158e460913d00000" }, - "cf694081c76d18c64ca71382be5cd63b3cb476f8": { - "balance": "1000000000000000000000" + "0xcf694081c76d18c64ca71382be5cd63b3cb476f8": { + "balance": "0x3635c9adc5dea00000" }, - "133e4f15e1e39c53435930aaedf3e0fe56fde843": { - "balance": "20000000000000000000" + "0x133e4f15e1e39c53435930aaedf3e0fe56fde843": { + "balance": "0x1158e460913d00000" }, - "f067fb10dfb293e998abe564c055e3348f9fbf1e": { - "balance": "2000000000000000000000" + "0xf067fb10dfb293e998abe564c055e3348f9fbf1e": { + "balance": "0x6c6b935b8bbd400000" }, - "94449c01b32a7fa55af8104f42cdd844aa8cbc40": { - "balance": "16548000000000000000000" + "0x94449c01b32a7fa55af8104f42cdd844aa8cbc40": { + "balance": "0x38111a1f4f03c100000" }, - "0e2094ac1654a46ba1c4d3a40bb8c17da7f39688": { - "balance": "358000000000000000000" + "0x0e2094ac1654a46ba1c4d3a40bb8c17da7f39688": { + "balance": "0x13683f7f3c15d80000" }, - "738ca94db7ce8be1c3056cd6988eb376359f3353": { - "balance": "25500000000000000000000" + "0x738ca94db7ce8be1c3056cd6988eb376359f3353": { + "balance": "0x5665b96cf35acf00000" }, - "0cfb172335b16c87d519cd1475530d20577f5e0e": { - "balance": "100000000000000000000000" + "0x0cfb172335b16c87d519cd1475530d20577f5e0e": { + "balance": "0x152d02c7e14af6800000" }, - "3cb561ce86424b359891e364ec925ffeff277df7": { - "balance": "200000000000000000000" + "0x3cb561ce86424b359891e364ec925ffeff277df7": { + "balance": "0xad78ebc5ac6200000" }, - "5f981039fcf50225e2adf762752112d1cc26b6e3": { - "balance": "499954000000000000000" + "0x5f981039fcf50225e2adf762752112d1cc26b6e3": { + "balance": "0x1b1a416a2153a50000" }, - "b43657a50eecbc3077e005d8f8d94f377876bad4": { - "balance": "35460000000000000000" + "0xb43657a50eecbc3077e005d8f8d94f377876bad4": { + "balance": "0x1ec1b3a1ff75a0000" }, - "d07e511864b1cf9969e3560602829e32fc4e71f5": { - "balance": "50000000000000000000" + "0xd07e511864b1cf9969e3560602829e32fc4e71f5": { + "balance": "0x2b5e3af16b1880000" }, - "11306c7d57588637780fc9fde8e98ecb008f0164": { - "balance": "1999944000000000000000" + "0x11306c7d57588637780fc9fde8e98ecb008f0164": { + "balance": "0x6c6acc67d7b1d40000" }, - "45ca9862003b4e40a3171fb5cafa9028cac8de19": { - "balance": "13790000000000000000000" + "0x45ca9862003b4e40a3171fb5cafa9028cac8de19": { + "balance": "0x2eb8eb1a172dcb80000" }, - "231d94155dbcfe2a93a319b6171f63b20bd2b6fa": { - "balance": "3819952000000000000000" + "0x231d94155dbcfe2a93a319b6171f63b20bd2b6fa": { + "balance": "0xcf147bb906e2f80000" }, - "e7533e270cc61fa164ac1553455c105d04887e14": { - "balance": "121550000000000000000" + "0xe7533e270cc61fa164ac1553455c105d04887e14": { + "balance": "0x696d8590020bb0000" }, - "070d5d364cb7bbf822fc2ca91a35bdd441b215d5": { - "balance": "2000000000000000000000" + "0x070d5d364cb7bbf822fc2ca91a35bdd441b215d5": { + "balance": "0x6c6b935b8bbd400000" }, - "d475477fa56390d33017518d6711027f05f28dbf": { - "balance": "1975032000000000000000" + "0xd475477fa56390d33017518d6711027f05f28dbf": { + "balance": "0x6b111333d4fd4c0000" }, - "cea34a4dd93dd9aefd399002a97d997a1b4b89cd": { - "balance": "1500000000000000000000" + "0xcea34a4dd93dd9aefd399002a97d997a1b4b89cd": { + "balance": "0x5150ae84a8cdf00000" }, - "560becdf52b71f3d8827d927610f1a980f33716f": { - "balance": "429413000000000000000" + "0x560becdf52b71f3d8827d927610f1a980f33716f": { + "balance": "0x17474d705f56d08000" }, - "f632adff490da4b72d1236d04b510f74d2faa3cd": { - "balance": "1400000000000000000000" + "0xf632adff490da4b72d1236d04b510f74d2faa3cd": { + "balance": "0x4be4e7267b6ae00000" }, - "2fdd9b79df8df530ad63c20e62af431ae99216b8": { - "balance": "21000000000000000000" + "0x2fdd9b79df8df530ad63c20e62af431ae99216b8": { + "balance": "0x1236efcbcbb340000" }, - "535201a0a1d73422801f55ded4dfaee4fbaa6e3b": { - "balance": "39641000000000000000" + "0x535201a0a1d73422801f55ded4dfaee4fbaa6e3b": { + "balance": "0x226211f7915428000" }, - "409d5a962edeeebea178018c0f38b9cdb213f289": { - "balance": "20000000000000000000" + "0x409d5a962edeeebea178018c0f38b9cdb213f289": { + "balance": "0x1158e460913d00000" }, - "9d911f3682f32fe0792e9fb6ff3cfc47f589fca5": { - "balance": "4000000000000000000000" + "0x9d911f3682f32fe0792e9fb6ff3cfc47f589fca5": { + "balance": "0xd8d726b7177a800000" }, - "9f7a0392f857732e3004a375e6b1068d49d83031": { - "balance": "2000000000000000000000" + "0x9f7a0392f857732e3004a375e6b1068d49d83031": { + "balance": "0x6c6b935b8bbd400000" }, - "6a04f5d53fc0f515be942b8f12a9cb7ab0f39778": { - "balance": "3129800000000000000000" + "0x6a04f5d53fc0f515be942b8f12a9cb7ab0f39778": { + "balance": "0xa9aab3459be1940000" }, - "be478e8e3dde6bd403bb2d1c657c4310ee192723": { - "balance": "492500000000000000000" + "0xbe478e8e3dde6bd403bb2d1c657c4310ee192723": { + "balance": "0x1ab2cf7c9f87e20000" }, - "007622d84a234bb8b078230fcf84b67ae9a8acae": { - "balance": "698800000000000000000" + "0x007622d84a234bb8b078230fcf84b67ae9a8acae": { + "balance": "0x25e1cc519952f80000" }, - "9475c510ec9a26979247744c3d8c3b0e0b5f44d3": { - "balance": "10000000000000000000000" + "0x9475c510ec9a26979247744c3d8c3b0e0b5f44d3": { + "balance": "0x21e19e0c9bab2400000" }, - "df47a8ef95f2f49f8e6f58184154145d11f72797": { - "balance": "1910000000000000000000" + "0xdf47a8ef95f2f49f8e6f58184154145d11f72797": { + "balance": "0x678a932062e4180000" }, - "13ce332dff65a6ab933897588aa23e000980fa82": { - "balance": "258400000000000000000" + "0x13ce332dff65a6ab933897588aa23e000980fa82": { + "balance": "0xe020536f028f00000" }, - "9c4bbcd5f1644a6f075824ddfe85c571d6abf69c": { - "balance": "1800000000000000000000" + "0x9c4bbcd5f1644a6f075824ddfe85c571d6abf69c": { + "balance": "0x6194049f30f7200000" }, - "d42b20bd0311608b66f8a6d15b2a95e6de27c5bf": { - "balance": "2000000000000000000000" + "0xd42b20bd0311608b66f8a6d15b2a95e6de27c5bf": { + "balance": "0x6c6b935b8bbd400000" }, - "a4dd59ab5e517d398e49fa537f899fed4c15e95d": { - "balance": "20000000000000000000000" + "0xa4dd59ab5e517d398e49fa537f899fed4c15e95d": { + "balance": "0x43c33c1937564800000" }, - "1a8a5ce414de9cd172937e37f2d59cff71ce57a0": { - "balance": "10000000000000000000000" + "0x1a8a5ce414de9cd172937e37f2d59cff71ce57a0": { + "balance": "0x21e19e0c9bab2400000" }, - "55c564664166a1edf3913e0169f1cd451fdb5d0c": { - "balance": "2399800000000000000000" + "0x55c564664166a1edf3913e0169f1cd451fdb5d0c": { + "balance": "0x8217ea49508e6c0000" }, - "58ae2ddc5f4c8ada97e06c0086171767c423f5d7": { - "balance": "1610000000000000000000" + "0x58ae2ddc5f4c8ada97e06c0086171767c423f5d7": { + "balance": "0x57473d05dabae80000" }, - "fb79abdb925c55b9f98efeef64cfc9eb61f51bb1": { - "balance": "1794000000000000000000" + "0xfb79abdb925c55b9f98efeef64cfc9eb61f51bb1": { + "balance": "0x6140c056fb0ac80000" }, - "e7a42f59fee074e4fb13ea9e57ecf1cc48282249": { - "balance": "20000000000000000000000" + "0xe7a42f59fee074e4fb13ea9e57ecf1cc48282249": { + "balance": "0x43c33c1937564800000" }, - "07e2b4cdeed9d087b12e556d9e770c13c099615f": { - "balance": "668500000000000000000" + "0x07e2b4cdeed9d087b12e556d9e770c13c099615f": { + "balance": "0x243d4d18229ca20000" }, - "68473b7a7d965904bedba556dfbc17136cd5d434": { - "balance": "100000000000000000000" + "0x68473b7a7d965904bedba556dfbc17136cd5d434": { + "balance": "0x56bc75e2d63100000" }, - "6c5c3a54cda7c2f118edba434ed81e6ebb11dd7a": { - "balance": "200000000000000000000" + "0x6c5c3a54cda7c2f118edba434ed81e6ebb11dd7a": { + "balance": "0xad78ebc5ac6200000" }, - "24c117d1d2b3a97ab11a4679c99a774a9eade8d1": { - "balance": "1000000000000000000000" + "0x24c117d1d2b3a97ab11a4679c99a774a9eade8d1": { + "balance": "0x3635c9adc5dea00000" }, - "f68c5e33fa97139df5b2e63886ce34ebf3e4979c": { - "balance": "3320000000000000000000" + "0xf68c5e33fa97139df5b2e63886ce34ebf3e4979c": { + "balance": "0xb3fa4169e2d8e00000" }, - "bd7419dc2a090a46e2873d7de6eaaad59e19c479": { - "balance": "6802000000000000000000" + "0xbd7419dc2a090a46e2873d7de6eaaad59e19c479": { + "balance": "0x170bcb671759f080000" }, - "1a0a1ddfb031e5c8cc1d46cf05842d50fddc7130": { - "balance": "1000000000000000000000" + "0x1a0a1ddfb031e5c8cc1d46cf05842d50fddc7130": { + "balance": "0x3635c9adc5dea00000" }, - "2b3a68db6b0cae8a7c7a476bdfcfbd6205e10687": { - "balance": "2400000000000000000000" + "0x2b3a68db6b0cae8a7c7a476bdfcfbd6205e10687": { + "balance": "0x821ab0d44149800000" }, - "426d15f407a01135b13a6b72f8f2520b3531e302": { - "balance": "20000000000000000000" + "0x426d15f407a01135b13a6b72f8f2520b3531e302": { + "balance": "0x1158e460913d00000" }, - "0394b90fadb8604f86f43fc1e35d3124b32a5989": { - "balance": "764000000000000000000" + "0x0394b90fadb8604f86f43fc1e35d3124b32a5989": { + "balance": "0x296aa140278e700000" }, - "7412c9bc30b4df439f023100e63924066afd53af": { - "balance": "500000000000000000000" + "0x7412c9bc30b4df439f023100e63924066afd53af": { + "balance": "0x1b1ae4d6e2ef500000" }, - "80e7b3205230a566a1f061d922819bb4d4d2a0e1": { - "balance": "14000000000000000000000" + "0x80e7b3205230a566a1f061d922819bb4d4d2a0e1": { + "balance": "0x2f6f10780d22cc00000" }, - "ff4fc66069046c525658c337a917f2d4b832b409": { - "balance": "2000000000000000000000" + "0xff4fc66069046c525658c337a917f2d4b832b409": { + "balance": "0x6c6b935b8bbd400000" }, - "f5061ee2e5ee26b815503677130e1de07a52db07": { - "balance": "100000000000000000000" + "0xf5061ee2e5ee26b815503677130e1de07a52db07": { + "balance": "0x56bc75e2d63100000" }, - "49793463e1681083d6abd6e725d5bba745dccde8": { - "balance": "545974000000000000000" + "0x49793463e1681083d6abd6e725d5bba745dccde8": { + "balance": "0x1d98e94c4e471f0000" }, - "23551f56975fe92b31fa469c49ea66ee6662f41e": { - "balance": "1910000000000000000000" + "0x23551f56975fe92b31fa469c49ea66ee6662f41e": { + "balance": "0x678a932062e4180000" }, - "fad96ab6ac768ad5099452ac4777bd1a47edc48f": { - "balance": "100000000000000000000" + "0xfad96ab6ac768ad5099452ac4777bd1a47edc48f": { + "balance": "0x56bc75e2d63100000" }, - "2a746cd44027af3ebd37c378c85ef7f754ab5f28": { - "balance": "394000000000000000000" + "0x2a746cd44027af3ebd37c378c85ef7f754ab5f28": { + "balance": "0x155bd9307f9fe80000" }, - "b8d389e624a3a7aebce4d3e5dbdf6cdc29932aed": { - "balance": "200000000000000000000" + "0xb8d389e624a3a7aebce4d3e5dbdf6cdc29932aed": { + "balance": "0xad78ebc5ac6200000" }, - "7b761feb7fcfa7ded1f0eb058f4a600bf3a708cb": { - "balance": "4600000000000000000000" + "0x7b761feb7fcfa7ded1f0eb058f4a600bf3a708cb": { + "balance": "0xf95dd2ec27cce00000" }, - "5435c6c1793317d32ce13bba4c4ffeb973b78adc": { - "balance": "250070000000000000000" + "0x5435c6c1793317d32ce13bba4c4ffeb973b78adc": { + "balance": "0xd8e6b1c1285ef0000" }, - "dd04eee74e0bf30c3f8d6c2c7f52e0519210df93": { - "balance": "80000000000000000000" + "0xdd04eee74e0bf30c3f8d6c2c7f52e0519210df93": { + "balance": "0x4563918244f400000" }, - "4331ab3747d35720a9d8ca25165cd285acd4bda8": { - "balance": "2000000000000000000000" + "0x4331ab3747d35720a9d8ca25165cd285acd4bda8": { + "balance": "0x6c6b935b8bbd400000" }, - "b84c8b9fd33ece00af9199f3cf5fe0cce28cd14a": { - "balance": "3820000000000000000000" + "0xb84c8b9fd33ece00af9199f3cf5fe0cce28cd14a": { + "balance": "0xcf152640c5c8300000" }, - "393f783b5cdb86221bf0294fb714959c7b45899c": { - "balance": "5910000000000000000000" + "0x393f783b5cdb86221bf0294fb714959c7b45899c": { + "balance": "0x14061b9d77a5e980000" }, - "259ec4d265f3ab536b7c70fa97aca142692c13fc": { - "balance": "20400000000000000000" + "0x259ec4d265f3ab536b7c70fa97aca142692c13fc": { + "balance": "0x11b1b5bea89f80000" }, - "5d2f7f0b04ba4be161e19cb6f112ce7a5e7d7fe4": { - "balance": "35200000000000000000" + "0x5d2f7f0b04ba4be161e19cb6f112ce7a5e7d7fe4": { + "balance": "0x1e87f85809dc00000" }, - "d54ba2d85681dc130e5b9b02c4e8c851391fd9b9": { - "balance": "3940000000000000000000" + "0xd54ba2d85681dc130e5b9b02c4e8c851391fd9b9": { + "balance": "0xd5967be4fc3f100000" }, - "5cd8af60de65f24dc3ce5730ba92653022dc5963": { - "balance": "1790000000000000000000" + "0x5cd8af60de65f24dc3ce5730ba92653022dc5963": { + "balance": "0x61093d7c2c6d380000" }, - "3b42a66d979f582834747a8b60428e9b4eeccd23": { - "balance": "620400000000000000000" + "0x3b42a66d979f582834747a8b60428e9b4eeccd23": { + "balance": "0x21a1c790fadc580000" }, - "4b19eb0c354bc1393960eb06063b83926f0d67b2": { - "balance": "29000000000000000000" + "0x4b19eb0c354bc1393960eb06063b83926f0d67b2": { + "balance": "0x19274b259f6540000" }, - "8cf3546fd1cda33d58845fc8fcfecabca7c5642a": { - "balance": "574027000000000000000" + "0x8cf3546fd1cda33d58845fc8fcfecabca7c5642a": { + "balance": "0x1f1e39932cb3278000" }, - "113612bc3ba0ee4898b49dd20233905f2f458f62": { - "balance": "14000000000000000000000" + "0x113612bc3ba0ee4898b49dd20233905f2f458f62": { + "balance": "0x2f6f10780d22cc00000" }, - "1f2afc0aed11bfc71e77a907657b36ea76e3fb99": { - "balance": "4000000000000000000000" + "0x1f2afc0aed11bfc71e77a907657b36ea76e3fb99": { + "balance": "0xd8d726b7177a800000" }, - "03714b41d2a6f751008ef8dd4d2b29aecab8f36e": { - "balance": "6000000000000000000000" + "0x03714b41d2a6f751008ef8dd4d2b29aecab8f36e": { + "balance": "0x14542ba12a337c00000" }, - "25721c87b0dc21377c7200e524b14a22f0af69fb": { - "balance": "4000000000000000000000" + "0x25721c87b0dc21377c7200e524b14a22f0af69fb": { + "balance": "0xd8d726b7177a800000" }, - "335858f749f169cabcfe52b796e3c11ec47ea3c2": { - "balance": "200000000000000000000" + "0x335858f749f169cabcfe52b796e3c11ec47ea3c2": { + "balance": "0xad78ebc5ac6200000" }, - "52fb46ac5d00c3518b2c3a1c177d442f8165555f": { - "balance": "1500000000000000000000" + "0x52fb46ac5d00c3518b2c3a1c177d442f8165555f": { + "balance": "0x5150ae84a8cdf00000" }, - "7a8c89c014509d56d7b68130668ff6a3ecec7370": { - "balance": "300000000000000000000" + "0x7a8c89c014509d56d7b68130668ff6a3ecec7370": { + "balance": "0x1043561a8829300000" }, - "7d5d2f73949dadda0856b206989df0078d51a1e5": { - "balance": "10560000000000000000000" + "0x7d5d2f73949dadda0856b206989df0078d51a1e5": { + "balance": "0x23c757072b8dd000000" }, - "be538246dd4e6f0c20bf5ad1373c3b463a131e86": { - "balance": "200000000000000000000" + "0xbe538246dd4e6f0c20bf5ad1373c3b463a131e86": { + "balance": "0xad78ebc5ac6200000" }, - "62680a15f8ccb8bdc02f7360c25ad8cfb57b8ccd": { - "balance": "1000000000000000000000" + "0x62680a15f8ccb8bdc02f7360c25ad8cfb57b8ccd": { + "balance": "0x3635c9adc5dea00000" }, - "aa0ca3737337178a0caac3099c584b056c56301c": { - "balance": "880000000000000000000" + "0xaa0ca3737337178a0caac3099c584b056c56301c": { + "balance": "0x2fb474098f67c00000" }, - "1d341fa5a3a1bd051f7db807b6db2fc7ba4f9b45": { - "balance": "18200000000000000000" + "0x1d341fa5a3a1bd051f7db807b6db2fc7ba4f9b45": { + "balance": "0xfc936392801c0000" }, - "6463f715d594a1a4ace4bb9c3b288a74decf294d": { - "balance": "1970000000000000000000" + "0x6463f715d594a1a4ace4bb9c3b288a74decf294d": { + "balance": "0x6acb3df27e1f880000" }, - "e00d153b10369143f97f54b8d4ca229eb3e8f324": { - "balance": "152000000000000000000" + "0xe00d153b10369143f97f54b8d4ca229eb3e8f324": { + "balance": "0x83d6c7aab63600000" }, - "8d0b9ea53fd263415eac11391f7ce9123c447062": { - "balance": "2000000000000000000000" + "0x8d0b9ea53fd263415eac11391f7ce9123c447062": { + "balance": "0x6c6b935b8bbd400000" }, - "cacb675e0996235404efafbb2ecb8152271b55e0": { - "balance": "700000000000000000000" + "0xcacb675e0996235404efafbb2ecb8152271b55e0": { + "balance": "0x25f273933db5700000" }, - "b615e940143eb57f875893bc98a61b3d618c1e8c": { - "balance": "20000000000000000000" + "0xb615e940143eb57f875893bc98a61b3d618c1e8c": { + "balance": "0x1158e460913d00000" }, - "606f177121f7855c21a5062330c8762264a97b31": { - "balance": "4000000000000000000000" + "0x606f177121f7855c21a5062330c8762264a97b31": { + "balance": "0xd8d726b7177a800000" }, - "e3925509c8d0b2a6738c5f6a72f35314491248ce": { - "balance": "1012961000000000000000" + "0xe3925509c8d0b2a6738c5f6a72f35314491248ce": { + "balance": "0x36e9a8669a44768000" }, - "3f08d9ad894f813e8e2148c160d24b353a8e74b0": { - "balance": "60000000000000000000000" + "0x3f08d9ad894f813e8e2148c160d24b353a8e74b0": { + "balance": "0xcb49b44ba602d800000" }, - "40f4f4c06c732cd35b119b893b127e7d9d0771e4": { - "balance": "10000000000000000000000" + "0x40f4f4c06c732cd35b119b893b127e7d9d0771e4": { + "balance": "0x21e19e0c9bab2400000" }, - "1406854d149e081ac09cb4ca560da463f3123059": { - "balance": "1337000000000000000000" + "0x1406854d149e081ac09cb4ca560da463f3123059": { + "balance": "0x487a9a304539440000" }, - "ecf05d07ea026e7ebf4941002335baf2fed0f002": { - "balance": "200000000000000000000" + "0xecf05d07ea026e7ebf4941002335baf2fed0f002": { + "balance": "0xad78ebc5ac6200000" }, - "9a990b8aeb588d7ee7ec2ed8c2e64f7382a9fee2": { - "balance": "33518000000000000000" + "0x9a990b8aeb588d7ee7ec2ed8c2e64f7382a9fee2": { + "balance": "0x1d127db69fd8b0000" }, - "a2e0683a805de6a05edb2ffbb5e96f0570b637c3": { - "balance": "20000000000000000000" + "0xa2e0683a805de6a05edb2ffbb5e96f0570b637c3": { + "balance": "0x1158e460913d00000" }, - "fba5486d53c6e240494241abf87e43c7600d413a": { - "balance": "1987592000000000000000" + "0xfba5486d53c6e240494241abf87e43c7600d413a": { + "balance": "0x6bbf61494948340000" }, - "d81bd54ba2c44a6f6beb1561d68b80b5444e6dc6": { - "balance": "1163806000000000000000" + "0xd81bd54ba2c44a6f6beb1561d68b80b5444e6dc6": { + "balance": "0x3f170d7ee43c430000" }, - "5298ab182a19359ffcecafd7d1b5fa212dede6dd": { - "balance": "20000000000000000000" + "0x5298ab182a19359ffcecafd7d1b5fa212dede6dd": { + "balance": "0x1158e460913d00000" }, - "d1acb5adc1183973258d6b8524ffa28ffeb23de3": { - "balance": "4000000000000000000000" + "0xd1acb5adc1183973258d6b8524ffa28ffeb23de3": { + "balance": "0xd8d726b7177a800000" }, - "4e7aa67e12183ef9d7468ea28ad239c2eef71b76": { - "balance": "4925000000000000000000" + "0x4e7aa67e12183ef9d7468ea28ad239c2eef71b76": { + "balance": "0x10afc1ade3b4ed40000" }, - "509a20bc48e72be1cdaf9569c711e8648d957334": { - "balance": "2000000000000000000000" + "0x509a20bc48e72be1cdaf9569c711e8648d957334": { + "balance": "0x6c6b935b8bbd400000" }, - "949f84f0b1d7c4a7cf49ee7f8b2c4a134de32878": { - "balance": "685000000000000000000" + "0x949f84f0b1d7c4a7cf49ee7f8b2c4a134de32878": { + "balance": "0x252248deb6e6940000" }, - "edbac9527b54d6df7ae2e000cca3613ba015cae3": { - "balance": "1970000000000000000000" + "0xedbac9527b54d6df7ae2e000cca3613ba015cae3": { + "balance": "0x6acb3df27e1f880000" }, - "c697b70477cab42e2b8b266681f4ae7375bb2541": { - "balance": "5577200000000000000000" + "0xc697b70477cab42e2b8b266681f4ae7375bb2541": { + "balance": "0x12e5732baba5c980000" }, - "86c934e38e53be3b33f274d0539cfca159a4d0d1": { - "balance": "970000000000000000000" + "0x86c934e38e53be3b33f274d0539cfca159a4d0d1": { + "balance": "0x34957444b840e80000" }, - "0877eeaeab78d5c00e83c32b2d98fa79ad51482f": { - "balance": "439420000000000000000" + "0x0877eeaeab78d5c00e83c32b2d98fa79ad51482f": { + "balance": "0x17d22d71da62260000" }, - "5e11ecf69d551d7f4f84df128046b3a13240a328": { - "balance": "20000000000000000000" + "0x5e11ecf69d551d7f4f84df128046b3a13240a328": { + "balance": "0x1158e460913d00000" }, - "43ff8853e98ed8406b95000ada848362d6a0392a": { - "balance": "22100000000000000000000" + "0x43ff8853e98ed8406b95000ada848362d6a0392a": { + "balance": "0x4ae0b1c4d2e84d00000" }, - "f11cf5d363746fee6864d3ca336dd80679bb87ae": { - "balance": "40000000000000000000000" + "0xf11cf5d363746fee6864d3ca336dd80679bb87ae": { + "balance": "0x878678326eac9000000" }, - "fb223c1e22eac1269b32ee156a5385922ed36fb8": { - "balance": "2000000000000000000000" + "0xfb223c1e22eac1269b32ee156a5385922ed36fb8": { + "balance": "0x6c6b935b8bbd400000" }, - "4e6600806289454acda330a2a3556010dfacade6": { - "balance": "6000000000000000000000" + "0x4e6600806289454acda330a2a3556010dfacade6": { + "balance": "0x14542ba12a337c00000" }, - "cfe2caaf3cec97061d0939748739bffe684ae91f": { - "balance": "10000000000000000000000" + "0xcfe2caaf3cec97061d0939748739bffe684ae91f": { + "balance": "0x21e19e0c9bab2400000" }, - "adeb52b604e5f77faaac88275b8d6b49e9f9f97f": { - "balance": "2089268000000000000000" + "0xadeb52b604e5f77faaac88275b8d6b49e9f9f97f": { + "balance": "0x71426b00956ed20000" }, - "d53c567f0c3ff2e08b7d59e2b5c73485437fc58d": { - "balance": "600000000000000000000" + "0xd53c567f0c3ff2e08b7d59e2b5c73485437fc58d": { + "balance": "0x2086ac351052600000" }, - "fbf75933e01b75b154ef0669076be87f62dffae1": { - "balance": "78000000000000000000000" + "0xfbf75933e01b75b154ef0669076be87f62dffae1": { + "balance": "0x10846372f249d4c00000" }, - "7dfd2962b575bcbeee97f49142d63c30ab009f66": { - "balance": "4000000000000000000000" + "0x7dfd2962b575bcbeee97f49142d63c30ab009f66": { + "balance": "0xd8d726b7177a800000" }, - "df6485c4297ac152b289b19dde32c77ec417f47d": { - "balance": "1000000000000000000000" + "0xdf6485c4297ac152b289b19dde32c77ec417f47d": { + "balance": "0x3635c9adc5dea00000" }, - "ffb974673367f5c07be5fd270dc4b7138b074d57": { - "balance": "2470407000000000000000" + "0xffb974673367f5c07be5fd270dc4b7138b074d57": { + "balance": "0x85ebc8bdb9066d8000" }, - "f7d7af204c56f31fd94398e40df1964bd8bf123c": { - "balance": "150011000000000000000" + "0xf7d7af204c56f31fd94398e40df1964bd8bf123c": { + "balance": "0x821d221b5291f8000" }, - "4506fe19fa4b006baa3984529d8516db2b2b50ab": { - "balance": "2000000000000000000000" + "0x4506fe19fa4b006baa3984529d8516db2b2b50ab": { + "balance": "0x6c6b935b8bbd400000" }, - "f4dc7ba85480bbb3f535c09568aaa3af6f3721c6": { - "balance": "7214962000000000000000" + "0xf4dc7ba85480bbb3f535c09568aaa3af6f3721c6": { + "balance": "0x1871fb6307e35e50000" }, - "d171c3f2258aef35e599c7da1aa07300234da9a6": { - "balance": "2000000000000000000000" + "0xd171c3f2258aef35e599c7da1aa07300234da9a6": { + "balance": "0x6c6b935b8bbd400000" }, - "33581cee233088c0860d944e0cf1ceabb8261c2e": { - "balance": "13370000000000000000" + "0x33581cee233088c0860d944e0cf1ceabb8261c2e": { + "balance": "0xb98bc829a6f90000" }, - "1c2e3607e127caca0fbd5c5948adad7dd830b285": { - "balance": "19700000000000000000000" + "0x1c2e3607e127caca0fbd5c5948adad7dd830b285": { + "balance": "0x42bf06b78ed3b500000" }, - "fd7ede8f5240a06541eb699d782c2f9afb2170f6": { - "balance": "1337000000000000000000" + "0xfd7ede8f5240a06541eb699d782c2f9afb2170f6": { + "balance": "0x487a9a304539440000" }, - "368c5414b56b8455171fbf076220c1cba4b5ca31": { - "balance": "557940000000000000000" + "0x368c5414b56b8455171fbf076220c1cba4b5ca31": { + "balance": "0x1e3ef911e83d720000" }, - "3e8745ba322f5fd6cb50124ec46688c7a69a7fae": { - "balance": "4925000000000000000000" + "0x3e8745ba322f5fd6cb50124ec46688c7a69a7fae": { + "balance": "0x10afc1ade3b4ed40000" }, - "76506eb4a780c951c74a06b03d3b8362f0999d71": { - "balance": "500000000000000000000" + "0x76506eb4a780c951c74a06b03d3b8362f0999d71": { + "balance": "0x1b1ae4d6e2ef500000" }, - "96d62dfd46087f62409d93dd606188e70e381257": { - "balance": "2000000000000000000000" + "0x96d62dfd46087f62409d93dd606188e70e381257": { + "balance": "0x6c6b935b8bbd400000" }, - "37eada93c475ded2f7e15e7787d400470fa52062": { - "balance": "200000000000000000000" + "0x37eada93c475ded2f7e15e7787d400470fa52062": { + "balance": "0xad78ebc5ac6200000" }, - "26babf42b267fdcf3861fdd4236a5e474848b358": { - "balance": "1000000000000000000000" + "0x26babf42b267fdcf3861fdd4236a5e474848b358": { + "balance": "0x3635c9adc5dea00000" }, - "3526eece1a6bdc3ee7b400fe935b48463f31bed7": { - "balance": "82400000000000000000" + "0x3526eece1a6bdc3ee7b400fe935b48463f31bed7": { + "balance": "0x477879b6d14300000" }, - "27b62816e1e3b8d19b79d1513d5dfa855b0c3a2a": { - "balance": "99941000000000000000" + "0x27b62816e1e3b8d19b79d1513d5dfa855b0c3a2a": { + "balance": "0x56af5c1fd69508000" }, - "b3e3c439069880156600c2892e448d4136c92d9b": { - "balance": "850000000000000000000" + "0xb3e3c439069880156600c2892e448d4136c92d9b": { + "balance": "0x2e141ea081ca080000" }, - "574ad9355390e4889ef42acd138b2a27e78c00ae": { - "balance": "1557000000000000000000" + "0x574ad9355390e4889ef42acd138b2a27e78c00ae": { + "balance": "0x5467b732a913340000" }, - "f0b9d683cea12ba600baace219b0b3c97e8c00e4": { - "balance": "100000000000000000000" + "0xf0b9d683cea12ba600baace219b0b3c97e8c00e4": { + "balance": "0x56bc75e2d63100000" }, - "a437fe6ec103ca8d158f63b334224eccac5b3ea3": { - "balance": "8000000000000000000000" + "0xa437fe6ec103ca8d158f63b334224eccac5b3ea3": { + "balance": "0x1b1ae4d6e2ef5000000" }, - "7a48d877b63a8f8f9383e9d01e53e80c528e955f": { - "balance": "8000000000000000000000" + "0x7a48d877b63a8f8f9383e9d01e53e80c528e955f": { + "balance": "0x1b1ae4d6e2ef5000000" }, - "e965daa34039f7f0df62375a37e5ab8a72b301e7": { - "balance": "4796000000000000000000" + "0xe965daa34039f7f0df62375a37e5ab8a72b301e7": { + "balance": "0x103fddecdb3f5700000" }, - "72cd048a110574482983492dfb1bd27942a696ba": { - "balance": "2000000000000000000000" + "0x72cd048a110574482983492dfb1bd27942a696ba": { + "balance": "0x6c6b935b8bbd400000" }, - "6611ce59a98b072ae959dc49ad511daaaaa19d6b": { - "balance": "200000000000000000000" + "0x6611ce59a98b072ae959dc49ad511daaaaa19d6b": { + "balance": "0xad78ebc5ac6200000" }, - "0d92582fdba05eabc3e51538c56db8813785b328": { - "balance": "191000000000000000000" + "0x0d92582fdba05eabc3e51538c56db8813785b328": { + "balance": "0xa5aa85009e39c0000" }, - "e87e9bbfbbb71c1a740c74c723426df55d063dd9": { - "balance": "7998000000000000000000" + "0xe87e9bbfbbb71c1a740c74c723426df55d063dd9": { + "balance": "0x1b1928c00c7a6380000" }, - "9c99a1da91d5920bc14e0cb914fdf62b94cb8358": { - "balance": "20000000000000000000000" + "0x9c99a1da91d5920bc14e0cb914fdf62b94cb8358": { + "balance": "0x43c33c1937564800000" }, - "fe8e6e3665570dff7a1bda697aa589c0b4e9024a": { - "balance": "2000000000000000000000" + "0xfe8e6e3665570dff7a1bda697aa589c0b4e9024a": { + "balance": "0x6c6b935b8bbd400000" }, - "811461a2b0ca90badac06a9ea16e787b33b196cc": { - "balance": "164000000000000000000" + "0x811461a2b0ca90badac06a9ea16e787b33b196cc": { + "balance": "0x8e3f50b173c100000" }, - "d211b21f1b12b5096181590de07ef81a89537ead": { - "balance": "2000000000000000000000" + "0xd211b21f1b12b5096181590de07ef81a89537ead": { + "balance": "0x6c6b935b8bbd400000" }, - "01155057002f6b0d18acb9388d3bc8129f8f7a20": { - "balance": "1340000000000000000000" + "0x01155057002f6b0d18acb9388d3bc8129f8f7a20": { + "balance": "0x48a43c54602f700000" }, - "8ce22f9fa372449a420610b47ae0c8d565481232": { - "balance": "2000000000000000000000" + "0x8ce22f9fa372449a420610b47ae0c8d565481232": { + "balance": "0x6c6b935b8bbd400000" }, - "e02b74a47628be315b1f76b315054ad44ae9716f": { - "balance": "4000000000000000000000" + "0xe02b74a47628be315b1f76b315054ad44ae9716f": { + "balance": "0xd8d726b7177a800000" }, - "92a7c5a64362e9f842a23deca21035857f889800": { - "balance": "1999944000000000000000" + "0x92a7c5a64362e9f842a23deca21035857f889800": { + "balance": "0x6c6acc67d7b1d40000" }, - "5213f459e078ad3ab95a0920239fcf1633dc04ca": { - "balance": "2599989000000000000000" + "0x5213f459e078ad3ab95a0920239fcf1633dc04ca": { + "balance": "0x8cf2187c2afb188000" }, - "c9957ba94c1b29e5277ec36622704904c63dc023": { - "balance": "1923000000000000000000" + "0xc9957ba94c1b29e5277ec36622704904c63dc023": { + "balance": "0x683efc6782642c0000" }, - "6ac40f532dfee5118117d2ad352da77d4f6da2c8": { - "balance": "400000000000000000000" + "0x6ac40f532dfee5118117d2ad352da77d4f6da2c8": { + "balance": "0x15af1d78b58c400000" }, - "ea1efb3ce789bedec3d67c3e1b3bc0e9aa227f90": { - "balance": "734000000000000000000" + "0xea1efb3ce789bedec3d67c3e1b3bc0e9aa227f90": { + "balance": "0x27ca4bd719f0b80000" }, - "b01e389b28a31d8e4995bdd7d7c81beeab1e4119": { - "balance": "1000000000000000000000" + "0xb01e389b28a31d8e4995bdd7d7c81beeab1e4119": { + "balance": "0x3635c9adc5dea00000" }, - "ee97aa8ac69edf7a987d6d70979f8ec1fbca7a94": { - "balance": "376000000000000000000" + "0xee97aa8ac69edf7a987d6d70979f8ec1fbca7a94": { + "balance": "0x14620c57dddae00000" }, - "0fad05507cdc8f24b2be4cb7fa5d927ddb911b88": { - "balance": "3004447000000000000000" + "0x0fad05507cdc8f24b2be4cb7fa5d927ddb911b88": { + "balance": "0xa2df13f441f0098000" }, - "b6e8afd93dfa9af27f39b4df06076710bee3dfab": { - "balance": "25000000000000000000" + "0xb6e8afd93dfa9af27f39b4df06076710bee3dfab": { + "balance": "0x15af1d78b58c40000" }, - "7d0b255efb57e10f7008aa22d40e9752dfcf0378": { - "balance": "29944000000000000000" + "0x7d0b255efb57e10f7008aa22d40e9752dfcf0378": { + "balance": "0x19f8e7559924c0000" }, - "aef5b12258a18dec07d5ec2e316574919d79d6d6": { - "balance": "2000000000000000000000" + "0xaef5b12258a18dec07d5ec2e316574919d79d6d6": { + "balance": "0x6c6b935b8bbd400000" }, - "63666755bd41b5986997783c13043008242b3cb5": { - "balance": "500000000000000000000" + "0x63666755bd41b5986997783c13043008242b3cb5": { + "balance": "0x1b1ae4d6e2ef500000" }, - "921f5261f4f612760706892625c75e7bce96b708": { - "balance": "2000000000000000000000" + "0x921f5261f4f612760706892625c75e7bce96b708": { + "balance": "0x6c6b935b8bbd400000" }, - "10e1e3377885c42d7df218522ee7766887c05e6a": { - "balance": "300031000000000000000" + "0x10e1e3377885c42d7df218522ee7766887c05e6a": { + "balance": "0x1043c43cde1d398000" }, - "134163be9fbbe1c5696ee255e90b13254395c318": { - "balance": "200000000000000000000" + "0x134163be9fbbe1c5696ee255e90b13254395c318": { + "balance": "0xad78ebc5ac6200000" }, - "870f15e5df8b0eabd02569537a8ef93b56785c42": { - "balance": "388000000000000000000" + "0x870f15e5df8b0eabd02569537a8ef93b56785c42": { + "balance": "0x150894e849b3900000" }, - "68eec1e288ac31b6eaba7e1fbd4f04ad579a6b5d": { - "balance": "2000000000000000000000" + "0x68eec1e288ac31b6eaba7e1fbd4f04ad579a6b5d": { + "balance": "0x6c6b935b8bbd400000" }, - "1a2694ec07cf5e4d68ba40f3e7a14c53f3038c6e": { - "balance": "1000073000000000000000" + "0x1a2694ec07cf5e4d68ba40f3e7a14c53f3038c6e": { + "balance": "0x3636cd06e2db3a8000" }, - "cd9b4cef73390c83a8fd71d7b540a7f9cf8b8c92": { - "balance": "90000000000000000000" + "0xcd9b4cef73390c83a8fd71d7b540a7f9cf8b8c92": { + "balance": "0x4e1003b28d9280000" }, - "c8de7a564c7f4012a6f6d10fd08f47890fbf07d4": { - "balance": "300000000000000000000" + "0xc8de7a564c7f4012a6f6d10fd08f47890fbf07d4": { + "balance": "0x1043561a8829300000" }, - "c0345b33f49ce27fe82cf7c84d141c68f590ce76": { - "balance": "1000000000000000000000" + "0xc0345b33f49ce27fe82cf7c84d141c68f590ce76": { + "balance": "0x3635c9adc5dea00000" }, - "fe53b94989d89964da2061539526bbe979dd2ea9": { - "balance": "1930600000000000000000" + "0xfe53b94989d89964da2061539526bbe979dd2ea9": { + "balance": "0x68a875073e29240000" }, - "14410fb310711be074a80883c635d0ef6afb2539": { - "balance": "2000000000000000000000" + "0x14410fb310711be074a80883c635d0ef6afb2539": { + "balance": "0x6c6b935b8bbd400000" }, - "1d344e962567cb27e44db9f2fac7b68df1c1e6f7": { - "balance": "1940000000000000000000" + "0x1d344e962567cb27e44db9f2fac7b68df1c1e6f7": { + "balance": "0x692ae8897081d00000" }, - "fe016ec17ec5f10e3bb98ff4a1eda045157682ab": { - "balance": "375804000000000000000" + "0xfe016ec17ec5f10e3bb98ff4a1eda045157682ab": { + "balance": "0x145f5402e7b2e60000" }, - "e89da96e06beaf6bd880b378f0680c43fd2e9d30": { - "balance": "601400000000000000000" + "0xe89da96e06beaf6bd880b378f0680c43fd2e9d30": { + "balance": "0x209a1a01a56fec0000" }, - "0fee81ac331efd8f81161c57382bb4507bb9ebec": { - "balance": "400030000000000000000" + "0x0fee81ac331efd8f81161c57382bb4507bb9ebec": { + "balance": "0x15af880d8cdb830000" }, - "40cf90ef5b768c5da585002ccbe6617650d8e837": { - "balance": "999800000000000000000" + "0x40cf90ef5b768c5da585002ccbe6617650d8e837": { + "balance": "0x36330322d5238c0000" }, - "256fa150cc87b5056a07d004efc84524739e62b5": { - "balance": "200000000000000000000" + "0x256fa150cc87b5056a07d004efc84524739e62b5": { + "balance": "0xad78ebc5ac6200000" }, - "1b9b2dc2960e4cb9408f7405827c9b59071612fd": { - "balance": "1000000000000000000000" + "0x1b9b2dc2960e4cb9408f7405827c9b59071612fd": { + "balance": "0x3635c9adc5dea00000" }, - "0efd1789eb1244a3dede0f5de582d8963cb1f39f": { - "balance": "1500000000000000000000" + "0x0efd1789eb1244a3dede0f5de582d8963cb1f39f": { + "balance": "0x5150ae84a8cdf00000" }, - "049c5d4bc6f25d4e456c697b52a07811ccd19fb1": { - "balance": "300048000000000000000" + "0x049c5d4bc6f25d4e456c697b52a07811ccd19fb1": { + "balance": "0x104400a2470e680000" }, - "02b7b1d6b34ce053a40eb65cd4a4f7dddd0e9f30": { - "balance": "685000000000000000000" + "0x02b7b1d6b34ce053a40eb65cd4a4f7dddd0e9f30": { + "balance": "0x252248deb6e6940000" }, - "c1827686c0169485ec15b3a7c8c01517a2874de1": { - "balance": "40000000000000000000" + "0xc1827686c0169485ec15b3a7c8c01517a2874de1": { + "balance": "0x22b1c8c1227a00000" }, - "d8e5c9675ef4deed266b86956fc4590ea7d4a27d": { - "balance": "1000000000000000000000" + "0xd8e5c9675ef4deed266b86956fc4590ea7d4a27d": { + "balance": "0x3635c9adc5dea00000" }, - "48f883e567b436a27bb5a3124dbc84dec775a800": { - "balance": "771840000000000000000" + "0x48f883e567b436a27bb5a3124dbc84dec775a800": { + "balance": "0x29d76e869dcd800000" }, - "a34076f84bd917f20f8342c98ba79e6fb08ecd31": { - "balance": "4200000000000000000000" + "0xa34076f84bd917f20f8342c98ba79e6fb08ecd31": { + "balance": "0xe3aeb5737240a00000" }, - "21ce6d5b9018cec04ad6967944bea39e8030b6b8": { - "balance": "20000000000000000000" + "0x21ce6d5b9018cec04ad6967944bea39e8030b6b8": { + "balance": "0x1158e460913d00000" }, - "0596a27dc3ee115fce2f94b481bc207a9e261525": { - "balance": "1000000000000000000000" + "0x0596a27dc3ee115fce2f94b481bc207a9e261525": { + "balance": "0x3635c9adc5dea00000" }, - "717cf9beab3638308ded7e195e0c86132d163fed": { - "balance": "15097428000000000000000" + "0x717cf9beab3638308ded7e195e0c86132d163fed": { + "balance": "0x3326ee6f865f4220000" }, - "d5ce55d1b62f59433c2126bcec09bafc9dfaa514": { - "balance": "197000000000000000000" + "0xd5ce55d1b62f59433c2126bcec09bafc9dfaa514": { + "balance": "0xaadec983fcff40000" }, - "7dd46da677e161825e12e80dc446f58276e1127c": { - "balance": "820000000000000000000" + "0x7dd46da677e161825e12e80dc446f58276e1127c": { + "balance": "0x2c73c937742c500000" }, - "98c5494a03ac91a768dffc0ea1dde0acbf889019": { - "balance": "200000000000000000000000" + "0x98c5494a03ac91a768dffc0ea1dde0acbf889019": { + "balance": "0x2a5a058fc295ed000000" }, - "617ff2cc803e31c9082233b825d025be3f7b1056": { - "balance": "1970000000000000000000" + "0x617ff2cc803e31c9082233b825d025be3f7b1056": { + "balance": "0x6acb3df27e1f880000" }, - "1091176be19b9964a8f72e0ece6bf8e3cfad6e9c": { - "balance": "10020000000000000000000" + "0x1091176be19b9964a8f72e0ece6bf8e3cfad6e9c": { + "balance": "0x21f2f6f0fc3c6100000" }, - "4ea56e1112641c038d0565a9c296c463afefc17e": { - "balance": "182000000000000000000" + "0x4ea56e1112641c038d0565a9c296c463afefc17e": { + "balance": "0x9ddc1e3b901180000" }, - "e303167f3d4960fe881b32800a2b4aeff1b088d4": { - "balance": "2000000000000000000000" + "0xe303167f3d4960fe881b32800a2b4aeff1b088d4": { + "balance": "0x6c6b935b8bbd400000" }, - "773141127d8cf318aebf88365add3d5527d85b6a": { - "balance": "1000076000000000000000" + "0x773141127d8cf318aebf88365add3d5527d85b6a": { + "balance": "0x3636d7af5ec98e0000" }, - "b916b1a01cdc4e56e7657715ea37e2a0f087d106": { - "balance": "2406017000000000000000" + "0xb916b1a01cdc4e56e7657715ea37e2a0f087d106": { + "balance": "0x826e3181e027068000" }, - "46a430a2d4a894a0d8aa3feac615361415c3f81f": { - "balance": "2000000000000000000000" + "0x46a430a2d4a894a0d8aa3feac615361415c3f81f": { + "balance": "0x6c6b935b8bbd400000" }, - "e6a3010f0201bc94ff67a2f699dfc206f9e76742": { - "balance": "879088000000000000000" + "0xe6a3010f0201bc94ff67a2f699dfc206f9e76742": { + "balance": "0x2fa7cbf66464980000" }, - "d7ad09c6d32657685355b5c6ec8e9f57b4ebb982": { - "balance": "1970000000000000000000" + "0xd7ad09c6d32657685355b5c6ec8e9f57b4ebb982": { + "balance": "0x6acb3df27e1f880000" }, - "95e80a82c20cbe3d2060242cb92d735810d034a2": { - "balance": "32511000000000000000" + "0x95e80a82c20cbe3d2060242cb92d735810d034a2": { + "balance": "0x1c32e463fd4b98000" }, - "9a390162535e398877e416787d6239e0754e937c": { - "balance": "1000000000000000000000" + "0x9a390162535e398877e416787d6239e0754e937c": { + "balance": "0x3635c9adc5dea00000" }, - "d85fdeaf2a61f95db902f9b5a53c9b8f9266c3ac": { - "balance": "2010000000000000000000" + "0xd85fdeaf2a61f95db902f9b5a53c9b8f9266c3ac": { + "balance": "0x6cf65a7e9047280000" }, - "c3e20c96df8d4e38f50b265a98a906d61bc51a71": { - "balance": "2000000000000000000000" + "0xc3e20c96df8d4e38f50b265a98a906d61bc51a71": { + "balance": "0x6c6b935b8bbd400000" }, - "2949fd1def5c76a286b3872424809a07db3966f3": { - "balance": "5236067000000000000000" + "0x2949fd1def5c76a286b3872424809a07db3966f3": { + "balance": "0x11bd906daa0c9438000" }, - "86cdb7e51ac44772be3690f61d0e59766e8bfc18": { - "balance": "4000000000000000000000" + "0x86cdb7e51ac44772be3690f61d0e59766e8bfc18": { + "balance": "0xd8d726b7177a800000" }, - "749a4a768b5f237248938a12c623847bd4e688dc": { - "balance": "72000000000000000000" + "0x749a4a768b5f237248938a12c623847bd4e688dc": { + "balance": "0x3e733628714200000" }, - "3524a000234ebaaf0789a134a2a417383ce5282a": { - "balance": "5635000000000000000000" + "0x3524a000234ebaaf0789a134a2a417383ce5282a": { + "balance": "0x1317955947d8e2c0000" }, - "7b43c7eea8d62355b0a8a81da081c6446b33e9e0": { - "balance": "4000000000000000000000" + "0x7b43c7eea8d62355b0a8a81da081c6446b33e9e0": { + "balance": "0xd8d726b7177a800000" }, - "0eb189ef2c2d5762a963d6b7bdf9698ea8e7b48a": { - "balance": "1337000000000000000000" + "0x0eb189ef2c2d5762a963d6b7bdf9698ea8e7b48a": { + "balance": "0x487a9a304539440000" }, - "767fd7797d5169a05f7364321c19843a8c348e1e": { - "balance": "18800000000000000000" + "0x767fd7797d5169a05f7364321c19843a8c348e1e": { + "balance": "0x104e70464b1580000" }, - "1b2639588b55c344b023e8de5fd4087b1f040361": { - "balance": "1500000000000000000000" + "0x1b2639588b55c344b023e8de5fd4087b1f040361": { + "balance": "0x5150ae84a8cdf00000" }, - "1e33d1c2fb5e084f2f1d54bc5267727fec3f985d": { - "balance": "500000000000000000000" + "0x1e33d1c2fb5e084f2f1d54bc5267727fec3f985d": { + "balance": "0x1b1ae4d6e2ef500000" }, - "06b106649aa8c421ddcd1b8c32cd0418cf30da1f": { - "balance": "40000000000000000000000" + "0x06b106649aa8c421ddcd1b8c32cd0418cf30da1f": { + "balance": "0x878678326eac9000000" }, - "3c5a241459c6abbf630239c98a30d20b8b3ac561": { - "balance": "157600000000000000000" + "0x3c5a241459c6abbf630239c98a30d20b8b3ac561": { + "balance": "0x88b23acffd9900000" }, - "0f4f94b9191bb7bb556aaad7c74ddb288417a50b": { - "balance": "1400000000000000000000" + "0x0f4f94b9191bb7bb556aaad7c74ddb288417a50b": { + "balance": "0x4be4e7267b6ae00000" }, - "d6f4a7d04e8faf20e8c6eb859cf7f78dd23d7a15": { - "balance": "131784000000000000000" + "0xd6f4a7d04e8faf20e8c6eb859cf7f78dd23d7a15": { + "balance": "0x724ded1c748140000" }, - "61adf5929a5e2981684ea243baa01f7d1f5e148a": { - "balance": "110302000000000000000" + "0x61adf5929a5e2981684ea243baa01f7d1f5e148a": { + "balance": "0x5fabf6c984f230000" }, - "8f58d8348fc1dc4e0dd8343b6543c857045ee940": { - "balance": "13632400000000000000000" + "0x8f58d8348fc1dc4e0dd8343b6543c857045ee940": { + "balance": "0x2e3038df47303280000" }, - "a6e3baa38e104a1e27a4d82869afb1c0ae6eff8d": { - "balance": "19690000000000000000" + "0xa6e3baa38e104a1e27a4d82869afb1c0ae6eff8d": { + "balance": "0x11140eead8b710000" }, - "67350b5331926f5e28f3c1e986f96443809c8b8c": { - "balance": "352000000000000000000" + "0x67350b5331926f5e28f3c1e986f96443809c8b8c": { + "balance": "0x1314fb370629800000" }, - "0b5d66b13c87b392e94d91d5f76c0d450a552843": { - "balance": "2000000000000000000000" + "0x0b5d66b13c87b392e94d91d5f76c0d450a552843": { + "balance": "0x6c6b935b8bbd400000" }, - "562a8dcbbeeef7b360685d27303bd69e094accf6": { - "balance": "10000000000000000000000" + "0x562a8dcbbeeef7b360685d27303bd69e094accf6": { + "balance": "0x21e19e0c9bab2400000" }, - "b5d9934d7b292bcf603b2880741eb760288383a0": { - "balance": "16700000000000000000" + "0xb5d9934d7b292bcf603b2880741eb760288383a0": { + "balance": "0xe7c2518505060000" }, - "6fc53662371dca587b59850de78606e2359df383": { - "balance": "180000000000000000000" + "0x6fc53662371dca587b59850de78606e2359df383": { + "balance": "0x9c2007651b2500000" }, - "e069c0173352b10bf6834719db5bed01adf97bbc": { - "balance": "18894000000000000000" + "0xe069c0173352b10bf6834719db5bed01adf97bbc": { + "balance": "0x10634f8e5323b0000" }, - "10a93457496f1108cd98e140a1ecdbae5e6de171": { - "balance": "399600000000000000000" + "0x10a93457496f1108cd98e140a1ecdbae5e6de171": { + "balance": "0x15a99062d416180000" }, - "69ff8901b541763f817c5f2998f02dcfc1df2997": { - "balance": "40000000000000000000" + "0x69ff8901b541763f817c5f2998f02dcfc1df2997": { + "balance": "0x22b1c8c1227a00000" }, - "00c27d63fde24b92ee8a1e7ed5d26d8dc5c83b03": { - "balance": "2000000000000000000000" + "0x00c27d63fde24b92ee8a1e7ed5d26d8dc5c83b03": { + "balance": "0x6c6b935b8bbd400000" }, - "77f81b1b26fc84d6de97ef8b9fbd72a33130cc4a": { - "balance": "1000000000000000000000" + "0x77f81b1b26fc84d6de97ef8b9fbd72a33130cc4a": { + "balance": "0x3635c9adc5dea00000" }, - "6d20ef9704670a500bb269b5832e859802049f01": { - "balance": "130000000000000000000" + "0x6d20ef9704670a500bb269b5832e859802049f01": { + "balance": "0x70c1cc73b00c80000" }, - "186afdc085f2a3dce4615edffbadf71a11780f50": { - "balance": "200000000000000000000" + "0x186afdc085f2a3dce4615edffbadf71a11780f50": { + "balance": "0xad78ebc5ac6200000" }, - "7ff0c63f70241bece19b737e5341b12b109031d8": { - "balance": "346000000000000000000" + "0x7ff0c63f70241bece19b737e5341b12b109031d8": { + "balance": "0x12c1b6eed03d280000" }, - "9d4174aa6af28476e229dadb46180808c67505c1": { - "balance": "1219430000000000000000" + "0x9d4174aa6af28476e229dadb46180808c67505c1": { + "balance": "0x421afda42ed6970000" }, - "5fec49c665e64ee89dd441ee74056e1f01e92870": { - "balance": "6320000000000000000000" + "0x5fec49c665e64ee89dd441ee74056e1f01e92870": { + "balance": "0x1569b9e733474c00000" }, - "6cd228dc712169307fe27ceb7477b48cfc8272e5": { - "balance": "77600000000000000000" + "0x6cd228dc712169307fe27ceb7477b48cfc8272e5": { + "balance": "0x434ea94db8a500000" }, - "fd918536a8efa6f6cefe1fa1153995fef5e33d3b": { - "balance": "500000000000000000000" + "0xfd918536a8efa6f6cefe1fa1153995fef5e33d3b": { + "balance": "0x1b1ae4d6e2ef500000" }, - "2fbb504a5dc527d3e3eb0085e2fc3c7dd538cb7a": { - "balance": "1249961000000000000000" + "0x2fbb504a5dc527d3e3eb0085e2fc3c7dd538cb7a": { + "balance": "0x43c2b18aec3c0a8000" }, - "6ab323ae5056ed0a453072c5abe2e42fcf5d7139": { - "balance": "880000000000000000000" + "0x6ab323ae5056ed0a453072c5abe2e42fcf5d7139": { + "balance": "0x2fb474098f67c00000" }, - "67d682a282ef73fb8d6e9071e2614f47ab1d0f5e": { - "balance": "1000000000000000000000" + "0x67d682a282ef73fb8d6e9071e2614f47ab1d0f5e": { + "balance": "0x3635c9adc5dea00000" }, - "1858cf11aea79f5398ad2bb22267b5a3c952ea74": { - "balance": "9850000000000000000000" + "0x1858cf11aea79f5398ad2bb22267b5a3c952ea74": { + "balance": "0x215f835bc769da80000" }, - "39d6caca22bccd6a72f87ee7d6b59e0bde21d719": { - "balance": "2002000000000000000000" + "0x39d6caca22bccd6a72f87ee7d6b59e0bde21d719": { + "balance": "0x6c8754c8f30c080000" }, - "daa63cbda45dd487a3f1cd4a746a01bb5e060b90": { - "balance": "4797800000000000000000" + "0xdaa63cbda45dd487a3f1cd4a746a01bb5e060b90": { + "balance": "0x10416d9b02a89240000" }, - "a90476e2efdfee4f387b0f32a50678b0efb573b5": { - "balance": "10000000000000000000000" + "0xa90476e2efdfee4f387b0f32a50678b0efb573b5": { + "balance": "0x21e19e0c9bab2400000" }, - "ae5aa1e6c2b60f6fd3efe721bb4a719cbe3d6f5d": { - "balance": "795860000000000000000" + "0xae5aa1e6c2b60f6fd3efe721bb4a719cbe3d6f5d": { + "balance": "0x2b24c6b55a5e620000" }, - "ac2e766dac3f648f637ac6713fddb068e4a4f04d": { - "balance": "197000000000000000000" + "0xac2e766dac3f648f637ac6713fddb068e4a4f04d": { + "balance": "0xaadec983fcff40000" }, - "6191ddc9b64a8e0890b4323709d7a07c48b92a64": { - "balance": "775000000000000000000" + "0x6191ddc9b64a8e0890b4323709d7a07c48b92a64": { + "balance": "0x2a034919dfbfbc0000" }, - "cc4f0ff2aeb67d54ce3bc8c6510b9ae83e9d328b": { - "balance": "400000000000000000000" + "0xcc4f0ff2aeb67d54ce3bc8c6510b9ae83e9d328b": { + "balance": "0x15af1d78b58c400000" }, - "ca23f62dff0d6460036c62e840aec5577e0befd2": { - "balance": "140800000000000000000" + "0xca23f62dff0d6460036c62e840aec5577e0befd2": { + "balance": "0x7a1fe160277000000" }, - "97dc26ec670a31e0221d2a75bc5dc9f90c1f6fd4": { - "balance": "50000000000000000000" + "0x97dc26ec670a31e0221d2a75bc5dc9f90c1f6fd4": { + "balance": "0x2b5e3af16b1880000" }, - "848c994a79003fe7b7c26cc63212e1fc2f9c19eb": { - "balance": "2000000000000000000000" + "0x848c994a79003fe7b7c26cc63212e1fc2f9c19eb": { + "balance": "0x6c6b935b8bbd400000" }, - "20c284ba10a20830fc3d699ec97d2dfa27e1b95e": { - "balance": "2000000000000000000000" + "0x20c284ba10a20830fc3d699ec97d2dfa27e1b95e": { + "balance": "0x6c6b935b8bbd400000" }, - "4fa3f32ef4086448b344d5f0a9890d1ce4d617c3": { - "balance": "1500000000000000000000" + "0x4fa3f32ef4086448b344d5f0a9890d1ce4d617c3": { + "balance": "0x5150ae84a8cdf00000" }, - "255abc8d08a096a88f3d6ab55fbc7352bddcb9ce": { - "balance": "82161000000000000000" + "0x255abc8d08a096a88f3d6ab55fbc7352bddcb9ce": { + "balance": "0x4743682313ede8000" }, - "7c60e51f0be228e4d56fdd2992c814da7740c6bc": { - "balance": "200000000000000000000" + "0x7c60e51f0be228e4d56fdd2992c814da7740c6bc": { + "balance": "0xad78ebc5ac6200000" }, - "1c356cfdb95febb714633b28d5c132dd84a9b436": { - "balance": "25000000000000000000" + "0x1c356cfdb95febb714633b28d5c132dd84a9b436": { + "balance": "0x15af1d78b58c40000" }, - "5062e5134c612f12694dbd0e131d4ce197d1b6a4": { - "balance": "1000000000000000000000" + "0x5062e5134c612f12694dbd0e131d4ce197d1b6a4": { + "balance": "0x3635c9adc5dea00000" }, - "ed862616fcbfb3becb7406f73c5cbff00c940755": { - "balance": "1700000000000000000000" + "0xed862616fcbfb3becb7406f73c5cbff00c940755": { + "balance": "0x5c283d410394100000" }, - "62c9b271ffd5b770a5eee4edc9787b5cdc709714": { - "balance": "2000000000000000000000" + "0x62c9b271ffd5b770a5eee4edc9787b5cdc709714": { + "balance": "0x6c6b935b8bbd400000" }, - "3c925619c9b33144463f0537d896358706c520b0": { - "balance": "2000000000000000000000" + "0x3c925619c9b33144463f0537d896358706c520b0": { + "balance": "0x6c6b935b8bbd400000" }, - "ffe2e28c3fb74749d7e780dc8a5d422538e6e451": { - "balance": "253319000000000000000" + "0xffe2e28c3fb74749d7e780dc8a5d422538e6e451": { + "balance": "0xdbb81e05bc12d8000" }, - "37195a635dcc62f56a718049d47e8f9f96832891": { - "balance": "1970000000000000000000" + "0x37195a635dcc62f56a718049d47e8f9f96832891": { + "balance": "0x6acb3df27e1f880000" }, - "90e9a9a82edaa814c284d232b6e9ba90701d4952": { - "balance": "100007000000000000000" + "0x90e9a9a82edaa814c284d232b6e9ba90701d4952": { + "balance": "0x56be03ca3e47d8000" }, - "e0c4ab9072b4e6e3654a49f8a8db026a4b3386a9": { - "balance": "2000000000000000000000" + "0xe0c4ab9072b4e6e3654a49f8a8db026a4b3386a9": { + "balance": "0x6c6b935b8bbd400000" }, - "439dee3f7679ff1030733f9340c096686b49390b": { - "balance": "2000000000000000000000" + "0x439dee3f7679ff1030733f9340c096686b49390b": { + "balance": "0x6c6b935b8bbd400000" }, - "548558d08cfcb101181dac1eb6094b4e1a896fa6": { - "balance": "1999944000000000000000" + "0x548558d08cfcb101181dac1eb6094b4e1a896fa6": { + "balance": "0x6c6acc67d7b1d40000" }, - "3090f8130ec44466afadb36ed3c926133963677b": { - "balance": "4000000000000000000000" + "0x3090f8130ec44466afadb36ed3c926133963677b": { + "balance": "0xd8d726b7177a800000" }, - "d1648503b1ccc5b8be03fa1ec4f3ee267e6adf7b": { - "balance": "5828000000000000000000" + "0xd1648503b1ccc5b8be03fa1ec4f3ee267e6adf7b": { + "balance": "0x13befbf51eec0900000" }, - "65b42faecc1edfb14283ca979af545f63b30e60c": { - "balance": "18200000000000000000" + "0x65b42faecc1edfb14283ca979af545f63b30e60c": { + "balance": "0xfc936392801c0000" }, - "6420f8bcc8164a6152a99d6b99693005ccf7e053": { - "balance": "999972000000000000000" + "0x6420f8bcc8164a6152a99d6b99693005ccf7e053": { + "balance": "0x36356633ebd8ea0000" }, - "84b4b74e6623ba9d1583e0cfbe49643f16384149": { - "balance": "20000000000000000000" + "0x84b4b74e6623ba9d1583e0cfbe49643f16384149": { + "balance": "0x1158e460913d00000" }, - "b8310a16cc6abc465007694b930f978ece1930bd": { - "balance": "740000000000000000000" + "0xb8310a16cc6abc465007694b930f978ece1930bd": { + "balance": "0x281d901f4fdd100000" }, - "16019a4dafab43f4d9bf4163fae0847d848afca2": { - "balance": "25060000000000000000" + "0x16019a4dafab43f4d9bf4163fae0847d848afca2": { + "balance": "0x15bc70139f74a0000" }, - "479298a9de147e63a1c7d6d2fce089c7e64083bd": { - "balance": "9999999000000000000000" + "0x479298a9de147e63a1c7d6d2fce089c7e64083bd": { + "balance": "0x21e19dd3c3c0d798000" }, - "030973807b2f426914ad00181270acd27b8ff61f": { - "balance": "5348000000000000000000" + "0x030973807b2f426914ad00181270acd27b8ff61f": { + "balance": "0x121ea68c114e5100000" }, - "b07bcf1cc5d4462e5124c965ecf0d70dc27aca75": { - "balance": "1600000000000000000000" + "0xb07bcf1cc5d4462e5124c965ecf0d70dc27aca75": { + "balance": "0x56bc75e2d631000000" }, - "a2f798e077b07d86124e1407df32890dbb4b6379": { - "balance": "200000000000000000000" + "0xa2f798e077b07d86124e1407df32890dbb4b6379": { + "balance": "0xad78ebc5ac6200000" }, - "0cbd921dbe121563b98a6871fecb14f1cc7e88d7": { - "balance": "200000000000000000000" + "0x0cbd921dbe121563b98a6871fecb14f1cc7e88d7": { + "balance": "0xad78ebc5ac6200000" }, - "6042276df2983fe2bc4759dc1943e18fdbc34f77": { - "balance": "1970000000000000000000" + "0x6042276df2983fe2bc4759dc1943e18fdbc34f77": { + "balance": "0x6acb3df27e1f880000" }, - "be2b2280523768ea8ac35cd9e888d60a719300d4": { - "balance": "2000000000000000000000" + "0xbe2b2280523768ea8ac35cd9e888d60a719300d4": { + "balance": "0x6c6b935b8bbd400000" }, - "2f4da753430fc09e73acbccdcde9da647f2b5d37": { - "balance": "200000000000000000000" + "0x2f4da753430fc09e73acbccdcde9da647f2b5d37": { + "balance": "0xad78ebc5ac6200000" }, - "734223d27ff23e5906caed22595701bb34830ca1": { - "balance": "2000000000000000000000" + "0x734223d27ff23e5906caed22595701bb34830ca1": { + "balance": "0x6c6b935b8bbd400000" }, - "5b430d779696a3653fc60e74fbcbacf6b9c2baf1": { - "balance": "14000000000000000000000" + "0x5b430d779696a3653fc60e74fbcbacf6b9c2baf1": { + "balance": "0x2f6f10780d22cc00000" }, - "84232107932b12e03186583525ce023a703ef8d9": { - "balance": "2000000000000000000000" + "0x84232107932b12e03186583525ce023a703ef8d9": { + "balance": "0x6c6b935b8bbd400000" }, - "4ed14d81b60b23fb25054d8925dfa573dcae6168": { - "balance": "340000000000000000000" + "0x4ed14d81b60b23fb25054d8925dfa573dcae6168": { + "balance": "0x126e72a69a50d00000" }, - "8b338411f26ccf37658cc75521d77629099e467d": { - "balance": "2000000000000000000000" + "0x8b338411f26ccf37658cc75521d77629099e467d": { + "balance": "0x6c6b935b8bbd400000" }, - "a37622ac9bbdc4d82b75015d745b9f8de65a28ec": { - "balance": "2910000000000000000000" + "0xa37622ac9bbdc4d82b75015d745b9f8de65a28ec": { + "balance": "0x9dc05cce28c2b80000" }, - "1dd77441844afe9cc18f15d8c77bccfb655ee034": { - "balance": "4850000000000000000000" + "0x1dd77441844afe9cc18f15d8c77bccfb655ee034": { + "balance": "0x106eb45579944880000" }, - "65849be1af20100eb8a3ba5a5be4d3ae8db5a70e": { - "balance": "400000000000000000000" + "0x65849be1af20100eb8a3ba5a5be4d3ae8db5a70e": { + "balance": "0x15af1d78b58c400000" }, - "d5586da4e59583c8d86cccf71a86197f17996749": { - "balance": "2000000000000000000000" + "0xd5586da4e59583c8d86cccf71a86197f17996749": { + "balance": "0x6c6b935b8bbd400000" }, - "4b53ae59c784b6b5c43616b9a0809558e684e10c": { - "balance": "1200000000000000000000" + "0x4b53ae59c784b6b5c43616b9a0809558e684e10c": { + "balance": "0x410d586a20a4c00000" }, - "55d42eb495bf46a634997b5f2ea362814918e2b0": { - "balance": "106128000000000000000" + "0x55d42eb495bf46a634997b5f2ea362814918e2b0": { + "balance": "0x5c0d265b5b2a80000" }, - "959ff17f1d51b473b44010052755a7fa8c75bd54": { - "balance": "1970000000000000000000" + "0x959ff17f1d51b473b44010052755a7fa8c75bd54": { + "balance": "0x6acb3df27e1f880000" }, - "5a2daab25c31a61a92a4c82c9925a1d2ef58585e": { - "balance": "225400000000000000000" + "0x5a2daab25c31a61a92a4c82c9925a1d2ef58585e": { + "balance": "0xc380da9c7950c0000" }, - "24c0c88b54a3544709828ab4ab06840559f6c5e2": { - "balance": "2674000000000000000000" + "0x24c0c88b54a3544709828ab4ab06840559f6c5e2": { + "balance": "0x90f534608a72880000" }, - "7e8649e690fc8c1bfda1b5e186581f649b50fe33": { - "balance": "98500000000000000000" + "0x7e8649e690fc8c1bfda1b5e186581f649b50fe33": { + "balance": "0x556f64c1fe7fa0000" }, - "4acfa9d94eda6625c9dfa5f9f4f5d107c4031fdf": { - "balance": "39400000000000000000" + "0x4acfa9d94eda6625c9dfa5f9f4f5d107c4031fdf": { + "balance": "0x222c8eb3ff6640000" }, - "5778ffdc9b94c5a59e224eb965b6de90f222d170": { - "balance": "335320000000000000000" + "0x5778ffdc9b94c5a59e224eb965b6de90f222d170": { + "balance": "0x122d7ff36603fc0000" }, - "825a7f4e10949cb6f8964268f1fa5f57e712b4c4": { - "balance": "20000000000000000000" + "0x825a7f4e10949cb6f8964268f1fa5f57e712b4c4": { + "balance": "0x1158e460913d00000" }, - "6f39cc37caaa2ddc9b610f6131e0619fae772a3c": { - "balance": "500000000000000000000" + "0x6f39cc37caaa2ddc9b610f6131e0619fae772a3c": { + "balance": "0x1b1ae4d6e2ef500000" }, - "5b437365ae3a9a2ff97c68e6f90a7620188c7d19": { - "balance": "2002000000000000000000" + "0x5b437365ae3a9a2ff97c68e6f90a7620188c7d19": { + "balance": "0x6c8754c8f30c080000" }, - "6710c2c03c65992b2e774be52d3ab4a6ba217ef7": { - "balance": "11600000000000000000000" + "0x6710c2c03c65992b2e774be52d3ab4a6ba217ef7": { + "balance": "0x274d656ac90e3400000" }, - "896e335ca47af57962fa0f4dbf3e45e688cba584": { - "balance": "1368500000000000000000" + "0x896e335ca47af57962fa0f4dbf3e45e688cba584": { + "balance": "0x4a2fc0ab6052120000" }, - "b57549bfbc9bdd18f736b22650e48a73601fa65c": { - "balance": "446000000000000000000" + "0xb57549bfbc9bdd18f736b22650e48a73601fa65c": { + "balance": "0x182d7e4cfda0380000" }, - "85ca1e727e9d1a87991cc2c41840ebb9edf21d1b": { - "balance": "13370000000000000000" + "0x85ca1e727e9d1a87991cc2c41840ebb9edf21d1b": { + "balance": "0xb98bc829a6f90000" }, - "cf4166746e1d3bc1f8d0714b01f17e8a62df1464": { - "balance": "1004700000000000000000" + "0xcf4166746e1d3bc1f8d0714b01f17e8a62df1464": { + "balance": "0x3677036edf0af60000" }, - "4a75c3d4fa6fccbd5dd5a703c15379a1e783e9b7": { - "balance": "1820000000000000000000" + "0x4a75c3d4fa6fccbd5dd5a703c15379a1e783e9b7": { + "balance": "0x62a992e53a0af00000" }, - "9e5811b40be1e2a1e1d28c3b0774acde0a09603d": { - "balance": "3000000000000000000000" + "0x9e5811b40be1e2a1e1d28c3b0774acde0a09603d": { + "balance": "0xa2a15d09519be00000" }, - "763886e333c56feff85be3951ab0b889ce262e95": { - "balance": "2000000000000000000000" + "0x763886e333c56feff85be3951ab0b889ce262e95": { + "balance": "0x6c6b935b8bbd400000" }, - "2b101e822cd962962a06800a2c08d3b15d82b735": { - "balance": "152000000000000000000" + "0x2b101e822cd962962a06800a2c08d3b15d82b735": { + "balance": "0x83d6c7aab63600000" }, - "a01e9476df84431825c836e8803a97e22fa5a0cd": { - "balance": "6000000000000000000000" + "0xa01e9476df84431825c836e8803a97e22fa5a0cd": { + "balance": "0x14542ba12a337c00000" }, - "be4e7d983f2e2a636b1102ec7039efebc842e98d": { - "balance": "66000000000000000000" + "0xbe4e7d983f2e2a636b1102ec7039efebc842e98d": { + "balance": "0x393ef1a5127c80000" }, - "9e427272516b3e67d4fcbf82f59390d04c8e28e5": { - "balance": "4000000000000000000000" + "0x9e427272516b3e67d4fcbf82f59390d04c8e28e5": { + "balance": "0xd8d726b7177a800000" }, - "e0d231e144ec9107386c7c9b02f1702ceaa4f700": { - "balance": "5000057000000000000000" + "0xe0d231e144ec9107386c7c9b02f1702ceaa4f700": { + "balance": "0x10f0dbae61009528000" }, - "6a0f056066c2d56628850273d7ecb7f8e6e9129e": { - "balance": "5000016000000000000000" + "0x6a0f056066c2d56628850273d7ecb7f8e6e9129e": { + "balance": "0x10f0d293cc7a5880000" }, - "d1538e9a87e59ca9ec8e5826a5b793f99f96c4c3": { - "balance": "1000000000000000000000" + "0xd1538e9a87e59ca9ec8e5826a5b793f99f96c4c3": { + "balance": "0x3635c9adc5dea00000" }, - "f85bab1cb3710fc05fa19ffac22e67521a0ba21d": { - "balance": "2003000000000000000000" + "0xf85bab1cb3710fc05fa19ffac22e67521a0ba21d": { + "balance": "0x6c95357fa6b36c0000" }, - "f7cbdba6be6cfe68dbc23c2b0ff530ee05226f84": { - "balance": "20000000000000000000" + "0xf7cbdba6be6cfe68dbc23c2b0ff530ee05226f84": { + "balance": "0x1158e460913d00000" }, - "4eb87ba8788eba0df87e5b9bd50a8e45368091c1": { - "balance": "20000000000000000000" + "0x4eb87ba8788eba0df87e5b9bd50a8e45368091c1": { + "balance": "0x1158e460913d00000" }, - "1479a9ec7480b74b5db8fc499be352da7f84ee9c": { - "balance": "1000000000000000000000" + "0x1479a9ec7480b74b5db8fc499be352da7f84ee9c": { + "balance": "0x3635c9adc5dea00000" }, - "d311bcd7aa4e9b4f383ff3d0d6b6e07e21e3705d": { - "balance": "200000000000000000000" + "0xd311bcd7aa4e9b4f383ff3d0d6b6e07e21e3705d": { + "balance": "0xad78ebc5ac6200000" }, - "425c1816868f7777cc2ba6c6d28c9e1e796c52b3": { - "balance": "10000000000000000000000" + "0x425c1816868f7777cc2ba6c6d28c9e1e796c52b3": { + "balance": "0x21e19e0c9bab2400000" }, - "8510ee934f0cbc900e1007eb38a21e2a5101b8b2": { - "balance": "106000000000000000000" + "0x8510ee934f0cbc900e1007eb38a21e2a5101b8b2": { + "balance": "0x5bf0ba6634f680000" }, - "01e864d354741b423e6f42851724468c74f5aa9c": { - "balance": "20000000000000000000000" + "0x01e864d354741b423e6f42851724468c74f5aa9c": { + "balance": "0x43c33c1937564800000" }, - "a543a066fb32a8668aa0736a0c9cd40d78098727": { - "balance": "1000000000000000000000" + "0xa543a066fb32a8668aa0736a0c9cd40d78098727": { + "balance": "0x3635c9adc5dea00000" }, - "f3eb1948b951e22df1617829bf3b8d8680ec6b68": { - "balance": "4000000000000000000000" + "0xf3eb1948b951e22df1617829bf3b8d8680ec6b68": { + "balance": "0xd8d726b7177a800000" }, - "f6b782f4dcd745a6c0e2e030600e04a24b25e542": { - "balance": "400000000000000000000" + "0xf6b782f4dcd745a6c0e2e030600e04a24b25e542": { + "balance": "0x15af1d78b58c400000" }, - "229f4f1a2a4f540774505b4707a81de44410255b": { - "balance": "2000000000000000000000" + "0x229f4f1a2a4f540774505b4707a81de44410255b": { + "balance": "0x6c6b935b8bbd400000" }, - "cff8d06b00e3f50c191099ad56ba6ae26571cd88": { - "balance": "1000000000000000000000" + "0xcff8d06b00e3f50c191099ad56ba6ae26571cd88": { + "balance": "0x3635c9adc5dea00000" }, - "910b7d577a7e39aa23acf62ad7f1ef342934b968": { - "balance": "10000000000000000000000" + "0x910b7d577a7e39aa23acf62ad7f1ef342934b968": { + "balance": "0x21e19e0c9bab2400000" }, - "392433d2ce83d3fb4a7602cca3faca4ec140a4b0": { - "balance": "51000000000000000000" + "0x392433d2ce83d3fb4a7602cca3faca4ec140a4b0": { + "balance": "0x2c3c465ca58ec0000" }, - "8ff46045687723dc33e4d099a06904f1ebb584dc": { - "balance": "2000000000000000000000" + "0x8ff46045687723dc33e4d099a06904f1ebb584dc": { + "balance": "0x6c6b935b8bbd400000" }, - "9ca0429f874f8dcee2e9c062a9020a842a587ab9": { - "balance": "2000000000000000000000" + "0x9ca0429f874f8dcee2e9c062a9020a842a587ab9": { + "balance": "0x6c6b935b8bbd400000" }, - "160ceb6f980e04315f53c4fc988b2bf69e284d7d": { - "balance": "19100000000000000000" + "0x160ceb6f980e04315f53c4fc988b2bf69e284d7d": { + "balance": "0x10910d4cdc9f60000" }, - "c340f9b91c26728c31d121d5d6fc3bb56d3d8624": { - "balance": "2000000000000000000000" + "0xc340f9b91c26728c31d121d5d6fc3bb56d3d8624": { + "balance": "0x6c6b935b8bbd400000" }, - "afa1d5ad38fed44759c05b8993c1aa0dace19f40": { - "balance": "80000000000000000000" + "0xafa1d5ad38fed44759c05b8993c1aa0dace19f40": { + "balance": "0x4563918244f400000" }, - "3969b4f71bb8751ede43c016363a7a614f76118e": { - "balance": "2000000000000000000000" + "0x3969b4f71bb8751ede43c016363a7a614f76118e": { + "balance": "0x6c6b935b8bbd400000" }, - "2bb6f578adfbe7b2a116b3554facf9969813c319": { - "balance": "7400000000000000000000" + "0x2bb6f578adfbe7b2a116b3554facf9969813c319": { + "balance": "0x19127a1391ea2a00000" }, - "8334764b7b397a4e578f50364d60ce44899bff94": { - "balance": "92500000000000000000" + "0x8334764b7b397a4e578f50364d60ce44899bff94": { + "balance": "0x503b203e9fba20000" }, - "9dd2196624a1ddf14a9d375e5f07152baf22afa2": { - "balance": "1211747000000000000000" + "0x9dd2196624a1ddf14a9d375e5f07152baf22afa2": { + "balance": "0x41b05e2463a5438000" }, - "f242da845d42d4bf779a00f295b40750fe49ea13": { - "balance": "1000000000000000000000" + "0xf242da845d42d4bf779a00f295b40750fe49ea13": { + "balance": "0x3635c9adc5dea00000" }, - "c6234657a807384126f8968ca1708bb07baa493c": { - "balance": "20000000000000000000" + "0xc6234657a807384126f8968ca1708bb07baa493c": { + "balance": "0x1158e460913d00000" }, - "94c055e858357aaa30cf2041fa9059ce164a1f91": { - "balance": "19999000000000000000000" + "0x94c055e858357aaa30cf2041fa9059ce164a1f91": { + "balance": "0x43c25e0dcc1bd1c0000" }, - "74c73c90528a157336f1e7ea20620ae53fd24728": { - "balance": "8969310000000000000000" + "0x74c73c90528a157336f1e7ea20620ae53fd24728": { + "balance": "0x1e63a2e538f16e30000" }, - "19e7f3eb7bf67f3599209ebe08b62ad3327f8cde": { - "balance": "2000000000000000000000" + "0x19e7f3eb7bf67f3599209ebe08b62ad3327f8cde": { + "balance": "0x6c6b935b8bbd400000" }, - "b2b516fdd19e7f3864b6d2cf1b252a4156f1b03b": { - "balance": "53720000000000000000" + "0xb2b516fdd19e7f3864b6d2cf1b252a4156f1b03b": { + "balance": "0x2e983c76115fc0000" }, - "8164e78314ae16b28926cc553d2ccb16f356270d": { - "balance": "8450000000000000000000" + "0x8164e78314ae16b28926cc553d2ccb16f356270d": { + "balance": "0x1ca134e95fb32c80000" }, - "4d828894752f6f25175daf2177094487954b6f9f": { - "balance": "1459683000000000000000" + "0x4d828894752f6f25175daf2177094487954b6f9f": { + "balance": "0x4f212bc2c49c838000" }, - "ab84a0f147ad265400002b85029a41fc9ce57f85": { - "balance": "1000000000000000000000" + "0xab84a0f147ad265400002b85029a41fc9ce57f85": { + "balance": "0x3635c9adc5dea00000" }, - "f3fe51fde34413c73318b9c85437fe7e820f561a": { - "balance": "1003200000000000000000" + "0xf3fe51fde34413c73318b9c85437fe7e820f561a": { + "balance": "0x3662325cd18fe00000" }, - "16c7b31e8c376282ac2271728c31c95e35d952c3": { - "balance": "2000000000000000000000" + "0x16c7b31e8c376282ac2271728c31c95e35d952c3": { + "balance": "0x6c6b935b8bbd400000" }, - "80d5c40c59c7f54ea3a55fcfd175471ea35099b3": { - "balance": "1000000000000000000000" + "0x80d5c40c59c7f54ea3a55fcfd175471ea35099b3": { + "balance": "0x3635c9adc5dea00000" }, - "7abb10f5bd9bc33b8ec1a82d64b55b6b18777541": { - "balance": "20000000000000000000000" + "0x7abb10f5bd9bc33b8ec1a82d64b55b6b18777541": { + "balance": "0x43c33c1937564800000" }, - "095b0ea2b218d82e0aea7c2889238a39c9bf9077": { - "balance": "20000000000000000000000" + "0x095b0ea2b218d82e0aea7c2889238a39c9bf9077": { + "balance": "0x43c33c1937564800000" }, - "5d5cdbe25b2a044b7b9be383bcaa5807b06d3c6b": { - "balance": "2000000000000000000000" + "0x5d5cdbe25b2a044b7b9be383bcaa5807b06d3c6b": { + "balance": "0x6c6b935b8bbd400000" }, - "323749a3b971959e46c8b4822dcafaf7aaf9bd6e": { - "balance": "20064000000000000000" + "0x323749a3b971959e46c8b4822dcafaf7aaf9bd6e": { + "balance": "0x11671a5b245700000" }, - "e0272213e8d2fd3e96bd6217b24b4ba01b617079": { - "balance": "20000000000000000000" + "0xe0272213e8d2fd3e96bd6217b24b4ba01b617079": { + "balance": "0x1158e460913d00000" }, - "00acbfb2f25a5485c739ef70a44eeeeb7c65a66f": { - "balance": "100000000000000000000" + "0x00acbfb2f25a5485c739ef70a44eeeeb7c65a66f": { + "balance": "0x56bc75e2d63100000" }, - "52f15423323c24f19ae2ab673717229d3f747d9b": { - "balance": "1026115000000000000000" + "0x52f15423323c24f19ae2ab673717229d3f747d9b": { + "balance": "0x37a034cbe8e3f38000" }, - "cb4abfc282aed76e5d57affda542c1f382fcacf4": { - "balance": "8136100000000000000000" + "0xcb4abfc282aed76e5d57affda542c1f382fcacf4": { + "balance": "0x1b90f11c3183faa0000" }, - "f71b4534f286e43093b1e15efea749e7597b8b57": { - "balance": "104410000000000000000000" + "0xf71b4534f286e43093b1e15efea749e7597b8b57": { + "balance": "0x161c13d3341c87280000" }, - "44cd77535a893fa7c4d5eb3a240e79d099a72d2d": { - "balance": "820000000000000000000" + "0x44cd77535a893fa7c4d5eb3a240e79d099a72d2d": { + "balance": "0x2c73c937742c500000" }, - "eb3ce7fc381c51db7d5fbd692f8f9e058a4c703d": { - "balance": "200000000000000000000" + "0xeb3ce7fc381c51db7d5fbd692f8f9e058a4c703d": { + "balance": "0xad78ebc5ac6200000" }, - "f1c8c4a941b4628c0d6c30fda56452d99c7e1b64": { - "balance": "1449000000000000000000" + "0xf1c8c4a941b4628c0d6c30fda56452d99c7e1b64": { + "balance": "0x4e8cea1ede75040000" }, - "277677aba1e52c3b53bfa2071d4e859a0af7e8e1": { - "balance": "1000000000000000000000" + "0x277677aba1e52c3b53bfa2071d4e859a0af7e8e1": { + "balance": "0x3635c9adc5dea00000" }, - "a5f075fd401335577b6683c281e6d101432dc6e0": { - "balance": "2680000000000000000000" + "0xa5f075fd401335577b6683c281e6d101432dc6e0": { + "balance": "0x914878a8c05ee00000" }, - "e28dbc8efd5e416a762ec0e018864bb9aa83287b": { - "balance": "24533161000000000000000" + "0xe28dbc8efd5e416a762ec0e018864bb9aa83287b": { + "balance": "0x531f200ab3e030a8000" }, - "2b717cd432a323a4659039848d3b87de26fc9546": { - "balance": "500000000000000000000000" + "0x2b717cd432a323a4659039848d3b87de26fc9546": { + "balance": "0x69e10de76676d0800000" }, - "b358e97c70b605b1d7d729dfb640b43c5eafd1e7": { - "balance": "20000000000000000000000" + "0xb358e97c70b605b1d7d729dfb640b43c5eafd1e7": { + "balance": "0x43c33c1937564800000" }, - "293c2306df3604ae4fda0d207aba736f67de0792": { - "balance": "200000000000000000000" + "0x293c2306df3604ae4fda0d207aba736f67de0792": { + "balance": "0xad78ebc5ac6200000" }, - "74d366b07b2f56477d7c7077ac6fe497e0eb6559": { - "balance": "5000000000000000000000" + "0x74d366b07b2f56477d7c7077ac6fe497e0eb6559": { + "balance": "0x10f0cf064dd59200000" }, - "490145afa8b54522bb21f352f06da5a788fa8f1d": { - "balance": "9231182000000000000000" + "0x490145afa8b54522bb21f352f06da5a788fa8f1d": { + "balance": "0x1f46c62901a03fb0000" }, - "862569211e8c6327b5415e3a67e5738b15baaf6e": { - "balance": "140000000000000000000" + "0x862569211e8c6327b5415e3a67e5738b15baaf6e": { + "balance": "0x796e3ea3f8ab00000" }, - "5a74ba62e7c81a3474e27d894fed33dd24ad95fe": { - "balance": "18200000000000000000" + "0x5a74ba62e7c81a3474e27d894fed33dd24ad95fe": { + "balance": "0xfc936392801c0000" }, - "536e4d8029b73f5579dca33e70b24eba89e11d7e": { - "balance": "1970000000000000000000" + "0x536e4d8029b73f5579dca33e70b24eba89e11d7e": { + "balance": "0x6acb3df27e1f880000" }, - "25c6e74ff1d928df98137af4df8430df24f07cd7": { - "balance": "390000000000000000000" + "0x25c6e74ff1d928df98137af4df8430df24f07cd7": { + "balance": "0x15245655b102580000" }, - "19b36b0c87ea664ed80318dc77b688dde87d95a5": { - "balance": "1948386000000000000000" + "0x19b36b0c87ea664ed80318dc77b688dde87d95a5": { + "balance": "0x699f499802303d0000" }, - "abc4caeb474d4627cb6eb456ecba0ecd08ed8ae1": { - "balance": "3940000000000000000000" + "0xabc4caeb474d4627cb6eb456ecba0ecd08ed8ae1": { + "balance": "0xd5967be4fc3f100000" }, - "8ea656e71ec651bfa17c5a5759d86031cc359977": { - "balance": "100000000000000000000" + "0x8ea656e71ec651bfa17c5a5759d86031cc359977": { + "balance": "0x56bc75e2d63100000" }, - "8d620bde17228f6cbba74df6be87264d985cc179": { - "balance": "100000000000000000000" + "0x8d620bde17228f6cbba74df6be87264d985cc179": { + "balance": "0x56bc75e2d63100000" }, - "b2aa2f1f8e93e79713d92cea9ffce9a40af9c82d": { - "balance": "2000000000000000000000" + "0xb2aa2f1f8e93e79713d92cea9ffce9a40af9c82d": { + "balance": "0x6c6b935b8bbd400000" }, - "198ef1ec325a96cc354c7266a038be8b5c558f67": { - "balance": "608334724000000000000000" + "0x198ef1ec325a96cc354c7266a038be8b5c558f67": { + "balance": "0x80d1e4373e7f21da0000" }, - "6a13d5e32c1fd26d7e91ff6e053160a89b2c8aad": { - "balance": "53480000000000000000" + "0x6a13d5e32c1fd26d7e91ff6e053160a89b2c8aad": { + "balance": "0x2e62f20a69be40000" }, - "e056bf3ff41c26256fef51716612b9d39ade999c": { - "balance": "100009000000000000000" + "0xe056bf3ff41c26256fef51716612b9d39ade999c": { + "balance": "0x56be757a12e0a8000" }, - "2c128c95d957215101f043dd8fc582456d41016d": { - "balance": "835000000000000000000" + "0x2c128c95d957215101f043dd8fc582456d41016d": { + "balance": "0x2d43f3ebfafb2c0000" }, - "2560b09b89a4ae6849ed5a3c9958426631714466": { - "balance": "1700000000000000000000" + "0x2560b09b89a4ae6849ed5a3c9958426631714466": { + "balance": "0x5c283d410394100000" }, - "d3d6e9fb82542fd29ed9ea3609891e151396b6f7": { - "balance": "54000000000000000000000" + "0xd3d6e9fb82542fd29ed9ea3609891e151396b6f7": { + "balance": "0xb6f588aa7bcf5c00000" }, - "a7607b42573bb6f6b4d4f23c7e2a26b3a0f6b6f0": { - "balance": "1610000000000000000000" + "0xa7607b42573bb6f6b4d4f23c7e2a26b3a0f6b6f0": { + "balance": "0x57473d05dabae80000" }, - "020362c3ade878ca90d6b2d889a4cc5510eed5f3": { - "balance": "1042883000000000000000" + "0x020362c3ade878ca90d6b2d889a4cc5510eed5f3": { + "balance": "0x3888e8b311adb38000" }, - "14830704e99aaad5c55e1f502b27b22c12c91933": { - "balance": "620000000000000000000" + "0x14830704e99aaad5c55e1f502b27b22c12c91933": { + "balance": "0x219c3a7b1966300000" }, - "8030b111c6983f0485ddaca76224c6180634789f": { - "balance": "80000000000000000000" + "0x8030b111c6983f0485ddaca76224c6180634789f": { + "balance": "0x4563918244f400000" }, - "2c5b7d7b195a371bf9abddb42fe04f2f1d9a9910": { - "balance": "200000000000000000000" + "0x2c5b7d7b195a371bf9abddb42fe04f2f1d9a9910": { + "balance": "0xad78ebc5ac6200000" }, - "77d43fa7b481dbf3db530cfbf5fdced0e6571831": { - "balance": "2000000000000000000000" + "0x77d43fa7b481dbf3db530cfbf5fdced0e6571831": { + "balance": "0x6c6b935b8bbd400000" }, - "2d90b415a38e2e19cdd02ff3ad81a97af7cbf672": { - "balance": "109800000000000000000" + "0x2d90b415a38e2e19cdd02ff3ad81a97af7cbf672": { + "balance": "0x5f3c7f64131e40000" }, - "2fc82ef076932341264f617a0c80dd571e6ae939": { - "balance": "7160000000000000000000" + "0x2fc82ef076932341264f617a0c80dd571e6ae939": { + "balance": "0x18424f5f0b1b4e00000" }, - "dfe549fe8430e552c6d07cc3b92ccd43b12fb50f": { - "balance": "83620000000000000000" + "0xdfe549fe8430e552c6d07cc3b92ccd43b12fb50f": { + "balance": "0x48875eaf6562a0000" }, - "1e8e689b02917cdc29245d0c9c68b094b41a9ed6": { - "balance": "2000000000000000000000" + "0x1e8e689b02917cdc29245d0c9c68b094b41a9ed6": { + "balance": "0x6c6b935b8bbd400000" }, - "21c3a8bba267c8cca27b1a9afabad86f607af708": { - "balance": "8940000000000000000000" + "0x21c3a8bba267c8cca27b1a9afabad86f607af708": { + "balance": "0x1e4a36c49d998300000" }, - "143c639752caeecf6a997d39709fc8f19878c7e8": { - "balance": "1970000000000000000000" + "0x143c639752caeecf6a997d39709fc8f19878c7e8": { + "balance": "0x6acb3df27e1f880000" }, - "02603d7a3bb297c67c877e5d34fbd5b913d4c63a": { - "balance": "20000000000000000000" + "0x02603d7a3bb297c67c877e5d34fbd5b913d4c63a": { + "balance": "0x1158e460913d00000" }, - "a166f911c644ac3213d29e0e1ae010f794d5ad26": { - "balance": "2000000000000000000000" + "0xa166f911c644ac3213d29e0e1ae010f794d5ad26": { + "balance": "0x6c6b935b8bbd400000" }, - "6eb3819617404058268f0c3cff3596bfe9148c1c": { - "balance": "1670000000000000000000" + "0x6eb3819617404058268f0c3cff3596bfe9148c1c": { + "balance": "0x5a87e7d7f5f6580000" }, - "7a67dd043a504fc2f2fc7194e9becf484cecb1fb": { - "balance": "250000000000000000000" + "0x7a67dd043a504fc2f2fc7194e9becf484cecb1fb": { + "balance": "0xd8d726b7177a80000" }, - "f824ee331e4ac3cc587693395b57ecf625a6c0c2": { - "balance": "1600930000000000000000" + "0xf824ee331e4ac3cc587693395b57ecf625a6c0c2": { + "balance": "0x56c95de8e8ca1d0000" }, - "1179c60dbd068b150b074da4be23033b20c68558": { - "balance": "680000000000000000000" + "0x1179c60dbd068b150b074da4be23033b20c68558": { + "balance": "0x24dce54d34a1a00000" }, - "d2a479404347c5543aab292ae1bb4a6f158357fa": { - "balance": "4000000000000000000000" + "0xd2a479404347c5543aab292ae1bb4a6f158357fa": { + "balance": "0xd8d726b7177a800000" }, - "b0d32bd7e4e695b7b01aa3d0416f80557dba9903": { - "balance": "16300000000000000000000" + "0xb0d32bd7e4e695b7b01aa3d0416f80557dba9903": { + "balance": "0x3739ff0f6e613300000" }, - "f734ec03724ddee5bb5279aa1afcf61b0cb448a1": { - "balance": "4238080000000000000000" + "0xf734ec03724ddee5bb5279aa1afcf61b0cb448a1": { + "balance": "0xe5bf2cc9b097800000" }, - "c04069dfb18b096c7867f8bee77a6dc7477ad062": { - "balance": "2674000000000000000000" + "0xc04069dfb18b096c7867f8bee77a6dc7477ad062": { + "balance": "0x90f534608a72880000" }, - "80c53ee7e3357f94ce0d7868009c208b4a130125": { - "balance": "2000000000000000000000" + "0x80c53ee7e3357f94ce0d7868009c208b4a130125": { + "balance": "0x6c6b935b8bbd400000" }, - "0f32d9cb4d0fdaa0150656bb608dcc43ed7d9301": { - "balance": "753978000000000000000" + "0x0f32d9cb4d0fdaa0150656bb608dcc43ed7d9301": { + "balance": "0x28df8bf440db790000" }, - "6ddb6092779d5842ead378e21e8120fd4c6bc132": { - "balance": "2000000000000000000000" + "0x6ddb6092779d5842ead378e21e8120fd4c6bc132": { + "balance": "0x6c6b935b8bbd400000" }, - "82ea01e3bf2e83836e71704e22a2719377efd9c3": { - "balance": "3040000000000000000000" + "0x82ea01e3bf2e83836e71704e22a2719377efd9c3": { + "balance": "0xa4cc799563c3800000" }, - "44c1110b18870ec81178d93d215838c551d48e64": { - "balance": "199958000000000000000" + "0x44c1110b18870ec81178d93d215838c551d48e64": { + "balance": "0xad6f98593bd8f0000" }, - "7727af101f0aaba4d23a1cafe17c6eb5dab1c6dc": { - "balance": "2000000000000000000000" + "0x7727af101f0aaba4d23a1cafe17c6eb5dab1c6dc": { + "balance": "0x6c6b935b8bbd400000" }, - "a11a03c4bb26d21eff677d5d555c80b25453ee7a": { - "balance": "69979000000000000000" + "0xa11a03c4bb26d21eff677d5d555c80b25453ee7a": { + "balance": "0x3cb2759bc410f8000" }, - "19e5dea3370a2c746aae34a37c531f41da264e83": { - "balance": "200000000000000000000" + "0x19e5dea3370a2c746aae34a37c531f41da264e83": { + "balance": "0xad78ebc5ac6200000" }, - "c325c352801ba883b3226c5feb0df9eae2d6e653": { - "balance": "3940000000000000000000" + "0xc325c352801ba883b3226c5feb0df9eae2d6e653": { + "balance": "0xd5967be4fc3f100000" }, - "ae5055814cb8be0c117bb8b1c8d2b63b4698b728": { - "balance": "32035000000000000000" + "0xae5055814cb8be0c117bb8b1c8d2b63b4698b728": { + "balance": "0x1bc932ec573a38000" }, - "deb1bc34d86d4a4dde2580d8beaf074eb0e1a244": { - "balance": "1580000000000000000000" + "0xdeb1bc34d86d4a4dde2580d8beaf074eb0e1a244": { + "balance": "0x55a6e79ccd1d300000" }, - "558360206883dd1b6d4a59639e5629d0f0c675d0": { - "balance": "2000000000000000000000" + "0x558360206883dd1b6d4a59639e5629d0f0c675d0": { + "balance": "0x6c6b935b8bbd400000" }, - "a9d6f871ca781a759a20ac3adb972cf12829a208": { - "balance": "925000000000000000000" + "0xa9d6f871ca781a759a20ac3adb972cf12829a208": { + "balance": "0x3224f42723d4540000" }, - "b0ac4eff6680ee14169cdadbffdb30804f6d25f5": { - "balance": "2000000000000000000000" + "0xb0ac4eff6680ee14169cdadbffdb30804f6d25f5": { + "balance": "0x6c6b935b8bbd400000" }, - "f1b58faffa8794f50af8e88309c7a6265455d51a": { - "balance": "999800000000000000000" + "0xf1b58faffa8794f50af8e88309c7a6265455d51a": { + "balance": "0x36330322d5238c0000" }, - "a61a54df784a44d71b771b87317509211381f200": { - "balance": "1000000000000000000000" + "0xa61a54df784a44d71b771b87317509211381f200": { + "balance": "0x3635c9adc5dea00000" }, - "baa4b64c2b15b79f5f204246fd70bcbd86e4a92a": { - "balance": "500000000000000000000" + "0xbaa4b64c2b15b79f5f204246fd70bcbd86e4a92a": { + "balance": "0x1b1ae4d6e2ef500000" }, - "a20d8ff60caae31d02e0b665fa435d76f77c9442": { - "balance": "489600000000000000000" + "0xa20d8ff60caae31d02e0b665fa435d76f77c9442": { + "balance": "0x1a8a909dfcef400000" }, - "f3e74f470c7d3a3f0033780f76a89f3ef691e6cb": { - "balance": "3021800000000000000000" + "0xf3e74f470c7d3a3f0033780f76a89f3ef691e6cb": { + "balance": "0xa3cfe631d143640000" }, - "d330728131fe8e3a15487a34573c93457e2afe95": { - "balance": "4000000000000000000000" + "0xd330728131fe8e3a15487a34573c93457e2afe95": { + "balance": "0xd8d726b7177a800000" }, - "9af9dbe47422d177f945bdead7e6d82930356230": { - "balance": "3940000000000000000000" + "0x9af9dbe47422d177f945bdead7e6d82930356230": { + "balance": "0xd5967be4fc3f100000" }, - "0eb5b662a1c718608fd52f0c25f9378830178519": { - "balance": "6091400000000000000000" + "0x0eb5b662a1c718608fd52f0c25f9378830178519": { + "balance": "0x14a37281a612e740000" }, - "fda6810ea5ac985d6ffbf1c511f1c142edcfddf7": { - "balance": "4000000000000000000000" + "0xfda6810ea5ac985d6ffbf1c511f1c142edcfddf7": { + "balance": "0xd8d726b7177a800000" }, - "832c54176bdf43d2c9bcd7b808b89556b89cbf31": { - "balance": "200000000000000000000" + "0x832c54176bdf43d2c9bcd7b808b89556b89cbf31": { + "balance": "0xad78ebc5ac6200000" }, - "704d5de4846d39b53cd21d1c49f096db5c19ba29": { - "balance": "152000000000000000000" + "0x704d5de4846d39b53cd21d1c49f096db5c19ba29": { + "balance": "0x83d6c7aab63600000" }, - "344a8db086faed4efc37131b3a22b0782dad7095": { - "balance": "500000000000000000000" + "0x344a8db086faed4efc37131b3a22b0782dad7095": { + "balance": "0x1b1ae4d6e2ef500000" }, - "8c7fa5cae82fedb69ab189d3ff27ae209293fb93": { - "balance": "400030000000000000000" + "0x8c7fa5cae82fedb69ab189d3ff27ae209293fb93": { + "balance": "0x15af880d8cdb830000" }, - "ad660dec825522a9f62fcec3c5b731980dc286ea": { - "balance": "3000000000000000000000" + "0xad660dec825522a9f62fcec3c5b731980dc286ea": { + "balance": "0xa2a15d09519be00000" }, - "13b9b10715714c09cfd610cf9c9846051cb1d513": { - "balance": "1970000000000000000000" + "0x13b9b10715714c09cfd610cf9c9846051cb1d513": { + "balance": "0x6acb3df27e1f880000" }, - "40467d80e74c35407b7db51789234615fea66818": { - "balance": "388000000000000000000" + "0x40467d80e74c35407b7db51789234615fea66818": { + "balance": "0x150894e849b3900000" }, - "30e9d5a0088f1ddb2fd380e2a049192266c51cbf": { - "balance": "196910000000000000000" + "0x30e9d5a0088f1ddb2fd380e2a049192266c51cbf": { + "balance": "0xaacacd9b9e22b0000" }, - "b2d1e99af91231858e7065dd1918330dc4c747d5": { - "balance": "16700000000000000000000" + "0xb2d1e99af91231858e7065dd1918330dc4c747d5": { + "balance": "0x3894f0e6f9b9f700000" }, - "9f21302ca5096bea7402b91b0fd506254f999a3d": { - "balance": "1246832000000000000000" + "0x9f21302ca5096bea7402b91b0fd506254f999a3d": { + "balance": "0x4397451a003dd80000" }, - "d24b6644f439c8051dfc64d381b8c86c75c17538": { - "balance": "2000000000000000000000" + "0xd24b6644f439c8051dfc64d381b8c86c75c17538": { + "balance": "0x6c6b935b8bbd400000" }, - "8228ebc087480fd64547ca281f5eace3041453b9": { - "balance": "1970000000000000000000" + "0x8228ebc087480fd64547ca281f5eace3041453b9": { + "balance": "0x6acb3df27e1f880000" }, - "29da3e35b23bb1f72f8e2258cf7f553359d24bac": { - "balance": "20000000000000000000000" + "0x29da3e35b23bb1f72f8e2258cf7f553359d24bac": { + "balance": "0x43c33c1937564800000" }, - "c8e558a3c5697e6fb23a2594c880b7a1b68f9860": { - "balance": "10000000000000000000000" + "0xc8e558a3c5697e6fb23a2594c880b7a1b68f9860": { + "balance": "0x21e19e0c9bab2400000" }, - "6b951a43274eeafc8a0903b0af2ec92bf1efc839": { - "balance": "100000000000000000000" + "0x6b951a43274eeafc8a0903b0af2ec92bf1efc839": { + "balance": "0x56bc75e2d63100000" }, - "d015f6fcb84df7bb410e8c8f04894a881dcac237": { - "balance": "1038000000000000000000" + "0xd015f6fcb84df7bb410e8c8f04894a881dcac237": { + "balance": "0x384524cc70b7780000" }, - "6ccb03acf7f53ce87aadcc21a9932de915f89804": { - "balance": "8000000000000000000000" + "0x6ccb03acf7f53ce87aadcc21a9932de915f89804": { + "balance": "0x1b1ae4d6e2ef5000000" }, - "388c85a9b9207d8146033fe38143f6d34b595c47": { - "balance": "200000000000000000000" + "0x388c85a9b9207d8146033fe38143f6d34b595c47": { + "balance": "0xad78ebc5ac6200000" }, - "429c06b487e8546abdfc958a25a3f0fba53f6f00": { - "balance": "13503000000000000000" + "0x429c06b487e8546abdfc958a25a3f0fba53f6f00": { + "balance": "0xbb644af542198000" }, - "771507aeee6a255dc2cd9df55154062d0897b297": { - "balance": "334250000000000000000" + "0x771507aeee6a255dc2cd9df55154062d0897b297": { + "balance": "0x121ea68c114e510000" }, - "5a2b1c853aeb28c45539af76a00ac2d8a8242896": { - "balance": "25000000000000000000" + "0x5a2b1c853aeb28c45539af76a00ac2d8a8242896": { + "balance": "0x15af1d78b58c40000" }, - "f4d67a9044b435b66e8977ff39a28dc4bd53729a": { - "balance": "200000000000000000000" + "0xf4d67a9044b435b66e8977ff39a28dc4bd53729a": { + "balance": "0xad78ebc5ac6200000" }, - "063759dd1c4e362eb19398951ff9f8fad1d31068": { - "balance": "10000000000000000000000" + "0x063759dd1c4e362eb19398951ff9f8fad1d31068": { + "balance": "0x21e19e0c9bab2400000" }, - "cb58990bcd90cfbf6d8f0986f6fa600276b94e2d": { - "balance": "999925000000000000000" + "0xcb58990bcd90cfbf6d8f0986f6fa600276b94e2d": { + "balance": "0x3634bf39ab98788000" }, - "6df5c84f7b909aab3e61fe0ecb1b3bf260222ad2": { - "balance": "4000000000000000000000" + "0x6df5c84f7b909aab3e61fe0ecb1b3bf260222ad2": { + "balance": "0xd8d726b7177a800000" }, - "deb2495d6aca7b2a6a2d138b6e1a42e2dc311fdd": { - "balance": "2000000000000000000000" + "0xdeb2495d6aca7b2a6a2d138b6e1a42e2dc311fdd": { + "balance": "0x6c6b935b8bbd400000" }, - "59203cc37599b648312a7cc9e06dacb589a9ae6a": { - "balance": "148689000000000000000" + "0x59203cc37599b648312a7cc9e06dacb589a9ae6a": { + "balance": "0x80f7971b6400e8000" }, - "fc9b347464b2f9929d807e039dae48d3d98de379": { - "balance": "14000000000000000000000" + "0xfc9b347464b2f9929d807e039dae48d3d98de379": { + "balance": "0x2f6f10780d22cc00000" }, - "48d2434b7a7dbbff08223b6387b05da2e5093126": { - "balance": "18000000000000000000000" + "0x48d2434b7a7dbbff08223b6387b05da2e5093126": { + "balance": "0x3cfc82e37e9a7400000" }, - "c9d76446d5aadff80b68b91b08cd9bc8f5551ac1": { - "balance": "714000000000000000000" + "0xc9d76446d5aadff80b68b91b08cd9bc8f5551ac1": { + "balance": "0x26b4bd9110dce80000" }, - "3d31587b5fd5869845788725a663290a49d3678c": { - "balance": "500000000000000000000" + "0x3d31587b5fd5869845788725a663290a49d3678c": { + "balance": "0x1b1ae4d6e2ef500000" }, - "d8715ef9176f850b2e30eb8e382707f777a6fbe9": { - "balance": "2000000000000000000000" + "0xd8715ef9176f850b2e30eb8e382707f777a6fbe9": { + "balance": "0x6c6b935b8bbd400000" }, - "2c2147947ae33fb098b489a5c16bfff9abcd4e2a": { - "balance": "200000000000000000000" + "0x2c2147947ae33fb098b489a5c16bfff9abcd4e2a": { + "balance": "0xad78ebc5ac6200000" }, - "d6c0d0bc93a62e257174700e10f024c8b23f1f87": { - "balance": "2000000000000000000000" + "0xd6c0d0bc93a62e257174700e10f024c8b23f1f87": { + "balance": "0x6c6b935b8bbd400000" }, - "d1978f2e34407fab1dc2183d95cfda6260b35982": { - "balance": "788000000000000000000" + "0xd1978f2e34407fab1dc2183d95cfda6260b35982": { + "balance": "0x2ab7b260ff3fd00000" }, - "1bf974d9904f45ce81a845e11ef4cbcf27af719e": { - "balance": "100000000000000000000" + "0x1bf974d9904f45ce81a845e11ef4cbcf27af719e": { + "balance": "0x56bc75e2d63100000" }, - "6e761eaa0f345f777b5441b73a0fa5b56b85f22d": { - "balance": "2000000000000000000000" + "0x6e761eaa0f345f777b5441b73a0fa5b56b85f22d": { + "balance": "0x6c6b935b8bbd400000" }, - "ea60436912de6bf187d3a472ff8f5333a0f7ed06": { - "balance": "19700000000000000000" + "0xea60436912de6bf187d3a472ff8f5333a0f7ed06": { + "balance": "0x11164759ffb320000" }, - "94f8f057db7e60e675ad940f155885d1a477348e": { - "balance": "401100000000000000000" + "0x94f8f057db7e60e675ad940f155885d1a477348e": { + "balance": "0x15be6174e1912e0000" }, - "8933491760c8f0b4df8caac78ed835caee21046d": { - "balance": "20000000000000000000000" + "0x8933491760c8f0b4df8caac78ed835caee21046d": { + "balance": "0x43c33c1937564800000" }, - "a7775e4af6a23afa201fb78b915e51a515b7a728": { - "balance": "120000000000000000000" + "0xa7775e4af6a23afa201fb78b915e51a515b7a728": { + "balance": "0x68155a43676e00000" }, - "d8d64384249b776794063b569878d5e3b530a4b2": { - "balance": "177569000000000000000" + "0xd8d64384249b776794063b569878d5e3b530a4b2": { + "balance": "0x9a043d0b2f9568000" }, - "be633a3737f68439bac7c90a52142058ee8e8a6f": { - "balance": "960000000000000000000" + "0xbe633a3737f68439bac7c90a52142058ee8e8a6f": { + "balance": "0x340aad21b3b7000000" }, - "90bd62a050845261fa4a9f7cf241ea630b05efb8": { - "balance": "500000000000000000000" + "0x90bd62a050845261fa4a9f7cf241ea630b05efb8": { + "balance": "0x1b1ae4d6e2ef500000" }, - "552987f0651b915b2e1e5328c121960d4bdd6af4": { - "balance": "1790000000000000000000" + "0x552987f0651b915b2e1e5328c121960d4bdd6af4": { + "balance": "0x61093d7c2c6d380000" }, - "0baf6ecdb91acb3606a8357c0bc4f45cfd2d7e6f": { - "balance": "1000000000000000000000" + "0x0baf6ecdb91acb3606a8357c0bc4f45cfd2d7e6f": { + "balance": "0x3635c9adc5dea00000" }, - "9e5a311d9f69898a7c6a9d6360680438e67a7b2f": { - "balance": "1490000000000000000000" + "0x9e5a311d9f69898a7c6a9d6360680438e67a7b2f": { + "balance": "0x50c5e761a444080000" }, - "78859c5b548b700d9284cee4b6633c2f52e529c2": { - "balance": "2955000000000000000000" + "0x78859c5b548b700d9284cee4b6633c2f52e529c2": { + "balance": "0xa030dcebbd2f4c0000" }, - "d572309169b1402ec8131a17a6aac3222f89e6eb": { - "balance": "13800000000000000000000" + "0xd572309169b1402ec8131a17a6aac3222f89e6eb": { + "balance": "0x2ec1978c47766a00000" }, - "8e6d7485cbe990acc1ad0ee9e8ccf39c0c93440e": { - "balance": "955000000000000000000" + "0x8e6d7485cbe990acc1ad0ee9e8ccf39c0c93440e": { + "balance": "0x33c5499031720c0000" }, - "75c11d024d12ae486c1095b7a7b9c4af3e8edeb9": { - "balance": "20000000000000000000" + "0x75c11d024d12ae486c1095b7a7b9c4af3e8edeb9": { + "balance": "0x1158e460913d00000" }, - "903413878aea3bc1086309a3fe768b65559e8cab": { - "balance": "8000000000000000000000" + "0x903413878aea3bc1086309a3fe768b65559e8cab": { + "balance": "0x1b1ae4d6e2ef5000000" }, - "6d0569e5558fc7df2766f2ba15dc8aeffc5beb75": { - "balance": "4001070000000000000000" + "0x6d0569e5558fc7df2766f2ba15dc8aeffc5beb75": { + "balance": "0xd8e6001e6c302b0000" }, - "3815b0743f94fc8cc8654fd9d597ed7d8b77c57e": { - "balance": "738578000000000000000" + "0x3815b0743f94fc8cc8654fd9d597ed7d8b77c57e": { + "balance": "0x2809d429d896750000" }, - "0f26480a150961b8e30750713a94ee6f2e47fc00": { - "balance": "1000000000000000000000" + "0x0f26480a150961b8e30750713a94ee6f2e47fc00": { + "balance": "0x3635c9adc5dea00000" }, - "ede5de7c7fb7eee0f36e64530a41440edfbefacf": { - "balance": "617200000000000000000" + "0xede5de7c7fb7eee0f36e64530a41440edfbefacf": { + "balance": "0x21755ee1ef2b180000" }, - "763a7cbab70d7a64d0a7e52980f681472593490c": { - "balance": "600000000000000000000" + "0x763a7cbab70d7a64d0a7e52980f681472593490c": { + "balance": "0x2086ac351052600000" }, - "6e270ad529f1f0b8d9cb6d2427ec1b7e2dc64a74": { - "balance": "200000000000000000000" + "0x6e270ad529f1f0b8d9cb6d2427ec1b7e2dc64a74": { + "balance": "0xad78ebc5ac6200000" }, - "eb3bdd59dcdda5a9bb2ac1641fd02180f5f36560": { - "balance": "6600000000000000000000" + "0xeb3bdd59dcdda5a9bb2ac1641fd02180f5f36560": { + "balance": "0x165c96647b38a200000" }, - "f4ebf50bc7e54f82e9b9bd24baef29438e259ce6": { - "balance": "10000000000000000000000" + "0xf4ebf50bc7e54f82e9b9bd24baef29438e259ce6": { + "balance": "0x21e19e0c9bab2400000" }, - "882c8f81872c79fed521cb5f950d8b032322ea69": { - "balance": "40000000000000000000000" + "0x882c8f81872c79fed521cb5f950d8b032322ea69": { + "balance": "0x878678326eac9000000" }, - "394132600f4155e07f4d45bc3eb8d9fb72dcd784": { - "balance": "2941000000000000000000" + "0x394132600f4155e07f4d45bc3eb8d9fb72dcd784": { + "balance": "0x9f6e92edea07d40000" }, - "0be2b94ad950a2a62640c35bfccd6c67dae450f6": { - "balance": "1940000000000000000000" + "0x0be2b94ad950a2a62640c35bfccd6c67dae450f6": { + "balance": "0x692ae8897081d00000" }, - "d4c6ac742e7c857d4a05a04c33d4d05c1467571d": { - "balance": "200000000000000000000" + "0xd4c6ac742e7c857d4a05a04c33d4d05c1467571d": { + "balance": "0xad78ebc5ac6200000" }, - "1fddd85fc98be9c4045961f40f93805ecc4549e5": { - "balance": "164000000000000000000" + "0x1fddd85fc98be9c4045961f40f93805ecc4549e5": { + "balance": "0x8e3f50b173c100000" }, - "534065361cb854fac42bfb5c9fcde0604ac919da": { - "balance": "2000000000000000000000" + "0x534065361cb854fac42bfb5c9fcde0604ac919da": { + "balance": "0x6c6b935b8bbd400000" }, - "9a6ff5f6a7af7b7ae0ed9c20ecec5023d281b786": { - "balance": "2547000000000000000000" + "0x9a6ff5f6a7af7b7ae0ed9c20ecec5023d281b786": { + "balance": "0x8a12b9bd6a67ec0000" }, - "4f3a4854911145ea01c644044bdb2e5a960a982f": { - "balance": "4000000000000000000000" + "0x4f3a4854911145ea01c644044bdb2e5a960a982f": { + "balance": "0xd8d726b7177a800000" }, - "00497e92cdc0e0b963d752b2296acb87da828b24": { - "balance": "194800000000000000000" + "0x00497e92cdc0e0b963d752b2296acb87da828b24": { + "balance": "0xa8f649fe7c6180000" }, - "4ff67fb87f6efba9279930cfbd1b7a343c79fade": { - "balance": "400000000000000000000" + "0x4ff67fb87f6efba9279930cfbd1b7a343c79fade": { + "balance": "0x15af1d78b58c400000" }, - "62f2e5ccecd52cc4b95e0597df27cc079715608c": { - "balance": "143000000000000000000" + "0x62f2e5ccecd52cc4b95e0597df27cc079715608c": { + "balance": "0x7c0860e5a80dc0000" }, - "1eda084e796500ba14c5121c0d90846f66e4be62": { - "balance": "534800000000000000000" + "0x1eda084e796500ba14c5121c0d90846f66e4be62": { + "balance": "0x1cfdd7468216e80000" }, - "9836b4d30473641ab56aeee19242761d72725178": { - "balance": "2000000000000000000000" + "0x9836b4d30473641ab56aeee19242761d72725178": { + "balance": "0x6c6b935b8bbd400000" }, - "de55de0458f850b37e4d78a641dd2eb2dd8f38ce": { - "balance": "4000000000000000000000" + "0xde55de0458f850b37e4d78a641dd2eb2dd8f38ce": { + "balance": "0xd8d726b7177a800000" }, - "140ca28ff33b9f66d7f1fc0078f8c1eef69a1bc0": { - "balance": "1600000000000000000000" + "0x140ca28ff33b9f66d7f1fc0078f8c1eef69a1bc0": { + "balance": "0x56bc75e2d631000000" }, - "2014261f01089f53795630ba9dd24f9a34c2d942": { - "balance": "1337000000000000000000" + "0x2014261f01089f53795630ba9dd24f9a34c2d942": { + "balance": "0x487a9a304539440000" }, - "11415fab61e0dfd4b90676141a557a869ba0bde9": { - "balance": "2048000000000000000000" + "0x11415fab61e0dfd4b90676141a557a869ba0bde9": { + "balance": "0x6f05b59d3b20000000" }, - "88344909644c7ad4930fd873ca1c0da2d434c07f": { - "balance": "131970000000000000000" + "0x88344909644c7ad4930fd873ca1c0da2d434c07f": { + "balance": "0x727739fcb004d0000" }, - "88b217ccb786a254cf4dc57f5d9ac3c455a30483": { - "balance": "925000000000000000000" + "0x88b217ccb786a254cf4dc57f5d9ac3c455a30483": { + "balance": "0x3224f42723d4540000" }, - "dfdbcec1014b96da2158ca513e9c8d3b9af1c3d0": { - "balance": "2000000000000000000000" + "0xdfdbcec1014b96da2158ca513e9c8d3b9af1c3d0": { + "balance": "0x6c6b935b8bbd400000" }, - "1ba9f7997e5387b6b2aa0135ac2452fe36b4c20d": { - "balance": "850000000000000000000" + "0x1ba9f7997e5387b6b2aa0135ac2452fe36b4c20d": { + "balance": "0x2e141ea081ca080000" }, - "d70ad2c4e9eebfa637ef56bd486ad2a1e5bce093": { - "balance": "200000000000000000000" + "0xd70ad2c4e9eebfa637ef56bd486ad2a1e5bce093": { + "balance": "0xad78ebc5ac6200000" }, - "9ce27f245e02d1c312c1d500788c9def7690453b": { - "balance": "200000000000000000000" + "0x9ce27f245e02d1c312c1d500788c9def7690453b": { + "balance": "0xad78ebc5ac6200000" }, - "8234f463d18485501f8f85ace4972c9b632dbccc": { - "balance": "2000000000000000000000" + "0x8234f463d18485501f8f85ace4972c9b632dbccc": { + "balance": "0x6c6b935b8bbd400000" }, - "994152fc95d5c1ca8b88113abbad4d710e40def6": { - "balance": "500000000000000000000" + "0x994152fc95d5c1ca8b88113abbad4d710e40def6": { + "balance": "0x1b1ae4d6e2ef500000" }, - "e5b980d28eece2c06fca6c9473068b37d4a6d6e9": { - "balance": "695200000000000000000" + "0xe5b980d28eece2c06fca6c9473068b37d4a6d6e9": { + "balance": "0x25afd68cac2b900000" }, - "2d426912d059fad9740b2e390a2eeac0546ff01b": { - "balance": "1400000000000000000000" + "0x2d426912d059fad9740b2e390a2eeac0546ff01b": { + "balance": "0x4be4e7267b6ae00000" }, - "6d9997509882027ea947231424bedede2965d0ba": { - "balance": "2001600000000000000000" + "0x6d9997509882027ea947231424bedede2965d0ba": { + "balance": "0x6c81c7b31195e00000" }, - "167ce7de65e84708595a525497a3eb5e5a665073": { - "balance": "575400000000000000000" + "0x167ce7de65e84708595a525497a3eb5e5a665073": { + "balance": "0x1f314773666fc40000" }, - "e430c0024fdbf73a82e21fccf8cbd09138421c21": { - "balance": "4000000000000000000000" + "0xe430c0024fdbf73a82e21fccf8cbd09138421c21": { + "balance": "0xd8d726b7177a800000" }, - "2e52912bc10ea39d54e293f7aed6b99a0f4c73be": { - "balance": "400000000000000000000" + "0x2e52912bc10ea39d54e293f7aed6b99a0f4c73be": { + "balance": "0x15af1d78b58c400000" }, - "12cf8b0e465213211a5b53dfb0dd271a282c12c9": { - "balance": "15200000000000000000" + "0x12cf8b0e465213211a5b53dfb0dd271a282c12c9": { + "balance": "0xd2f13f7789f00000" }, - "06964e2d17e9189f88a8203936b40ac96e533c06": { - "balance": "18200000000000000000" + "0x06964e2d17e9189f88a8203936b40ac96e533c06": { + "balance": "0xfc936392801c0000" }, - "66b1a63da4dcd9f81fe54f5e3fcb4055ef7ec54f": { - "balance": "201412000000000000000" + "0x66b1a63da4dcd9f81fe54f5e3fcb4055ef7ec54f": { + "balance": "0xaeb272adf9cfa0000" }, - "0a77e7f72b437b574f00128b21f2ac265133528c": { - "balance": "2000000000000000000000" + "0x0a77e7f72b437b574f00128b21f2ac265133528c": { + "balance": "0x6c6b935b8bbd400000" }, - "78f5c74785c5668a838072048bf8b453594ddaab": { - "balance": "400000000000000000000" + "0x78f5c74785c5668a838072048bf8b453594ddaab": { + "balance": "0x15af1d78b58c400000" }, - "58e554af3d87629620da61d538c7f5b4b54c4afe": { - "balance": "1297081000000000000000" + "0x58e554af3d87629620da61d538c7f5b4b54c4afe": { + "balance": "0x46509d694534728000" }, - "37a10451f36166cf643dd2de6c1cbba8a011cfa3": { - "balance": "380000000000000000000" + "0x37a10451f36166cf643dd2de6c1cbba8a011cfa3": { + "balance": "0x14998f32ac78700000" }, - "fe9ad12ef05d6d90261f96c8340a0381974df477": { - "balance": "2000000000000000000000" + "0xfe9ad12ef05d6d90261f96c8340a0381974df477": { + "balance": "0x6c6b935b8bbd400000" }, - "057f7f81cd7a406fc45994408b5049912c566463": { - "balance": "1700000000000000000000" + "0x057f7f81cd7a406fc45994408b5049912c566463": { + "balance": "0x5c283d410394100000" }, - "55a3df57b7aaec16a162fd5316f35bec082821cf": { - "balance": "1970000000000000000000" + "0x55a3df57b7aaec16a162fd5316f35bec082821cf": { + "balance": "0x6acb3df27e1f880000" }, - "c0e0b903088e0c63f53dd069575452aff52410c3": { - "balance": "3000000000000000000000" + "0xc0e0b903088e0c63f53dd069575452aff52410c3": { + "balance": "0xa2a15d09519be00000" }, - "63e88e2e539ffb450386b4e46789b223f5476c45": { - "balance": "6292000000000000000000" + "0x63e88e2e539ffb450386b4e46789b223f5476c45": { + "balance": "0x155170a778e25d00000" }, - "3727341f26c12001e378405ee38b2d8464ec7140": { - "balance": "2000000000000000000000" + "0x3727341f26c12001e378405ee38b2d8464ec7140": { + "balance": "0x6c6b935b8bbd400000" }, - "c96751656c0a8ef4357b7344322134b983504aca": { - "balance": "2000000000000000000000" + "0xc96751656c0a8ef4357b7344322134b983504aca": { + "balance": "0x6c6b935b8bbd400000" }, - "1e060dc6c5f1cb8cc7e1452e02ee167508b56542": { - "balance": "12715500000000000000000" + "0x1e060dc6c5f1cb8cc7e1452e02ee167508b56542": { + "balance": "0x2b14f02c864c77e0000" }, - "18136c9df167aa17b6f18e22a702c88f4bc28245": { - "balance": "4000000000000000000000" + "0x18136c9df167aa17b6f18e22a702c88f4bc28245": { + "balance": "0xd8d726b7177a800000" }, - "116108c12084612eeda7a93ddcf8d2602e279e5c": { - "balance": "2000000000000000000000" + "0x116108c12084612eeda7a93ddcf8d2602e279e5c": { + "balance": "0x6c6b935b8bbd400000" }, - "bbb643d2187b364afc10a6fd368d7d55f50d1a3c": { - "balance": "1000000000000000000000" + "0xbbb643d2187b364afc10a6fd368d7d55f50d1a3c": { + "balance": "0x3635c9adc5dea00000" }, - "ec83e798c396b7a55e2a2224abcd834b27ea459c": { - "balance": "12000000000000000000000" + "0xec83e798c396b7a55e2a2224abcd834b27ea459c": { + "balance": "0x28a857425466f800000" }, - "973f4e361fe5decd989d4c8f7d7cc97990385daf": { - "balance": "388500000000000000000" + "0x973f4e361fe5decd989d4c8f7d7cc97990385daf": { + "balance": "0x150f8543a387420000" }, - "c0f29ed0076611b5e55e130547e68a48e26df5e4": { - "balance": "3000000000000000000000" + "0xc0f29ed0076611b5e55e130547e68a48e26df5e4": { + "balance": "0xa2a15d09519be00000" }, - "fd4b551f6fdbcda6c511b5bb372250a6b783e534": { - "balance": "20600000000000000000" + "0xfd4b551f6fdbcda6c511b5bb372250a6b783e534": { + "balance": "0x11de1e6db450c0000" }, - "144b19f1f66cbe318347e48d84b14039466c5909": { - "balance": "2000000000000000000000" + "0x144b19f1f66cbe318347e48d84b14039466c5909": { + "balance": "0x6c6b935b8bbd400000" }, - "bf183641edb886ce60b8190261e14f42d93cce01": { - "balance": "25019000000000000000" + "0xbf183641edb886ce60b8190261e14f42d93cce01": { + "balance": "0x15b3557f1937f8000" }, - "94db807873860aac3d5aea1e885e52bff2869954": { - "balance": "3220000000000000000000" + "0x94db807873860aac3d5aea1e885e52bff2869954": { + "balance": "0xae8e7a0bb575d00000" }, - "7a74cee4fa0f6370a7894f116cd00c1147b83e59": { - "balance": "800000000000000000000" + "0x7a74cee4fa0f6370a7894f116cd00c1147b83e59": { + "balance": "0x2b5e3af16b18800000" }, - "cd32a4a8a27f1cc63954aa634f7857057334c7a3": { - "balance": "1085000000000000000000" + "0xcd32a4a8a27f1cc63954aa634f7857057334c7a3": { + "balance": "0x3ad166576c72d40000" }, - "7cbeb99932e97e6e02058cfc62d0b26bc7cca52b": { - "balance": "2000000000000000000000" + "0x7cbeb99932e97e6e02058cfc62d0b26bc7cca52b": { + "balance": "0x6c6b935b8bbd400000" }, - "8cde8b732e6023878eb23ed16229124b5f7afbec": { - "balance": "133700000000000000000" + "0x8cde8b732e6023878eb23ed16229124b5f7afbec": { + "balance": "0x73f75d1a085ba0000" }, - "45c4ecb4ee891ea984a7c5cefd8dfb00310b2850": { - "balance": "1980000000000000000000" + "0x45c4ecb4ee891ea984a7c5cefd8dfb00310b2850": { + "balance": "0x6b56051582a9700000" }, - "8b393fb0813ee101db1e14ecc7d322c72b8c0473": { - "balance": "455578000000000000000" + "0x8b393fb0813ee101db1e14ecc7d322c72b8c0473": { + "balance": "0x18b26a313e8ae90000" }, - "7b66126879844dfa34fe65c9f288117fefb449ad": { - "balance": "6000000000000000000000" + "0x7b66126879844dfa34fe65c9f288117fefb449ad": { + "balance": "0x14542ba12a337c00000" }, - "162ba503276214b509f97586bd842110d103d517": { - "balance": "9002000000000000000000" + "0x162ba503276214b509f97586bd842110d103d517": { + "balance": "0x1e7ffd8895c22680000" }, - "7dece6998ae1900dd3770cf4b93812bad84f0322": { - "balance": "100000000000000000000" + "0x7dece6998ae1900dd3770cf4b93812bad84f0322": { + "balance": "0x56bc75e2d63100000" }, - "ec0927bac7dc36669c28354ab1be83d7eec30934": { - "balance": "2000000000000000000000" + "0xec0927bac7dc36669c28354ab1be83d7eec30934": { + "balance": "0x6c6b935b8bbd400000" }, - "8d7f3e61299c2db9b9c0487cf627519ed00a9123": { - "balance": "1742400000000000000000" + "0x8d7f3e61299c2db9b9c0487cf627519ed00a9123": { + "balance": "0x5e74a8505e80a00000" }, - "4fc46c396e674869ad9481638f0013630c87caac": { - "balance": "1000000000000000000000" + "0x4fc46c396e674869ad9481638f0013630c87caac": { + "balance": "0x3635c9adc5dea00000" }, - "bf68d28aaf1eeefef646b65e8cc8d190f6c6da9c": { - "balance": "2000000000000000000000" + "0xbf68d28aaf1eeefef646b65e8cc8d190f6c6da9c": { + "balance": "0x6c6b935b8bbd400000" }, - "00969747f7a5b30645fe00e44901435ace24cc37": { - "balance": "1700000000000000000000" + "0x00969747f7a5b30645fe00e44901435ace24cc37": { + "balance": "0x5c283d410394100000" }, - "494dec4d5ee88a2771a815f1ee7264942fb58b28": { - "balance": "2000000000000000000000" + "0x494dec4d5ee88a2771a815f1ee7264942fb58b28": { + "balance": "0x6c6b935b8bbd400000" }, - "ffeac0305ede3a915295ec8e61c7f881006f4474": { - "balance": "98500000000000000000" + "0xffeac0305ede3a915295ec8e61c7f881006f4474": { + "balance": "0x556f64c1fe7fa0000" }, - "b39139576194a0866195151f33f2140ad1cc86cf": { - "balance": "100000000000000000000000" + "0xb39139576194a0866195151f33f2140ad1cc86cf": { + "balance": "0x152d02c7e14af6800000" }, - "fead1803e5e737a68e18472d9ac715f0994cc2be": { - "balance": "500000000000000000000" + "0xfead1803e5e737a68e18472d9ac715f0994cc2be": { + "balance": "0x1b1ae4d6e2ef500000" }, - "698ab9a2f33381e07c0c47433d0d21d6f336b127": { - "balance": "20000000000000000000" + "0x698ab9a2f33381e07c0c47433d0d21d6f336b127": { + "balance": "0x1158e460913d00000" }, - "e5edc73e626f5d3441a45539b5f7a398c593edf6": { - "balance": "865000000000000000000" + "0xe5edc73e626f5d3441a45539b5f7a398c593edf6": { + "balance": "0x2ee449550898e40000" }, - "dd4f5fa2111db68f6bde3589b63029395b69a92d": { - "balance": "158400000000000000000" + "0xdd4f5fa2111db68f6bde3589b63029395b69a92d": { + "balance": "0x8963dd8c2c5e00000" }, - "8c93c3c6db9d37717de165c3a1b4fe51952c08de": { - "balance": "400000000000000000000" + "0x8c93c3c6db9d37717de165c3a1b4fe51952c08de": { + "balance": "0x15af1d78b58c400000" }, - "f87bb07b289df7301e54c0efda6a2cf291e89200": { - "balance": "1400000000000000000000" + "0xf87bb07b289df7301e54c0efda6a2cf291e89200": { + "balance": "0x4be4e7267b6ae00000" }, - "e7a4560c84b20e0fb54c49670c2903b0a96c42a4": { - "balance": "598000000000000000000" + "0xe7a4560c84b20e0fb54c49670c2903b0a96c42a4": { + "balance": "0x206aeac7a903980000" }, - "00a5797f52c9d58f189f36b1d45d1bf6041f2f6b": { - "balance": "5456900000000000000000" + "0x00a5797f52c9d58f189f36b1d45d1bf6041f2f6b": { + "balance": "0x127d1b3461acd1a0000" }, - "9da3302240af0511c6fd1857e6ddb7394f77ab6b": { - "balance": "3100000000000000000000" + "0x9da3302240af0511c6fd1857e6ddb7394f77ab6b": { + "balance": "0xa80d24677efef00000" }, - "2c2d15ff39561c1b72eda1cc027ffef23743a144": { - "balance": "3920000000000000000000" + "0x2c2d15ff39561c1b72eda1cc027ffef23743a144": { + "balance": "0xd480ed9ef32b400000" }, - "9b4c2715780ca4e99e60ebf219f1590c8cad500a": { - "balance": "1600000000000000000000" + "0x9b4c2715780ca4e99e60ebf219f1590c8cad500a": { + "balance": "0x56bc75e2d631000000" }, - "ff5e7ee7d5114821e159dca5e81f18f1bfffbff9": { - "balance": "2000000000000000000000" + "0xff5e7ee7d5114821e159dca5e81f18f1bfffbff9": { + "balance": "0x6c6b935b8bbd400000" }, - "0169c1c210eae845e56840412e1f65993ea90fb4": { - "balance": "2000000000000000000000" + "0x0169c1c210eae845e56840412e1f65993ea90fb4": { + "balance": "0x6c6b935b8bbd400000" }, - "abc45f84db7382dde54c5f7d8938c42f4f3a3bc4": { - "balance": "200000000000000000000" + "0xabc45f84db7382dde54c5f7d8938c42f4f3a3bc4": { + "balance": "0xad78ebc5ac6200000" }, - "d9383d4b6d17b3f9cd426e10fb944015c0d44bfb": { - "balance": "800000000000000000000" + "0xd9383d4b6d17b3f9cd426e10fb944015c0d44bfb": { + "balance": "0x2b5e3af16b18800000" }, - "c090fe23dcd86b358c32e48d2af91024259f6566": { - "balance": "200000000000000000000" + "0xc090fe23dcd86b358c32e48d2af91024259f6566": { + "balance": "0xad78ebc5ac6200000" }, - "9ffedcc36b7cc312ad2a9ede431a514fccb49ba3": { - "balance": "669800000000000000000" + "0x9ffedcc36b7cc312ad2a9ede431a514fccb49ba3": { + "balance": "0x244f579f3f5ca40000" }, - "2ffe93ec1a5636e9ee34af70dff52682e6ff7079": { - "balance": "2000000000000000000000" + "0x2ffe93ec1a5636e9ee34af70dff52682e6ff7079": { + "balance": "0x6c6b935b8bbd400000" }, - "6e01e4ad569c95d007ada30d5e2db12888492294": { - "balance": "4000000000000000000000" + "0x6e01e4ad569c95d007ada30d5e2db12888492294": { + "balance": "0xd8d726b7177a800000" }, - "d4d92c62b280e00f626d8657f1b86166cb1f740f": { - "balance": "200028000000000000000" + "0xd4d92c62b280e00f626d8657f1b86166cb1f740f": { + "balance": "0xad7f23634cbd60000" }, - "1d36683063b7e9eb99462dabd569bddce71686f2": { - "balance": "1000000000000000000000" + "0x1d36683063b7e9eb99462dabd569bddce71686f2": { + "balance": "0x3635c9adc5dea00000" }, - "3a48e0a7098b06a905802b87545731118e89f439": { - "balance": "2000000000000000000000" + "0x3a48e0a7098b06a905802b87545731118e89f439": { + "balance": "0x6c6b935b8bbd400000" }, - "bd9e56e902f4be1fc8768d8038bac63e2acbbf8e": { - "balance": "999972000000000000000" + "0xbd9e56e902f4be1fc8768d8038bac63e2acbbf8e": { + "balance": "0x36356633ebd8ea0000" }, - "4d67f2ab8599fef5fc413999aa01fd7fce70b43d": { - "balance": "10000000000000000000000" + "0x4d67f2ab8599fef5fc413999aa01fd7fce70b43d": { + "balance": "0x21e19e0c9bab2400000" }, - "8e74e0d1b77ebc823aca03f119854cb12027f6d7": { - "balance": "107200000000000000000000" + "0x8e74e0d1b77ebc823aca03f119854cb12027f6d7": { + "balance": "0x16b352da5e0ed3000000" }, - "7e5b19ae1be94ff4dee635492a1b012d14db0213": { - "balance": "100000000000000000000" + "0x7e5b19ae1be94ff4dee635492a1b012d14db0213": { + "balance": "0x56bc75e2d63100000" }, - "5de9e7d5d1b667d095dd34099c85b0421a0bc681": { - "balance": "20000000000000000000" + "0x5de9e7d5d1b667d095dd34099c85b0421a0bc681": { + "balance": "0x1158e460913d00000" }, - "316eb4e47df71b42e16d6fe46825b7327baf3124": { - "balance": "4000000000000000000000" + "0x316eb4e47df71b42e16d6fe46825b7327baf3124": { + "balance": "0xd8d726b7177a800000" }, - "772c297f0ad194482ee8c3f036bdeb01c201d5cc": { - "balance": "200000000000000000000" + "0x772c297f0ad194482ee8c3f036bdeb01c201d5cc": { + "balance": "0xad78ebc5ac6200000" }, - "d7052519756af42590f15391b723a03fa564a951": { - "balance": "4615591000000000000000" + "0xd7052519756af42590f15391b723a03fa564a951": { + "balance": "0xfa3631480d01fd8000" }, - "2c6846a1aa999a2246a287056000ba4dcba8e63d": { - "balance": "10020000000000000000000" + "0x2c6846a1aa999a2246a287056000ba4dcba8e63d": { + "balance": "0x21f2f6f0fc3c6100000" }, - "de5b005fe8daae8d1f05de3eda042066c6c4691c": { - "balance": "1100000000000000000000" + "0xde5b005fe8daae8d1f05de3eda042066c6c4691c": { + "balance": "0x3ba1910bf341b00000" }, - "254c1ecc630c2877de8095f0a8dba1e8bf1f550c": { - "balance": "1700000000000000000000" + "0x254c1ecc630c2877de8095f0a8dba1e8bf1f550c": { + "balance": "0x5c283d410394100000" }, - "f8f226142a428434ab17a1864a2597f64aab2f06": { - "balance": "172473000000000000000" + "0xf8f226142a428434ab17a1864a2597f64aab2f06": { + "balance": "0x9598b2fb2e9f28000" }, - "a6c910ce4d494a919ccdaaa1fc3b82aa74ba06cf": { - "balance": "8000000000000000000000" + "0xa6c910ce4d494a919ccdaaa1fc3b82aa74ba06cf": { + "balance": "0x1b1ae4d6e2ef5000000" }, - "e587b16abc8a74081e3613e14342c03375bf0847": { - "balance": "2000000000000000000000" + "0xe587b16abc8a74081e3613e14342c03375bf0847": { + "balance": "0x6c6b935b8bbd400000" }, - "6f176065e88e3c6fe626267d18a088aaa4db80bc": { - "balance": "3520000000000000000000" + "0x6f176065e88e3c6fe626267d18a088aaa4db80bc": { + "balance": "0xbed1d0263d9f000000" }, - "50dcbc27bcad984093a212a9b4178eabe9017561": { - "balance": "145512000000000000000" + "0x50dcbc27bcad984093a212a9b4178eabe9017561": { + "balance": "0x7e362790b5ca40000" }, - "e1953c6e975814c571311c34c0f6a99cdf48ab82": { - "balance": "50000000000000000000" + "0xe1953c6e975814c571311c34c0f6a99cdf48ab82": { + "balance": "0x2b5e3af16b1880000" }, - "be0a2f385f09dbfce96732e12bb40ac349871ba8": { - "balance": "1610348000000000000000" + "0xbe0a2f385f09dbfce96732e12bb40ac349871ba8": { + "balance": "0x574c115e02b8be0000" }, - "4712540265cbeec3847022c59f1b318d43400a9e": { - "balance": "3500000000000000000000" + "0x4712540265cbeec3847022c59f1b318d43400a9e": { + "balance": "0xbdbc41e0348b300000" }, - "29bdc4f28de0180f433c2694eb74f5504ce94337": { - "balance": "2000000000000000000000" + "0x29bdc4f28de0180f433c2694eb74f5504ce94337": { + "balance": "0x6c6b935b8bbd400000" }, - "2f66bfbf2262efcc8d2bd0444fc5b0696298ff1e": { - "balance": "9940000000000000000000" + "0x2f66bfbf2262efcc8d2bd0444fc5b0696298ff1e": { + "balance": "0x21ad935f79f76d00000" }, - "506411fd79003480f6f2b6aac26b7ba792f094b2": { - "balance": "500000000000000000000" + "0x506411fd79003480f6f2b6aac26b7ba792f094b2": { + "balance": "0x1b1ae4d6e2ef500000" }, - "23ea669e3564819a83b0c26c00a16d9e826f6c46": { - "balance": "1430590000000000000000" + "0x23ea669e3564819a83b0c26c00a16d9e826f6c46": { + "balance": "0x4d8d6ca968ca130000" }, - "e3ffb02cb7d9ea5243701689afd5d417d7ed2ece": { - "balance": "78000000000000000000" + "0xe3ffb02cb7d9ea5243701689afd5d417d7ed2ece": { + "balance": "0x43a77aabd00780000" }, - "38e7dba8fd4f1f850dbc2649d8e84f0952e3eb3c": { - "balance": "50000000000000000000" + "0x38e7dba8fd4f1f850dbc2649d8e84f0952e3eb3c": { + "balance": "0x2b5e3af16b1880000" }, - "8644cc281be332ccced36da483fb2a0746d9ba2e": { - "balance": "400000000000000000000" + "0x8644cc281be332ccced36da483fb2a0746d9ba2e": { + "balance": "0x15af1d78b58c400000" }, - "e8a91da6cf1b9d65c74a02ec1f96eecb6dd241f3": { - "balance": "1940000000000000000000" + "0xe8a91da6cf1b9d65c74a02ec1f96eecb6dd241f3": { + "balance": "0x692ae8897081d00000" }, - "0631dc40d74e5095e3729eddf49544ecd4396f67": { - "balance": "160000000000000000000" + "0x0631dc40d74e5095e3729eddf49544ecd4396f67": { + "balance": "0x8ac7230489e800000" }, - "83c897a84b695eebe46679f7da19d776621c2694": { - "balance": "500000000000000000000" + "0x83c897a84b695eebe46679f7da19d776621c2694": { + "balance": "0x1b1ae4d6e2ef500000" }, - "db73460b59d8e85045d5e752e62559875e42502e": { - "balance": "999800000000000000000" + "0xdb73460b59d8e85045d5e752e62559875e42502e": { + "balance": "0x36330322d5238c0000" }, - "0dd4e674bbadb1b0dc824498713dce3b5156da29": { - "balance": "170000000000000000000" + "0x0dd4e674bbadb1b0dc824498713dce3b5156da29": { + "balance": "0x93739534d28680000" }, - "e3933d61b77dcdc716407f8250bc91e4ffaeb09d": { - "balance": "86600000000000000000000" + "0xe3933d61b77dcdc716407f8250bc91e4ffaeb09d": { + "balance": "0x1256986c95891c200000" }, - "58c90754d2f20a1cb1dd330625e04b45fa619d5c": { - "balance": "2000000000000000000000" + "0x58c90754d2f20a1cb1dd330625e04b45fa619d5c": { + "balance": "0x6c6b935b8bbd400000" }, - "895ec5545644e0b78330fffab8ddeac9e833156c": { - "balance": "600000000000000000000" + "0x895ec5545644e0b78330fffab8ddeac9e833156c": { + "balance": "0x2086ac351052600000" }, - "7e1e29721d6cb91057f6c4042d8a0bbc644afe73": { - "balance": "159800000000000000000" + "0x7e1e29721d6cb91057f6c4042d8a0bbc644afe73": { + "balance": "0x8a9aba557e36c0000" }, - "72b90a4dc097239492c5b9777dcd1e52ba2be2c2": { - "balance": "6000000000000000000000" + "0x72b90a4dc097239492c5b9777dcd1e52ba2be2c2": { + "balance": "0x14542ba12a337c00000" }, - "64241a7844290e0ab855f1d4aa75b55345032224": { - "balance": "1600000000000000000000" + "0x64241a7844290e0ab855f1d4aa75b55345032224": { + "balance": "0x56bc75e2d631000000" }, - "6fd4e0f3f32bee6d3767fdbc9d353a6d3aab7899": { - "balance": "695240000000000000000" + "0x6fd4e0f3f32bee6d3767fdbc9d353a6d3aab7899": { + "balance": "0x25b064a875ea940000" }, - "3a035594c747476d42d1ee966c36224cdd224993": { - "balance": "355890000000000000000" + "0x3a035594c747476d42d1ee966c36224cdd224993": { + "balance": "0x134af74569f9c50000" }, - "de97f4330700b48c496d437c91ca1de9c4b01ba4": { - "balance": "2910840000000000000000" + "0xde97f4330700b48c496d437c91ca1de9c4b01ba4": { + "balance": "0x9dcc0515b56e0c0000" }, - "716ad3c33a9b9a0a18967357969b94ee7d2abc10": { - "balance": "482000000000000000000" + "0x716ad3c33a9b9a0a18967357969b94ee7d2abc10": { + "balance": "0x1a2117fe412a480000" }, - "bfbe05e88c9cbbcc0e92a405fac1d85de248ee24": { - "balance": "100000000000000000000" + "0xbfbe05e88c9cbbcc0e92a405fac1d85de248ee24": { + "balance": "0x56bc75e2d63100000" }, - "cfc4e6f7f8b011414bfba42f23adfaa78d4ecc5e": { - "balance": "1850000000000000000000" + "0xcfc4e6f7f8b011414bfba42f23adfaa78d4ecc5e": { + "balance": "0x6449e84e47a8a80000" }, - "d931ac2668ba6a84481ab139735aec14b7bfbabf": { - "balance": "2000000000000000000000" + "0xd931ac2668ba6a84481ab139735aec14b7bfbabf": { + "balance": "0x6c6b935b8bbd400000" }, - "e3263ce8af6db3e467584502ed7109125eae22a5": { - "balance": "2000000000000000000000" + "0xe3263ce8af6db3e467584502ed7109125eae22a5": { + "balance": "0x6c6b935b8bbd400000" }, - "f78258c12481bcdddbb72a8ca0c043097261c6c5": { - "balance": "20000000000000000000" + "0xf78258c12481bcdddbb72a8ca0c043097261c6c5": { + "balance": "0x1158e460913d00000" }, - "4493123c021ece3b33b1a452c9268de14007f9d3": { - "balance": "6685000000000000000000" + "0x4493123c021ece3b33b1a452c9268de14007f9d3": { + "balance": "0x16a6502f15a1e540000" }, - "431f2c19e316b044a4b3e61a0c6ff8c104a1a12f": { - "balance": "1000000000000000000000" + "0x431f2c19e316b044a4b3e61a0c6ff8c104a1a12f": { + "balance": "0x3635c9adc5dea00000" }, - "e63e787414b9048478a50733359ecdd7e3647aa6": { - "balance": "1580000000000000000000" + "0xe63e787414b9048478a50733359ecdd7e3647aa6": { + "balance": "0x55a6e79ccd1d300000" }, - "e4715956f52f15306ee9506bf82bccc406b3895e": { - "balance": "274944000000000000000" + "0xe4715956f52f15306ee9506bf82bccc406b3895e": { + "balance": "0xee79d4f48c5000000" }, - "f7f91e7acb5b8129a306877ce3168e6f438b66a1": { - "balance": "176000000000000000000" + "0xf7f91e7acb5b8129a306877ce3168e6f438b66a1": { + "balance": "0x98a7d9b8314c00000" }, - "dcdbbd4e2604e40e1710cc6730289dccfad3892d": { - "balance": "4600000000000000000000" + "0xdcdbbd4e2604e40e1710cc6730289dccfad3892d": { + "balance": "0xf95dd2ec27cce00000" }, - "2b5f4b3f1e11707a227aa5e69fa49dded33fb321": { - "balance": "6000000000000000000000" + "0x2b5f4b3f1e11707a227aa5e69fa49dded33fb321": { + "balance": "0x14542ba12a337c00000" }, - "01488ad3da603c4cdd6cb0b7a1e30d2a30c8fc38": { - "balance": "200000000000000000000" + "0x01488ad3da603c4cdd6cb0b7a1e30d2a30c8fc38": { + "balance": "0xad78ebc5ac6200000" }, - "841145b44840c946e21dbc190264b8e0d5029369": { - "balance": "300000000000000000000000" + "0x841145b44840c946e21dbc190264b8e0d5029369": { + "balance": "0x3f870857a3e0e3800000" }, - "bf05070c2c34219311c4548b2614a438810ded6d": { - "balance": "2000000000000000000000" + "0xbf05070c2c34219311c4548b2614a438810ded6d": { + "balance": "0x6c6b935b8bbd400000" }, - "38f387e1a4ed4a73106ef2b462e474e2e3143ad0": { - "balance": "6000000000000000000000" + "0x38f387e1a4ed4a73106ef2b462e474e2e3143ad0": { + "balance": "0x14542ba12a337c00000" }, - "f116b0b4680f53ab72c968ba802e10aa1be11dc8": { - "balance": "20000000000000000000" + "0xf116b0b4680f53ab72c968ba802e10aa1be11dc8": { + "balance": "0x1158e460913d00000" }, - "bea0afc93aae2108a3fac059623bf86fa582a75e": { - "balance": "1700000000000000000000" + "0xbea0afc93aae2108a3fac059623bf86fa582a75e": { + "balance": "0x5c283d410394100000" }, - "4c997992036c5b433ac33d25a8ea1dc3d4e4e6d8": { - "balance": "29200000000000000000" + "0x4c997992036c5b433ac33d25a8ea1dc3d4e4e6d8": { + "balance": "0x1953b3d4ab1680000" }, - "ab7e0b83ed9a424c6d1e6a6f87a4dbf06409c7d6": { - "balance": "2400000000000000000000" + "0xab7e0b83ed9a424c6d1e6a6f87a4dbf06409c7d6": { + "balance": "0x821ab0d44149800000" }, - "d71fb130f0150c565269e00efb43902b52a455a6": { - "balance": "200000000000000000000" + "0xd71fb130f0150c565269e00efb43902b52a455a6": { + "balance": "0xad78ebc5ac6200000" }, - "99b018932bcad355b6792b255db6702dec8ce5dd": { - "balance": "4000086000000000000000" + "0x99b018932bcad355b6792b255db6702dec8ce5dd": { + "balance": "0xd8d8583fa2d52f0000" }, - "4b904e934bd0cc8b20705f879e905b93ea0ccc30": { - "balance": "2000000000000000000000" + "0x4b904e934bd0cc8b20705f879e905b93ea0ccc30": { + "balance": "0x6c6b935b8bbd400000" }, - "672ec42faa8cd69aaa71b32cc7b404881d52ff91": { - "balance": "10000000000000000000000" + "0x672ec42faa8cd69aaa71b32cc7b404881d52ff91": { + "balance": "0x21e19e0c9bab2400000" }, - "acbc2d19e06c3babbb5b6f052b6bf7fc37e07229": { - "balance": "200000000000000000000" + "0xacbc2d19e06c3babbb5b6f052b6bf7fc37e07229": { + "balance": "0xad78ebc5ac6200000" }, - "cea8743341533cb2f0b9c6efb8fda80d77162825": { - "balance": "100000000000000000000" + "0xcea8743341533cb2f0b9c6efb8fda80d77162825": { + "balance": "0x56bc75e2d63100000" }, - "9568b7de755628af359a84543de23504e15e41e6": { - "balance": "40000000000000000000000" + "0x9568b7de755628af359a84543de23504e15e41e6": { + "balance": "0x878678326eac9000000" }, - "6ec96d13bdb24dc7a557293f029e02dd74b97a55": { - "balance": "4000000000000000000000" + "0x6ec96d13bdb24dc7a557293f029e02dd74b97a55": { + "balance": "0xd8d726b7177a800000" }, - "d95c90ffbe5484864780b867494a83c89256d6e4": { - "balance": "1640000000000000000000" + "0xd95c90ffbe5484864780b867494a83c89256d6e4": { + "balance": "0x58e7926ee858a00000" }, - "ade6f8163bf7c7bb4abe8e9893bd0cc112fe8872": { - "balance": "327600000000000000000" + "0xade6f8163bf7c7bb4abe8e9893bd0cc112fe8872": { + "balance": "0x11c25d004d01f80000" }, - "250eb7c66f869ddf49da85f3393e980c029aa434": { - "balance": "4000000000000000000000" + "0x250eb7c66f869ddf49da85f3393e980c029aa434": { + "balance": "0xd8d726b7177a800000" }, - "a35c19132cac1935576abfed6c0495fb07881ba0": { - "balance": "2000000000000000000000" + "0xa35c19132cac1935576abfed6c0495fb07881ba0": { + "balance": "0x6c6b935b8bbd400000" }, - "d5550caaf743b037c56fd2558a1c8ed235130750": { - "balance": "5347598000000000000000" + "0xd5550caaf743b037c56fd2558a1c8ed235130750": { + "balance": "0x121e4d49036255b0000" }, - "03097923ba155e16d82f3ad3f6b815540884b92c": { - "balance": "1820000000000000000000" + "0x03097923ba155e16d82f3ad3f6b815540884b92c": { + "balance": "0x62a992e53a0af00000" }, - "d6d9e30f0842012a7176a917d9d2048ca0738759": { - "balance": "4000000000000000000000" + "0xd6d9e30f0842012a7176a917d9d2048ca0738759": { + "balance": "0xd8d726b7177a800000" }, - "ab9ad36e5c74ce2e96399f57839431d0e79f96ab": { - "balance": "164000000000000000000" + "0xab9ad36e5c74ce2e96399f57839431d0e79f96ab": { + "balance": "0x8e3f50b173c100000" }, - "75be8ff65e5788aec6b2a52d5fa7b1e7a03ba675": { - "balance": "67720000000000000000" + "0x75be8ff65e5788aec6b2a52d5fa7b1e7a03ba675": { + "balance": "0x3abcdc5343d740000" }, - "4f6d4737d7a940382487264886697cf7637f8015": { - "balance": "1670000000000000000000" + "0x4f6d4737d7a940382487264886697cf7637f8015": { + "balance": "0x5a87e7d7f5f6580000" }, - "5f7b3bbac16dab831a4a0fc53b0c549dc36c31ca": { - "balance": "1940000000000000000000" + "0x5f7b3bbac16dab831a4a0fc53b0c549dc36c31ca": { + "balance": "0x692ae8897081d00000" }, - "d843ee0863ce933e22f89c802d31287b9671e81c": { - "balance": "13370000000000000000" + "0xd843ee0863ce933e22f89c802d31287b9671e81c": { + "balance": "0xb98bc829a6f90000" }, - "361f3ba9ed956b770f257d3672fe1ff9f7b0240c": { - "balance": "600000000000000000000" + "0x361f3ba9ed956b770f257d3672fe1ff9f7b0240c": { + "balance": "0x2086ac351052600000" }, - "6c0ae9f043c834d44271f13406593dfe094f389f": { - "balance": "1517545000000000000000" + "0x6c0ae9f043c834d44271f13406593dfe094f389f": { + "balance": "0x52442ae133b62a8000" }, - "db34745ede8576b499db01beb7c1ecda85cf4abe": { - "balance": "80000000000000000000" + "0xdb34745ede8576b499db01beb7c1ecda85cf4abe": { + "balance": "0x4563918244f400000" }, - "7be8ccb4f11b66ca6e1d57c0b5396221a31ba53a": { - "balance": "20000000000000000000" + "0x7be8ccb4f11b66ca6e1d57c0b5396221a31ba53a": { + "balance": "0x1158e460913d00000" }, - "128b908fe743a434203de294c441c7e20a86ea67": { - "balance": "713304000000000000000" + "0x128b908fe743a434203de294c441c7e20a86ea67": { + "balance": "0x26ab14e0c0e13c0000" }, - "df236bf6abf4f3293795bf0c28718f93e3b1b36b": { - "balance": "1337000000000000000000" + "0xdf236bf6abf4f3293795bf0c28718f93e3b1b36b": { + "balance": "0x487a9a304539440000" }, - "14254ea126b52d0142da0a7e188ce255d8c47178": { - "balance": "775000000000000000000" + "0x14254ea126b52d0142da0a7e188ce255d8c47178": { + "balance": "0x2a034919dfbfbc0000" }, - "ceed47ca5b899fd1623f21e9bd4db65a10e5b09d": { - "balance": "133196000000000000000" + "0xceed47ca5b899fd1623f21e9bd4db65a10e5b09d": { + "balance": "0x73877404c1eee0000" }, - "30acd858875fa24eef0d572fc7d62aad0ebddc35": { - "balance": "400000000000000000000" + "0x30acd858875fa24eef0d572fc7d62aad0ebddc35": { + "balance": "0x15af1d78b58c400000" }, - "47a281dff64167197855bf6e705eb9f2cef632ea": { - "balance": "1000072000000000000000" + "0x47a281dff64167197855bf6e705eb9f2cef632ea": { + "balance": "0x3636c9796436740000" }, - "297d5dbe222f2fb52531acbd0b013dc446ac7368": { - "balance": "20000000000000000000000" + "0x297d5dbe222f2fb52531acbd0b013dc446ac7368": { + "balance": "0x43c33c1937564800000" }, - "adf85203c8376a5fde9815384a350c3879c4cb93": { - "balance": "1147300000000000000000" + "0xadf85203c8376a5fde9815384a350c3879c4cb93": { + "balance": "0x3e31fc675815aa0000" }, - "c3e0471c64ff35fa5232cc3121d1d38d1a0fb7de": { - "balance": "2000000000000000000000" + "0xc3e0471c64ff35fa5232cc3121d1d38d1a0fb7de": { + "balance": "0x6c6b935b8bbd400000" }, - "fdecc82ddfc56192e26f563c3d68cb544a96bfed": { - "balance": "440000000000000000000" + "0xfdecc82ddfc56192e26f563c3d68cb544a96bfed": { + "balance": "0x17da3a04c7b3e00000" }, - "2614f42d5da844377578e6b448dc24305bef2b03": { - "balance": "2000000000000000000000" + "0x2614f42d5da844377578e6b448dc24305bef2b03": { + "balance": "0x6c6b935b8bbd400000" }, - "1d96bcd58457bbf1d3c2a46ffaf16dbf7d836859": { - "balance": "171313000000000000000" + "0x1d96bcd58457bbf1d3c2a46ffaf16dbf7d836859": { + "balance": "0x9497209d8467e8000" }, - "bd66ffedb530ea0b2e856dd12ac2296c31fe29e0": { - "balance": "200000000000000000000" + "0xbd66ffedb530ea0b2e856dd12ac2296c31fe29e0": { + "balance": "0xad78ebc5ac6200000" }, - "6e84876dbb95c40b6656e42ba9aea08a993b54dc": { - "balance": "1101932000000000000000" + "0x6e84876dbb95c40b6656e42ba9aea08a993b54dc": { + "balance": "0x3bbc60e3b6cbbe0000" }, - "a1c4f45a82e1c478d845082eb18875c4ea6539ab": { - "balance": "200000000000000000000000" + "0xa1c4f45a82e1c478d845082eb18875c4ea6539ab": { + "balance": "0x2a5a058fc295ed000000" }, - "2c964849b1f69cc7cea4442538ed87fdf16cfc8f": { - "balance": "2000000000000000000000" + "0x2c964849b1f69cc7cea4442538ed87fdf16cfc8f": { + "balance": "0x6c6b935b8bbd400000" }, - "45b47105fe42c4712dce6e2a21c05bffd5ea47a9": { - "balance": "2000000000000000000000" + "0x45b47105fe42c4712dce6e2a21c05bffd5ea47a9": { + "balance": "0x6c6b935b8bbd400000" }, - "31e9c00f0c206a4e4e7e0522170dc81e88f3eb70": { - "balance": "2685000000000000000000" + "0x31e9c00f0c206a4e4e7e0522170dc81e88f3eb70": { + "balance": "0x918ddc3a42a3d40000" }, - "5fe77703808f823e6c399352108bdb2c527cb87c": { - "balance": "1960000000000000000000" + "0x5fe77703808f823e6c399352108bdb2c527cb87c": { + "balance": "0x6a4076cf7995a00000" }, - "2272186ef27dcbe2f5fc373050fdae7f2ace2316": { - "balance": "16100000000000000000000" + "0x2272186ef27dcbe2f5fc373050fdae7f2ace2316": { + "balance": "0x368c8623a8b4d100000" }, - "b7576e9d314df41ec5506494293afb1bd5d3f65d": { - "balance": "20000000000000000000" + "0xb7576e9d314df41ec5506494293afb1bd5d3f65d": { + "balance": "0x1158e460913d00000" }, - "ac9fff68c61b011efbecf038ed72db97bb9e7281": { - "balance": "9550000000000000000000" + "0xac9fff68c61b011efbecf038ed72db97bb9e7281": { + "balance": "0x205b4dfa1ee74780000" }, - "cd9529492b5c29e475acb941402b3d3ba50686b0": { - "balance": "1970000000000000000000" + "0xcd9529492b5c29e475acb941402b3d3ba50686b0": { + "balance": "0x6acb3df27e1f880000" }, - "f19b39389d47b11b8a2c3f1da9124decffbefaf7": { - "balance": "2000000000000000000000" + "0xf19b39389d47b11b8a2c3f1da9124decffbefaf7": { + "balance": "0x6c6b935b8bbd400000" }, - "9e951f6dc5e352afb8d04299d2478a451259bf56": { - "balance": "72004000000000000000" + "0x9e951f6dc5e352afb8d04299d2478a451259bf56": { + "balance": "0x3e7419881a73a0000" }, - "8eb1fbe4e5d3019cd7d30dae9c0d5b4c76fb6331": { - "balance": "2000000000000000000000" + "0x8eb1fbe4e5d3019cd7d30dae9c0d5b4c76fb6331": { + "balance": "0x6c6b935b8bbd400000" }, - "29cc804d922be91f5909f348b0aaa5d21b607830": { - "balance": "4000000000000000000000" + "0x29cc804d922be91f5909f348b0aaa5d21b607830": { + "balance": "0xd8d726b7177a800000" }, - "5c7b9ec7a2438d1e3c7698b545b9c3fd77b7cd55": { - "balance": "1000000000000000000000" + "0x5c7b9ec7a2438d1e3c7698b545b9c3fd77b7cd55": { + "balance": "0x3635c9adc5dea00000" }, - "a16160851d2b9c349b92e46f829abfb210943595": { - "balance": "1790000000000000000000" + "0xa16160851d2b9c349b92e46f829abfb210943595": { + "balance": "0x61093d7c2c6d380000" }, - "eac6b98842542ea10bb74f26d7c7488f698b6452": { - "balance": "20000000000000000000000" + "0xeac6b98842542ea10bb74f26d7c7488f698b6452": { + "balance": "0x43c33c1937564800000" }, - "57825aeb09076caa477887fbc9ae37e8b27cc962": { - "balance": "100000000000000000000" + "0x57825aeb09076caa477887fbc9ae37e8b27cc962": { + "balance": "0x56bc75e2d63100000" }, - "b35e8a1c0dac7e0e66dbac736a592abd44012561": { - "balance": "14974000000000000000" + "0xb35e8a1c0dac7e0e66dbac736a592abd44012561": { + "balance": "0xcfce55aa12b30000" }, - "756b84eb85fcc1f4fcdcc2b08db6a86e135fbc25": { - "balance": "3220000000000000000000" + "0x756b84eb85fcc1f4fcdcc2b08db6a86e135fbc25": { + "balance": "0xae8e7a0bb575d00000" }, - "e13b3d2bbfdcbc8772a23315724c1425167c5688": { - "balance": "1032115000000000000000" + "0xe13b3d2bbfdcbc8772a23315724c1425167c5688": { + "balance": "0x37f379141ed04b8000" }, - "0a2dcb7a671701dbb8f495728088265873356c8e": { - "balance": "152120000000000000000" + "0x0a2dcb7a671701dbb8f495728088265873356c8e": { + "balance": "0x83f16ce08a06c0000" }, - "03cb4c4f4516c4ff79a1b6244fbf572e1c7fea79": { - "balance": "2740000000000000000000" + "0x03cb4c4f4516c4ff79a1b6244fbf572e1c7fea79": { + "balance": "0x9489237adb9a500000" }, - "98ba4e9ca72fddc20c69b4396f76f8183f7a2a4e": { - "balance": "12800000000000000000000" + "0x98ba4e9ca72fddc20c69b4396f76f8183f7a2a4e": { + "balance": "0x2b5e3af16b188000000" }, - "f8087786b42da04ed6d1e0fe26f6c0eefe1e9f5a": { - "balance": "10000000000000000000000" + "0xf8087786b42da04ed6d1e0fe26f6c0eefe1e9f5a": { + "balance": "0x21e19e0c9bab2400000" }, - "02f7f67209b16a17550c694c72583819c80b54ad": { - "balance": "98400000000000000000" + "0x02f7f67209b16a17550c694c72583819c80b54ad": { + "balance": "0x5559306a78a700000" }, - "32bb2e9693e4e085344d2f0dbd46a283e3a087fd": { - "balance": "400000000000000000000" + "0x32bb2e9693e4e085344d2f0dbd46a283e3a087fd": { + "balance": "0x15af1d78b58c400000" }, - "9c78963fbc263c09bd72e4f8def74a9475f7055c": { - "balance": "13790000000000000000000" + "0x9c78963fbc263c09bd72e4f8def74a9475f7055c": { + "balance": "0x2eb8eb1a172dcb80000" }, - "27144ca9a7771a836ad50f803f64d869b2ae2b20": { - "balance": "4000000000000000000000" + "0x27144ca9a7771a836ad50f803f64d869b2ae2b20": { + "balance": "0xd8d726b7177a800000" }, - "cc758d071d25a6320af68c5dc9c4f6955ba94520": { - "balance": "6000000000000000000000" + "0xcc758d071d25a6320af68c5dc9c4f6955ba94520": { + "balance": "0x14542ba12a337c00000" }, - "cb42b44eb5fd60b5837e4f9eb47267523d1a229c": { - "balance": "865000000000000000000" + "0xcb42b44eb5fd60b5837e4f9eb47267523d1a229c": { + "balance": "0x2ee449550898e40000" }, - "aaf5b207b88b0de4ac40d747cee06e172df6e745": { - "balance": "31428000000000000000000" + "0xaaf5b207b88b0de4ac40d747cee06e172df6e745": { + "balance": "0x6a7b71d7f51d0900000" }, - "52d380511df19d5ec2807bbcb676581b67fd37a3": { - "balance": "13400000000000000000" + "0x52d380511df19d5ec2807bbcb676581b67fd37a3": { + "balance": "0xb9f65d00f63c0000" }, - "aa1b3768c16d821f580e76c8e4c8e86d7dc78853": { - "balance": "400000000000000000000" + "0xaa1b3768c16d821f580e76c8e4c8e86d7dc78853": { + "balance": "0x15af1d78b58c400000" }, - "41098a81452317c19e3eef0bd123bbe178e9e9ca": { - "balance": "2800000000000000000000" + "0x41098a81452317c19e3eef0bd123bbe178e9e9ca": { + "balance": "0x97c9ce4cf6d5c00000" }, - "267148fd72c54f620a592fb92799319cc4532b5c": { - "balance": "410000000000000000000" + "0x267148fd72c54f620a592fb92799319cc4532b5c": { + "balance": "0x1639e49bba16280000" }, - "d7cdbd41fff20df727c70b6255c1ba7606055468": { - "balance": "200000000000000000000" + "0xd7cdbd41fff20df727c70b6255c1ba7606055468": { + "balance": "0xad78ebc5ac6200000" }, - "0e33fcbbc003510be35785b52a9c5d216bc005f4": { - "balance": "1880000000000000000000" + "0x0e33fcbbc003510be35785b52a9c5d216bc005f4": { + "balance": "0x65ea3db75546600000" }, - "6727daf5b9d68efcab489fedec96d7f7325dd423": { - "balance": "2000000000000000000000" + "0x6727daf5b9d68efcab489fedec96d7f7325dd423": { + "balance": "0x6c6b935b8bbd400000" }, - "cd0a161bc367ae0927a92aac9cf6e5086714efca": { - "balance": "2000000000000000000000" + "0xcd0a161bc367ae0927a92aac9cf6e5086714efca": { + "balance": "0x6c6b935b8bbd400000" }, - "612667f172135b950b2cd1de10afdece6857b873": { - "balance": "1000000000000000000000" + "0x612667f172135b950b2cd1de10afdece6857b873": { + "balance": "0x3635c9adc5dea00000" }, - "900194c4b1074305d19de405b0ac78280ecaf967": { - "balance": "1000000000000000000000" + "0x900194c4b1074305d19de405b0ac78280ecaf967": { + "balance": "0x3635c9adc5dea00000" }, - "51f55ef47e6456a418ab32b9221ed27dba6608ee": { - "balance": "4200000000000000000000" + "0x51f55ef47e6456a418ab32b9221ed27dba6608ee": { + "balance": "0xe3aeb5737240a00000" }, - "0da532c910e3ac0dfb14db61cd739a93353fd05f": { - "balance": "1336866000000000000000" + "0x0da532c910e3ac0dfb14db61cd739a93353fd05f": { + "balance": "0x4878be1ffaf95d0000" }, - "21df2dcdaf74b2bf803404dd4de6a35eabec1bbd": { - "balance": "6920000000000000000000" + "0x21df2dcdaf74b2bf803404dd4de6a35eabec1bbd": { + "balance": "0x177224aa844c7200000" }, - "f0e7fb9e420a5340d536f40408344feaefc06aef": { - "balance": "1000000000000000000000" + "0xf0e7fb9e420a5340d536f40408344feaefc06aef": { + "balance": "0x3635c9adc5dea00000" }, - "6742a2cfce8d79a2c4a51b77747498912245cd6a": { - "balance": "258064000000000000000" + "0x6742a2cfce8d79a2c4a51b77747498912245cd6a": { + "balance": "0xdfd5b80b7e4680000" }, - "8663a241a0a89e70e182c845e2105c8ad7264bcf": { - "balance": "14825507000000000000000" + "0x8663a241a0a89e70e182c845e2105c8ad7264bcf": { + "balance": "0x323b13d8398f3238000" }, - "18e113d8177c691a61be785852fa5bb47aeebdaf": { - "balance": "1337000000000000000000" + "0x18e113d8177c691a61be785852fa5bb47aeebdaf": { + "balance": "0x487a9a304539440000" }, - "1bec4d02ce85fc48feb62489841d85b170586a9b": { - "balance": "2400000000000000000000" + "0x1bec4d02ce85fc48feb62489841d85b170586a9b": { + "balance": "0x821ab0d44149800000" }, - "287cf9d0902ef819a7a5f149445bf1775ee8c47c": { - "balance": "16000000000000000000000" + "0x287cf9d0902ef819a7a5f149445bf1775ee8c47c": { + "balance": "0x3635c9adc5dea000000" }, - "28967280214e218a120c5dda37041b111ea36d74": { - "balance": "200000000000000000000" + "0x28967280214e218a120c5dda37041b111ea36d74": { + "balance": "0xad78ebc5ac6200000" }, - "a0b771951ce1deee363ae2b771b73e07c4b5e800": { - "balance": "1400000000000000000000" + "0xa0b771951ce1deee363ae2b771b73e07c4b5e800": { + "balance": "0x4be4e7267b6ae00000" }, - "29f8fba4c30772b057edbbe62ae7420c390572e1": { - "balance": "1000000000000000000000" + "0x29f8fba4c30772b057edbbe62ae7420c390572e1": { + "balance": "0x3635c9adc5dea00000" }, - "ee34c7e7995db9f187cff156918cfb6f13f6e003": { - "balance": "1960000000000000000000" + "0xee34c7e7995db9f187cff156918cfb6f13f6e003": { + "balance": "0x6a4076cf7995a00000" }, - "916bf7e3c545921d3206d900c24f14127cbd5e70": { - "balance": "18020000000000000000000" + "0x916bf7e3c545921d3206d900c24f14127cbd5e70": { + "balance": "0x3d0ddbc7df2bb100000" }, - "93235f340d2863e18d2f4c52996516138d220267": { - "balance": "73800000000000000000" + "0x93235f340d2863e18d2f4c52996516138d220267": { + "balance": "0x4002e44fda7d40000" }, - "7efec0c6253caf397f71287c1c07f6c9582b5b86": { - "balance": "482839000000000000000" + "0x7efec0c6253caf397f71287c1c07f6c9582b5b86": { + "balance": "0x1a2cbcb84f30d58000" }, - "8d2e31b08803b2c5f13d398ecad88528209f6057": { - "balance": "9993000000000000000000" + "0x8d2e31b08803b2c5f13d398ecad88528209f6057": { + "balance": "0x21db8bbcad11e840000" }, - "964eab4b276b4cd8983e15ca72b106900fe41fce": { - "balance": "500000000000000000000" + "0x964eab4b276b4cd8983e15ca72b106900fe41fce": { + "balance": "0x1b1ae4d6e2ef500000" }, - "eea1e97988de75d821cd28ad6822b22cce988b31": { - "balance": "520000000000000000000" + "0xeea1e97988de75d821cd28ad6822b22cce988b31": { + "balance": "0x1c30731cec03200000" }, - "278c0bde630ec393b1e7267fc9d7d97019e4145b": { - "balance": "2000000000000000000000" + "0x278c0bde630ec393b1e7267fc9d7d97019e4145b": { + "balance": "0x6c6b935b8bbd400000" }, - "82e4461eb9d849f0041c1404219e4272c4900ab4": { - "balance": "2000000000000000000000" + "0x82e4461eb9d849f0041c1404219e4272c4900ab4": { + "balance": "0x6c6b935b8bbd400000" }, - "4a73389298031b8816cca946421c199e18b343d6": { - "balance": "631254000000000000000" + "0x4a73389298031b8816cca946421c199e18b343d6": { + "balance": "0x223868b879146f0000" }, - "9a5af31c7e06339ac8b4628d7c4db0ce0f45c8a4": { - "balance": "500000000000000000000" + "0x9a5af31c7e06339ac8b4628d7c4db0ce0f45c8a4": { + "balance": "0x1b1ae4d6e2ef500000" }, - "cb9b5103e4ce89af4f64916150bff9eecb9faa5c": { - "balance": "500000000000000000000" + "0xcb9b5103e4ce89af4f64916150bff9eecb9faa5c": { + "balance": "0x1b1ae4d6e2ef500000" }, - "740f641614779dcfa88ed1d425d60db42a060ca6": { - "balance": "998630000000000000000" + "0x740f641614779dcfa88ed1d425d60db42a060ca6": { + "balance": "0x3622c6760810570000" }, - "a4e623451e7e94e7e89ba5ed95c8a83a62ffc4ea": { - "balance": "20000000000000000000" + "0xa4e623451e7e94e7e89ba5ed95c8a83a62ffc4ea": { + "balance": "0x1158e460913d00000" }, - "25a500eeec7a662a841552b5168b707b0de21e9e": { - "balance": "10020000000000000000000" + "0x25a500eeec7a662a841552b5168b707b0de21e9e": { + "balance": "0x21f2f6f0fc3c6100000" }, - "185a7fc4ace368d233e620b2a45935661292bdf2": { - "balance": "20000000000000000000000" + "0x185a7fc4ace368d233e620b2a45935661292bdf2": { + "balance": "0x43c33c1937564800000" }, - "9b68f67416a63bf4451a31164c92f672a68759e9": { - "balance": "60000000000000000000000" + "0x9b68f67416a63bf4451a31164c92f672a68759e9": { + "balance": "0xcb49b44ba602d800000" }, - "a38b5bd81a9db9d2b21d5ec7c60552cd02ed561b": { - "balance": "6000000000000000000000" + "0xa38b5bd81a9db9d2b21d5ec7c60552cd02ed561b": { + "balance": "0x14542ba12a337c00000" }, - "61c830f1654718f075ccaba316faacb85b7d120b": { - "balance": "400000000000000000000" + "0x61c830f1654718f075ccaba316faacb85b7d120b": { + "balance": "0x15af1d78b58c400000" }, - "8392e53776713578015bff4940cf43849d7dcba1": { - "balance": "153190000000000000000" + "0x8392e53776713578015bff4940cf43849d7dcba1": { + "balance": "0x84df0355d56170000" }, - "dc57477dafa42f705c7fe40eae9c81756e0225f1": { - "balance": "500044000000000000000" + "0xdc57477dafa42f705c7fe40eae9c81756e0225f1": { + "balance": "0x1b1b8128a7416e0000" }, - "febc3173bc9072136354002b7b4fb3bfc53f22f1": { - "balance": "370000000000000000000" + "0xfebc3173bc9072136354002b7b4fb3bfc53f22f1": { + "balance": "0x140ec80fa7ee880000" }, - "d78f84e38944a0e0255faece48ba4950d4bd39d2": { - "balance": "5000000000000000000000" + "0xd78f84e38944a0e0255faece48ba4950d4bd39d2": { + "balance": "0x10f0cf064dd59200000" }, - "a7a3bb6139b0ada00c1f7f1f9f56d994ba4d1fa8": { - "balance": "2000000000000000000000" + "0xa7a3bb6139b0ada00c1f7f1f9f56d994ba4d1fa8": { + "balance": "0x6c6b935b8bbd400000" }, - "aa3f29601a1331745e05c42830a15e71938a6237": { - "balance": "1700000000000000000000" + "0xaa3f29601a1331745e05c42830a15e71938a6237": { + "balance": "0x5c283d410394100000" }, - "bec6640f4909b58cbf1e806342961d607595096c": { - "balance": "1999944000000000000000" + "0xbec6640f4909b58cbf1e806342961d607595096c": { + "balance": "0x6c6acc67d7b1d40000" }, - "9be3c329b62a28b8b0886cbd8b99f8bc930ce3e6": { - "balance": "74500000000000000000" + "0x9be3c329b62a28b8b0886cbd8b99f8bc930ce3e6": { + "balance": "0x409e52b48369a0000" }, - "e3eb2c0a132a524f72ccc0d60fee8b41685d39e2": { - "balance": "1970000000000000000000" + "0xe3eb2c0a132a524f72ccc0d60fee8b41685d39e2": { + "balance": "0x6acb3df27e1f880000" }, - "90b1f370f9c1eb0be0fb8e2b8ad96a416371dd8a": { - "balance": "900000000000000000000" + "0x90b1f370f9c1eb0be0fb8e2b8ad96a416371dd8a": { + "balance": "0x30ca024f987b900000" }, - "f2742e6859c569d5f2108351e0bf4dca352a48a8": { - "balance": "10000000000000000000000" + "0xf2742e6859c569d5f2108351e0bf4dca352a48a8": { + "balance": "0x21e19e0c9bab2400000" }, - "b134c004391ab4992878337a51ec242f42285742": { - "balance": "2000000000000000000000" + "0xb134c004391ab4992878337a51ec242f42285742": { + "balance": "0x6c6b935b8bbd400000" }, - "ab7416ff32254951cbbc624ec7fb45fc7ecaa872": { - "balance": "340000000000000000000" + "0xab7416ff32254951cbbc624ec7fb45fc7ecaa872": { + "balance": "0x126e72a69a50d00000" }, - "9795f64319fc17dd0f8261f9d206fb66b64cd0c9": { - "balance": "200000000000000000000" + "0x9795f64319fc17dd0f8261f9d206fb66b64cd0c9": { + "balance": "0xad78ebc5ac6200000" }, - "64e03ef070a54703b7184e48276c5c0077ef4b34": { - "balance": "320000000000000000000" + "0x64e03ef070a54703b7184e48276c5c0077ef4b34": { + "balance": "0x1158e460913d000000" }, - "3430a16381f869f6ea5423915855e800883525a9": { - "balance": "17900000000000000000000" + "0x3430a16381f869f6ea5423915855e800883525a9": { + "balance": "0x3ca5c66d9bc44300000" }, - "f4a367b166d2991a2bfda9f56463a09f252c1b1d": { - "balance": "1970000000000000000000" + "0xf4a367b166d2991a2bfda9f56463a09f252c1b1d": { + "balance": "0x6acb3df27e1f880000" }, - "77c4a697e603d42b12056cbba761e7f51d0443f5": { - "balance": "680000000000000000000" + "0x77c4a697e603d42b12056cbba761e7f51d0443f5": { + "balance": "0x24dce54d34a1a00000" }, - "153ef58a1e2e7a3eb6b459a80ab2a547c94182a2": { - "balance": "96000000000000000000000" + "0x153ef58a1e2e7a3eb6b459a80ab2a547c94182a2": { + "balance": "0x14542ba12a337c000000" }, - "6dbe8abfa1742806263981371bf3d35590806b6e": { - "balance": "20000000000000000000000" + "0x6dbe8abfa1742806263981371bf3d35590806b6e": { + "balance": "0x43c33c1937564800000" }, - "4c99dae96481e807c1f99f8b7fbde29b7547c5bf": { - "balance": "150000000000000000000" + "0x4c99dae96481e807c1f99f8b7fbde29b7547c5bf": { + "balance": "0x821ab0d4414980000" }, - "d5b9d277d8aad20697a51f76e20978996bffe055": { - "balance": "143250000000000000000" + "0xd5b9d277d8aad20697a51f76e20978996bffe055": { + "balance": "0x7c3fe3c076ab50000" }, - "0f24105abbdaa03fa6309ef6c188e51f714a6e59": { - "balance": "200000000000000000000" + "0x0f24105abbdaa03fa6309ef6c188e51f714a6e59": { + "balance": "0xad78ebc5ac6200000" }, - "1cb6b2d7cfc559b7f41e6f56ab95c7c958cd0e4c": { - "balance": "1337000000000000000000" + "0x1cb6b2d7cfc559b7f41e6f56ab95c7c958cd0e4c": { + "balance": "0x487a9a304539440000" }, - "f37b426547a1642d8033324814f0ede3114fc212": { - "balance": "401100000000000000000" + "0xf37b426547a1642d8033324814f0ede3114fc212": { + "balance": "0x15be6174e1912e0000" }, - "318f1f8bd220b0558b95fb33100ffdbb640d7ca6": { - "balance": "4000000000000000000000" + "0x318f1f8bd220b0558b95fb33100ffdbb640d7ca6": { + "balance": "0xd8d726b7177a800000" }, - "206d55d5792a514ec108e090599f2a065e501185": { - "balance": "200550000000000000000" + "0x206d55d5792a514ec108e090599f2a065e501185": { + "balance": "0xadf30ba70c8970000" }, - "11d2247a221e70c2d66d17ee138d38c55ffb8640": { - "balance": "10000000000000000000000" + "0x11d2247a221e70c2d66d17ee138d38c55ffb8640": { + "balance": "0x21e19e0c9bab2400000" }, - "e8de725eca5def805ff7941d31ac1c2e342dfe95": { - "balance": "2462500000000000000000" + "0xe8de725eca5def805ff7941d31ac1c2e342dfe95": { + "balance": "0x857e0d6f1da76a0000" }, - "d561cbbc05515de73ab8cf9eae1357341e7dfdf4": { - "balance": "6000000000000000000000" + "0xd561cbbc05515de73ab8cf9eae1357341e7dfdf4": { + "balance": "0x14542ba12a337c00000" }, - "0455dcec8a7fc4461bfd7f37456fce3f4c3caac7": { - "balance": "400000000000000000000" + "0x0455dcec8a7fc4461bfd7f37456fce3f4c3caac7": { + "balance": "0x15af1d78b58c400000" }, - "5161fd49e847f67455f1c8bb7abb36e985260d03": { - "balance": "1200000000000000000000" + "0x5161fd49e847f67455f1c8bb7abb36e985260d03": { + "balance": "0x410d586a20a4c00000" }, - "8e073bad25e42218615f4a0e6b2ea8f8de2230c0": { - "balance": "2402500000000000000000" + "0x8e073bad25e42218615f4a0e6b2ea8f8de2230c0": { + "balance": "0x823d629d026bfa0000" }, - "6c08a6dc0173c7342955d1d3f2c065d62f83aec7": { - "balance": "20000000000000000000" + "0x6c08a6dc0173c7342955d1d3f2c065d62f83aec7": { + "balance": "0x1158e460913d00000" }, - "95cb6d8a6379f94aba8b885669562c4d448e56a7": { - "balance": "2000000000000000000000" + "0x95cb6d8a6379f94aba8b885669562c4d448e56a7": { + "balance": "0x6c6b935b8bbd400000" }, - "2805415e1d7fdec6dedfb89e521d10592d743c10": { - "balance": "100000000000000000000" + "0x2805415e1d7fdec6dedfb89e521d10592d743c10": { + "balance": "0x56bc75e2d63100000" }, - "daacdaf42226d15cb1cf98fa15048c7f4ceefe69": { - "balance": "300000000000000000000" + "0xdaacdaf42226d15cb1cf98fa15048c7f4ceefe69": { + "balance": "0x1043561a8829300000" }, - "e33df4ce80ccb62a76b12bcdfcecc46289973aa9": { - "balance": "6000000000000000000000" + "0xe33df4ce80ccb62a76b12bcdfcecc46289973aa9": { + "balance": "0x14542ba12a337c00000" }, - "8f8cd26e82e7c6defd02dfad07979021cbf7150c": { - "balance": "3000000000000000000000" + "0x8f8cd26e82e7c6defd02dfad07979021cbf7150c": { + "balance": "0xa2a15d09519be00000" }, - "77a17122fa31b98f1711d32a99f03ec326f33d08": { - "balance": "1700000000000000000000" + "0x77a17122fa31b98f1711d32a99f03ec326f33d08": { + "balance": "0x5c283d410394100000" }, - "6f791d359bc3536a315d6382b88311af8ed6da47": { - "balance": "92000000000000000000" + "0x6f791d359bc3536a315d6382b88311af8ed6da47": { + "balance": "0x4fcc1a89027f00000" }, - "de30e49e5ab313214d2f01dcabce8940b81b1c76": { - "balance": "197000000000000000000" + "0xde30e49e5ab313214d2f01dcabce8940b81b1c76": { + "balance": "0xaadec983fcff40000" }, - "cf9be9b9ab86c66b59968e67b8d4dcff46b1814a": { - "balance": "660000000000000000000" + "0xcf9be9b9ab86c66b59968e67b8d4dcff46b1814a": { + "balance": "0x23c757072b8dd00000" }, - "7fdfc88d78bf1b285ac64f1adb35dc11fcb03951": { - "balance": "2287900000000000000000" + "0x7fdfc88d78bf1b285ac64f1adb35dc11fcb03951": { + "balance": "0x7c06fda02fb0360000" }, - "c5134cfbb1df7a20b0ed7057622eeed280947dad": { - "balance": "3800000000000000000000" + "0xc5134cfbb1df7a20b0ed7057622eeed280947dad": { + "balance": "0xcdff97fabcb4600000" }, - "fa9ec8efe08686fa58c181335872ba698560ecab": { - "balance": "1999944000000000000000" + "0xfa9ec8efe08686fa58c181335872ba698560ecab": { + "balance": "0x6c6acc67d7b1d40000" }, - "f6a8635757c5e8c134d20d028cf778cf8609e46a": { - "balance": "1459416000000000000000" + "0xf6a8635757c5e8c134d20d028cf778cf8609e46a": { + "balance": "0x4f1d772faec17c0000" }, - "6265b2e7730f36b776b52d0c9d02ada55d8e3cb6": { - "balance": "1000000000000000000000" + "0x6265b2e7730f36b776b52d0c9d02ada55d8e3cb6": { + "balance": "0x3635c9adc5dea00000" }, - "6a8cea2de84a8df997fd3f84e3083d93de57cda9": { - "balance": "100007000000000000000" + "0x6a8cea2de84a8df997fd3f84e3083d93de57cda9": { + "balance": "0x56be03ca3e47d8000" }, - "1b7ed974b6e234ce81247498429a5bd4a0a2d139": { - "balance": "2000000000000000000000" + "0x1b7ed974b6e234ce81247498429a5bd4a0a2d139": { + "balance": "0x6c6b935b8bbd400000" }, - "9ba53dc8c95e9a472feba2c4e32c1dc4dd7bab46": { - "balance": "1337000000000000000000" + "0x9ba53dc8c95e9a472feba2c4e32c1dc4dd7bab46": { + "balance": "0x487a9a304539440000" }, - "d7b740dff8c457668fdf74f6a266bfc1dcb723f9": { - "balance": "20000000000000000000" + "0xd7b740dff8c457668fdf74f6a266bfc1dcb723f9": { + "balance": "0x1158e460913d00000" }, - "07bc2cc8eedc01970700efc9c4fb36735e98cd71": { - "balance": "4000000000000000000000" + "0x07bc2cc8eedc01970700efc9c4fb36735e98cd71": { + "balance": "0xd8d726b7177a800000" }, - "3e1c962063e0d5295941f210dca3ab531eec8809": { - "balance": "3000000000000000000000" + "0x3e1c962063e0d5295941f210dca3ab531eec8809": { + "balance": "0xa2a15d09519be00000" }, - "b447571dacbb3ecbb6d1cf0b0c8f3838e52324e2": { - "balance": "30199000000000000000" + "0xb447571dacbb3ecbb6d1cf0b0c8f3838e52324e2": { + "balance": "0x1a318667fb4058000" }, - "87764e3677eef604cbc59aed24abdc566b09fc25": { - "balance": "3000000000000000000000" + "0x87764e3677eef604cbc59aed24abdc566b09fc25": { + "balance": "0xa2a15d09519be00000" }, - "03aa622881236dd0f4940c24c324ff8b7b7e2186": { - "balance": "3200000000000000000000" + "0x03aa622881236dd0f4940c24c324ff8b7b7e2186": { + "balance": "0xad78ebc5ac62000000" }, - "a4a7d306f510cd58359428c0d2f7c3609d5674d7": { - "balance": "3349000000000000000000" + "0xa4a7d306f510cd58359428c0d2f7c3609d5674d7": { + "balance": "0xb58cb61c3ccf340000" }, - "3c83c1701db0388b68210d00f5717cd9bd322c6a": { - "balance": "30000000000000000000000" + "0x3c83c1701db0388b68210d00f5717cd9bd322c6a": { + "balance": "0x65a4da25d3016c00000" }, - "047d5a26d7ad8f8e70600f70a398ddaa1c2db26f": { - "balance": "6000000000000000000000" + "0x047d5a26d7ad8f8e70600f70a398ddaa1c2db26f": { + "balance": "0x14542ba12a337c00000" }, - "43767bf7fd2af95b72e9312da9443cb1688e4343": { - "balance": "300000000000000000000" + "0x43767bf7fd2af95b72e9312da9443cb1688e4343": { + "balance": "0x1043561a8829300000" }, - "34a85d6d243fb1dfb7d1d2d44f536e947a4cee9e": { - "balance": "20000000000000000000000" + "0x34a85d6d243fb1dfb7d1d2d44f536e947a4cee9e": { + "balance": "0x43c33c1937564800000" }, - "65a9dad42e1632ba3e4e49623fab62a17e4d3611": { - "balance": "93120000000000000000" + "0x65a9dad42e1632ba3e4e49623fab62a17e4d3611": { + "balance": "0x50c4cb2a10c600000" }, - "48e0cbd67f18acdb7a6291e1254db32e0972737f": { - "balance": "100007000000000000000" + "0x48e0cbd67f18acdb7a6291e1254db32e0972737f": { + "balance": "0x56be03ca3e47d8000" }, - "a5de5e434fdcdd688f1c31b6fb512cb196724701": { - "balance": "800000000000000000000" + "0xa5de5e434fdcdd688f1c31b6fb512cb196724701": { + "balance": "0x2b5e3af16b18800000" }, - "6d63d38ee8b90e0e6ed8f192eda051b2d6a58bfd": { - "balance": "30000000000000000000" + "0x6d63d38ee8b90e0e6ed8f192eda051b2d6a58bfd": { + "balance": "0x1a055690d9db80000" }, - "b079bb4d9866143a6da72ae7ac0022062981315c": { - "balance": "760000000000000000000" + "0xb079bb4d9866143a6da72ae7ac0022062981315c": { + "balance": "0x29331e6558f0e00000" }, - "c0413f5a7c2d9a4b8108289ef6ecd271781524f4": { - "balance": "50000000000000000000000" + "0xc0413f5a7c2d9a4b8108289ef6ecd271781524f4": { + "balance": "0xa968163f0a57b400000" }, - "a91a5a7b341f99c535144e20be9c6b3bb4c28e4d": { - "balance": "5431790000000000000000" + "0xa91a5a7b341f99c535144e20be9c6b3bb4c28e4d": { + "balance": "0x126753aa224a70b0000" }, - "993f146178605e66d517be782ef0b3c61a4e1925": { - "balance": "7011998000000000000000" + "0x993f146178605e66d517be782ef0b3c61a4e1925": { + "balance": "0x17c1f0535d7a5830000" }, - "966c04781cb5e67dde3235d7f8620e1ab663a9a5": { - "balance": "75800000000000000000000" + "0x966c04781cb5e67dde3235d7f8620e1ab663a9a5": { + "balance": "0x100d2050da6351600000" }, - "b3f82a87e59a39d0d2808f0751eb72c2329cdcc5": { - "balance": "5000000000000000000000" + "0xb3f82a87e59a39d0d2808f0751eb72c2329cdcc5": { + "balance": "0x10f0cf064dd59200000" }, - "9b77ebced7e215f0920e8c2b870024f6ecb2ff31": { - "balance": "1000000000000000000000" + "0x9b77ebced7e215f0920e8c2b870024f6ecb2ff31": { + "balance": "0x3635c9adc5dea00000" }, - "fe697ff22ca547bfc95e33d960da605c6763f35b": { - "balance": "1325000000000000000000" + "0xfe697ff22ca547bfc95e33d960da605c6763f35b": { + "balance": "0x47d4119fd960940000" }, - "480af52076009ca73781b70e43b95916a62203ab": { - "balance": "924171000000000000000" + "0x480af52076009ca73781b70e43b95916a62203ab": { + "balance": "0x321972f4083d878000" }, - "a9dc0424c6969d798358b393b1933a1f51bee00a": { - "balance": "20000000000000000000000" + "0xa9dc0424c6969d798358b393b1933a1f51bee00a": { + "balance": "0x43c33c1937564800000" }, - "7aba56f63a48bc0817d6b97039039a7ad62fae2e": { - "balance": "600000000000000000000" + "0x7aba56f63a48bc0817d6b97039039a7ad62fae2e": { + "balance": "0x2086ac351052600000" }, - "59d139e2e40c7b97239d23dfaca33858f602d22b": { - "balance": "2000000000000000000000" + "0x59d139e2e40c7b97239d23dfaca33858f602d22b": { + "balance": "0x6c6b935b8bbd400000" }, - "8d6170ff66978e773bb621bf72b1ba7be3a7f87e": { - "balance": "200000000000000000000" + "0x8d6170ff66978e773bb621bf72b1ba7be3a7f87e": { + "balance": "0xad78ebc5ac6200000" }, - "d668523a90f0293d65c538d2dd6c57673710196e": { - "balance": "39500000000000000000" + "0xd668523a90f0293d65c538d2dd6c57673710196e": { + "balance": "0x2242c30b853ee0000" }, - "bbb5a0f4802c8648009e8a6998af352cde87544f": { - "balance": "95500000000000000000" + "0xbbb5a0f4802c8648009e8a6998af352cde87544f": { + "balance": "0x52d542804f1ce0000" }, - "fc43829ac787ff88aaf183ba352aadbf5a15b193": { - "balance": "3960000000000000000000" + "0xfc43829ac787ff88aaf183ba352aadbf5a15b193": { + "balance": "0xd6ac0a2b0552e00000" }, - "fe22a0b388668d1ae2643e771dacf38a434223cc": { - "balance": "4000304000000000000000" + "0xfe22a0b388668d1ae2643e771dacf38a434223cc": { + "balance": "0xd8db5ebd7b26380000" }, - "092acb624b08c05510189bbbe21e6524d644ccad": { - "balance": "18200000000000000000" + "0x092acb624b08c05510189bbbe21e6524d644ccad": { + "balance": "0xfc936392801c0000" }, - "8f0538ed71da1155e0f3bde5667ceb84318a1a87": { - "balance": "1940000000000000000000" + "0x8f0538ed71da1155e0f3bde5667ceb84318a1a87": { + "balance": "0x692ae8897081d00000" }, - "06994cd83aa2640a97b2600b41339d1e0d3ede6c": { - "balance": "250000000000000000000" + "0x06994cd83aa2640a97b2600b41339d1e0d3ede6c": { + "balance": "0xd8d726b7177a80000" }, - "9d460c1b379ddb19a8c85b4c6747050ddf17a875": { - "balance": "3340000000000000000000" + "0x9d460c1b379ddb19a8c85b4c6747050ddf17a875": { + "balance": "0xb50fcfafebecb00000" }, - "77a769fafdecf4a638762d5ba3969df63120a41d": { - "balance": "2000000000000000000000" + "0x77a769fafdecf4a638762d5ba3969df63120a41d": { + "balance": "0x6c6b935b8bbd400000" }, - "5f375b86600c40cca8b2676b7a1a1d1644c5f52c": { - "balance": "78838000000000000000" + "0x5f375b86600c40cca8b2676b7a1a1d1644c5f52c": { + "balance": "0x44618d74c623f0000" }, - "15ee0fc63ebf1b1fc49d7bb38f8863823a2e17d2": { - "balance": "1910000000000000000000" + "0x15ee0fc63ebf1b1fc49d7bb38f8863823a2e17d2": { + "balance": "0x678a932062e4180000" }, - "6651736fb59b91fee9c93aa0bd6ea2f7b2506180": { - "balance": "500000000000000000000" + "0x6651736fb59b91fee9c93aa0bd6ea2f7b2506180": { + "balance": "0x1b1ae4d6e2ef500000" }, - "361d9ed80b5bd27cf9f1226f26753258ee5f9b3f": { - "balance": "3530900000000000000000" + "0x361d9ed80b5bd27cf9f1226f26753258ee5f9b3f": { + "balance": "0xbf6914ba7d72c20000" }, - "c9b6b686111691ee6aa197c7231a88dc60bd295d": { - "balance": "500000000000000000000" + "0xc9b6b686111691ee6aa197c7231a88dc60bd295d": { + "balance": "0x1b1ae4d6e2ef500000" }, - "e9b4a4853577a9dbcc2e795be0310d1bed28641a": { - "balance": "1000000000000000000000" + "0xe9b4a4853577a9dbcc2e795be0310d1bed28641a": { + "balance": "0x3635c9adc5dea00000" }, - "36758e049cd98bcea12277a676f9297362890023": { - "balance": "4000000000000000000000" + "0x36758e049cd98bcea12277a676f9297362890023": { + "balance": "0xd8d726b7177a800000" }, - "6bb50813146a9add42ee22038c9f1f7469d47f47": { - "balance": "200200000000000000000" + "0x6bb50813146a9add42ee22038c9f1f7469d47f47": { + "balance": "0xada55474b81340000" }, - "6de4b581385cf7fc9fe8c77d131fe2ee7724c76a": { - "balance": "2308840000000000000000" + "0x6de4b581385cf7fc9fe8c77d131fe2ee7724c76a": { + "balance": "0x7d2997733dcce40000" }, - "d2a5a024230a57ccc666760b89b0e26cafd189c7": { - "balance": "49997115000000000000000" + "0xd2a5a024230a57ccc666760b89b0e26cafd189c7": { + "balance": "0xa96595a5c6e8a3f8000" }, - "65af9087e05167715497c9a5a749189489004def": { - "balance": "835000000000000000000" + "0x65af9087e05167715497c9a5a749189489004def": { + "balance": "0x2d43f3ebfafb2c0000" }, - "ead21c1deccfbf1c5cd96688a2476b69ba07ce4a": { - "balance": "72800000000000000000" + "0xead21c1deccfbf1c5cd96688a2476b69ba07ce4a": { + "balance": "0x3f24d8e4a00700000" }, - "e308435204793764f5fcbe65eb510f5a744a655a": { - "balance": "200000000000000000000" + "0xe308435204793764f5fcbe65eb510f5a744a655a": { + "balance": "0xad78ebc5ac6200000" }, - "9376dce2af2ec8dcda741b7e7345664681d93668": { - "balance": "1000000000000000000000" + "0x9376dce2af2ec8dcda741b7e7345664681d93668": { + "balance": "0x3635c9adc5dea00000" }, - "a1b47c4d0ed6018842e6cfc8630ac3a3142e5e6b": { - "balance": "20000000000000000000" + "0xa1b47c4d0ed6018842e6cfc8630ac3a3142e5e6b": { + "balance": "0x1158e460913d00000" }, - "e2198c8ca1b399f7521561fd5384a7132fba486b": { - "balance": "1015200000000000000000" + "0xe2198c8ca1b399f7521561fd5384a7132fba486b": { + "balance": "0x3708baed3d68900000" }, - "92c13fe0d6ce87fd50e03def9fa6400509bd7073": { - "balance": "40000000000000000000" + "0x92c13fe0d6ce87fd50e03def9fa6400509bd7073": { + "balance": "0x22b1c8c1227a00000" }, - "7517f16c28d132bb40e3ba36c6aef131c462da17": { - "balance": "18200000000000000000" + "0x7517f16c28d132bb40e3ba36c6aef131c462da17": { + "balance": "0xfc936392801c0000" }, - "6a023af57d584d845e698736f130db9db40dfa9a": { - "balance": "98800000000000000000" + "0x6a023af57d584d845e698736f130db9db40dfa9a": { + "balance": "0x55b201c8900980000" }, - "1518627b88351fede796d3f3083364fbd4887b0c": { - "balance": "16000000000000000000000" + "0x1518627b88351fede796d3f3083364fbd4887b0c": { + "balance": "0x3635c9adc5dea000000" }, - "f5b6e9061a4eb096160777e26762cf48bdd8b55d": { - "balance": "254030000000000000000" + "0xf5b6e9061a4eb096160777e26762cf48bdd8b55d": { + "balance": "0xdc55fdb17647b0000" }, - "28073efc17d05cab3195c2db332b61984777a612": { - "balance": "1000000000000000000000" + "0x28073efc17d05cab3195c2db332b61984777a612": { + "balance": "0x3635c9adc5dea00000" }, - "f06a854a3c5dc36d1c49f4c87d6db333b57e4add": { - "balance": "10000000000000000000000" + "0xf06a854a3c5dc36d1c49f4c87d6db333b57e4add": { + "balance": "0x21e19e0c9bab2400000" }, - "9225983860a1cb4623c72480ac16272b0c95e5f5": { - "balance": "2000000000000000000000" + "0x9225983860a1cb4623c72480ac16272b0c95e5f5": { + "balance": "0x6c6b935b8bbd400000" }, - "5260dc51ee07bddaababb9ee744b393c7f4793a6": { - "balance": "34040000000000000000" + "0x5260dc51ee07bddaababb9ee744b393c7f4793a6": { + "balance": "0x1d8665fa5fa4c0000" }, - "0f127bbf8e311caea2ba502a33feced3f730ba42": { - "balance": "188000000000000000000" + "0x0f127bbf8e311caea2ba502a33feced3f730ba42": { + "balance": "0xa31062beeed700000" }, - "17d521a8d9779023f7164d233c3b6420ffd223ed": { - "balance": "20000000000000000000" + "0x17d521a8d9779023f7164d233c3b6420ffd223ed": { + "balance": "0x1158e460913d00000" }, - "8c2b7d8b608d28b77f5caa9cd645242a823e4cd9": { - "balance": "1820000000000000000000" + "0x8c2b7d8b608d28b77f5caa9cd645242a823e4cd9": { + "balance": "0x62a992e53a0af00000" }, - "6e866d032d405abdd65cf651411d803796c22311": { - "balance": "2000000000000000000000" + "0x6e866d032d405abdd65cf651411d803796c22311": { + "balance": "0x6c6b935b8bbd400000" }, - "dc51b2dc9d247a1d0e5bc36ca3156f7af21ff9f6": { - "balance": "1000000000000000000000" + "0xdc51b2dc9d247a1d0e5bc36ca3156f7af21ff9f6": { + "balance": "0x3635c9adc5dea00000" }, - "c84d9bea0a7b9f140220fd8b9097cfbfd5edf564": { - "balance": "123047000000000000000" + "0xc84d9bea0a7b9f140220fd8b9097cfbfd5edf564": { + "balance": "0x6ab9ec291ad7d8000" }, - "ff86e5e8e15b53909600e41308dab75f0e24e46b": { - "balance": "902400000000000000000" + "0xff86e5e8e15b53909600e41308dab75f0e24e46b": { + "balance": "0x30eb50d2e140800000" }, - "d7164aa261c09ad9b2b5068d453ed8eb6aa13083": { - "balance": "3000000000000000000000" + "0xd7164aa261c09ad9b2b5068d453ed8eb6aa13083": { + "balance": "0xa2a15d09519be00000" }, - "76aaf8c1ac012f8752d4c09bb46607b6651d5ca8": { - "balance": "20000000000000000000" + "0x76aaf8c1ac012f8752d4c09bb46607b6651d5ca8": { + "balance": "0x1158e460913d00000" }, - "41786a10d447f484d33244ccb7facd8b427b5b8c": { - "balance": "1000000000000000000000" + "0x41786a10d447f484d33244ccb7facd8b427b5b8c": { + "balance": "0x3635c9adc5dea00000" }, - "2e0c57b47150f95aa6a7e16ab9b1cbf54328979a": { - "balance": "100000000000000000000" + "0x2e0c57b47150f95aa6a7e16ab9b1cbf54328979a": { + "balance": "0x56bc75e2d63100000" }, - "3f747237806fed3f828a6852eb0867f79027af89": { - "balance": "1500000000000000000000" + "0x3f747237806fed3f828a6852eb0867f79027af89": { + "balance": "0x5150ae84a8cdf00000" }, - "a568db4d57e4d67462d733c69a9e0fe26e218327": { - "balance": "1096140000000000000000" + "0xa568db4d57e4d67462d733c69a9e0fe26e218327": { + "balance": "0x3b6bff9266c0ae0000" }, - "1f88f8a1338fc7c10976abcd3fb8d38554b5ec9c": { - "balance": "13400000000000000000" + "0x1f88f8a1338fc7c10976abcd3fb8d38554b5ec9c": { + "balance": "0xb9f65d00f63c0000" }, - "d1ea4d72a67b5b3e0f315559f52bd0614d713069": { - "balance": "2000000000000000000000" + "0xd1ea4d72a67b5b3e0f315559f52bd0614d713069": { + "balance": "0x6c6b935b8bbd400000" }, - "bfaeb91067617dcf8b44172b02af615674835dba": { - "balance": "160661000000000000000" + "0xbfaeb91067617dcf8b44172b02af615674835dba": { + "balance": "0x8b59e884813088000" }, - "b71a13ba8e95167b80331b52d69e37054fe7a826": { - "balance": "200000000000000000000" + "0xb71a13ba8e95167b80331b52d69e37054fe7a826": { + "balance": "0xad78ebc5ac6200000" }, - "b67a80f170197d96cdcc4ab6cba627b4afa6e12c": { - "balance": "2400000000000000000000" + "0xb67a80f170197d96cdcc4ab6cba627b4afa6e12c": { + "balance": "0x821ab0d44149800000" }, - "35af040a0cc2337a76af288154c7561e1a233349": { - "balance": "1000000000000000000000" + "0x35af040a0cc2337a76af288154c7561e1a233349": { + "balance": "0x3635c9adc5dea00000" }, - "c86190904b8d079ec010e462cbffc90834ffaa5c": { - "balance": "10100000000000000000000" + "0xc86190904b8d079ec010e462cbffc90834ffaa5c": { + "balance": "0x22385a827e815500000" }, - "383304dd7a5720b29c1a10f60342219f48032f80": { - "balance": "5600000000000000000000" + "0x383304dd7a5720b29c1a10f60342219f48032f80": { + "balance": "0x12f939c99edab800000" }, - "191313525238a21c767457a91374f02200c55448": { - "balance": "116400000000000000000" + "0x191313525238a21c767457a91374f02200c55448": { + "balance": "0x64f5fdf494f780000" }, - "cc4a2f2cf86cf3e43375f360a4734691195f1490": { - "balance": "1348127000000000000000" + "0xcc4a2f2cf86cf3e43375f360a4734691195f1490": { + "balance": "0x4915053bd129098000" }, - "4e020779b5ddd3df228a00cb48c2fc979da6ae38": { - "balance": "2000000000000000000000" + "0x4e020779b5ddd3df228a00cb48c2fc979da6ae38": { + "balance": "0x6c6b935b8bbd400000" }, - "e206fb7324e9deb79e19903496d6961b9be56603": { - "balance": "100000000000000000000" + "0xe206fb7324e9deb79e19903496d6961b9be56603": { + "balance": "0x56bc75e2d63100000" }, - "3ae160e3cd60ae31b9d6742d68e14e76bd96c517": { - "balance": "30000000000000000000" + "0x3ae160e3cd60ae31b9d6742d68e14e76bd96c517": { + "balance": "0x1a055690d9db80000" }, - "1f7d8e86d6eeb02545aad90e91327bd369d7d2f3": { - "balance": "20000000000000000000" + "0x1f7d8e86d6eeb02545aad90e91327bd369d7d2f3": { + "balance": "0x1158e460913d00000" }, - "68c7d1711b011a33f16f1f55b5c902cce970bdd7": { - "balance": "152000000000000000000" + "0x68c7d1711b011a33f16f1f55b5c902cce970bdd7": { + "balance": "0x83d6c7aab63600000" }, - "637be71b3aa815ff453d5642f73074450b64c82a": { - "balance": "2000000000000000000000" + "0x637be71b3aa815ff453d5642f73074450b64c82a": { + "balance": "0x6c6b935b8bbd400000" }, - "1584a2c066b7a455dbd6ae2807a7334e83c35fa5": { - "balance": "130000000000000000000" + "0x1584a2c066b7a455dbd6ae2807a7334e83c35fa5": { + "balance": "0x70c1cc73b00c80000" }, - "9c05e9d0f0758e795303717e31da213ca157e686": { - "balance": "1000000000000000000000" + "0x9c05e9d0f0758e795303717e31da213ca157e686": { + "balance": "0x3635c9adc5dea00000" }, - "4f1a2da54a4c6da19d142412e56e815741db2325": { - "balance": "100000000000000000000" + "0x4f1a2da54a4c6da19d142412e56e815741db2325": { + "balance": "0x56bc75e2d63100000" }, - "9a4ca8b82117894e43db72b9fa78f0b9b93ace09": { - "balance": "50000000000000000000" + "0x9a4ca8b82117894e43db72b9fa78f0b9b93ace09": { + "balance": "0x2b5e3af16b1880000" }, - "26c99f8849c9802b83c861217fd07a9e84cdb79d": { - "balance": "300000000000000000000" + "0x26c99f8849c9802b83c861217fd07a9e84cdb79d": { + "balance": "0x1043561a8829300000" }, - "45c0d19f0b8e054f9e893836d5ecae7901af2812": { - "balance": "5000000000000000000000" + "0x45c0d19f0b8e054f9e893836d5ecae7901af2812": { + "balance": "0x10f0cf064dd59200000" }, - "00dc01cbf44978a42e8de8e436edf94205cfb6ec": { - "balance": "1458440000000000000000" + "0x00dc01cbf44978a42e8de8e436edf94205cfb6ec": { + "balance": "0x4f0febbcda8cb40000" }, - "de7dee220f0457a7187d56c1c41f2eb00ac56021": { - "balance": "629924000000000000000" + "0xde7dee220f0457a7187d56c1c41f2eb00ac56021": { + "balance": "0x2225f39c85052a0000" }, - "1c128bd6cda5fca27575e4b43b3253c8c4172afe": { - "balance": "2000000000000000000000" + "0x1c128bd6cda5fca27575e4b43b3253c8c4172afe": { + "balance": "0x6c6b935b8bbd400000" }, - "666746fb93d1935c5a3c684e725010c4fad0b1d8": { - "balance": "20000000000000000000" + "0x666746fb93d1935c5a3c684e725010c4fad0b1d8": { + "balance": "0x1158e460913d00000" }, - "51d78b178d707e396e8710965c4f41b1a1d9179d": { - "balance": "110600000000000000000" + "0x51d78b178d707e396e8710965c4f41b1a1d9179d": { + "balance": "0x5fee222041e340000" }, - "68f7573cd457e14c03fea43e302d30347c10705c": { - "balance": "5000000000000000000000" + "0x68f7573cd457e14c03fea43e302d30347c10705c": { + "balance": "0x10f0cf064dd59200000" }, - "9d30cb237bc096f17036fc80dd21ca68992ca2d9": { - "balance": "30380000000000000000000" + "0x9d30cb237bc096f17036fc80dd21ca68992ca2d9": { + "balance": "0x66ee7318fdc8f300000" }, - "fbcfcc4a7b0f26cf26e9f3332132e2fc6a230766": { - "balance": "8000000000000000000000" + "0xfbcfcc4a7b0f26cf26e9f3332132e2fc6a230766": { + "balance": "0x1b1ae4d6e2ef5000000" }, - "b166e37d2e501ae73c84142b5ffb5aa655dd5a99": { - "balance": "1999000000000000000000" + "0xb166e37d2e501ae73c84142b5ffb5aa655dd5a99": { + "balance": "0x6c5db2a4d815dc0000" }, - "6df24f6685a62f791ba337bf3ff67e91f3d4bc3a": { - "balance": "2166000000000000000000" + "0x6df24f6685a62f791ba337bf3ff67e91f3d4bc3a": { + "balance": "0x756b49d40a48180000" }, - "92e435340e9d253c00256389f52b067d55974e76": { - "balance": "268000000000000000000" + "0x92e435340e9d253c00256389f52b067d55974e76": { + "balance": "0xe873f44133cb00000" }, - "ea53d26564859d9e90bb0e53b7abf560e0162c38": { - "balance": "400000000000000000000" + "0xea53d26564859d9e90bb0e53b7abf560e0162c38": { + "balance": "0x15af1d78b58c400000" }, - "e26657f0ed201ea2392c9222b80a7003608ddf30": { - "balance": "40000000000000000000" + "0xe26657f0ed201ea2392c9222b80a7003608ddf30": { + "balance": "0x22b1c8c1227a00000" }, - "f4177a0d85d48b0e264211ce2aa2efd3f1b47f08": { - "balance": "3593425000000000000000" + "0xf4177a0d85d48b0e264211ce2aa2efd3f1b47f08": { + "balance": "0xc2ccca26b7e80e8000" }, - "9d47ba5b4c8505ad8da42934280b61a0e1e8b971": { - "balance": "100000000000000000000" + "0x9d47ba5b4c8505ad8da42934280b61a0e1e8b971": { + "balance": "0x56bc75e2d63100000" }, - "63c2a3d235e5eeabd0d4a6afdb89d94627396495": { - "balance": "1241620000000000000000" + "0x63c2a3d235e5eeabd0d4a6afdb89d94627396495": { + "balance": "0x434ef05b9d84820000" }, - "446a8039cecf9dce4879cbcaf3493bf545a88610": { - "balance": "7000000000000000000000" + "0x446a8039cecf9dce4879cbcaf3493bf545a88610": { + "balance": "0x17b7883c06916600000" }, - "7fa37ed67887751a471f0eb306be44e0dbcd6089": { - "balance": "1060000000000000000000" + "0x7fa37ed67887751a471f0eb306be44e0dbcd6089": { + "balance": "0x3976747fe11a100000" }, - "26d4a16891f52922789217fcd886f7fce296d400": { - "balance": "2000000000000000000000" + "0x26d4a16891f52922789217fcd886f7fce296d400": { + "balance": "0x6c6b935b8bbd400000" }, - "487e108502b0b189ef9c8c6da4d0db6261eec6c0": { - "balance": "1910000000000000000000" + "0x487e108502b0b189ef9c8c6da4d0db6261eec6c0": { + "balance": "0x678a932062e4180000" }, - "7484d26becc1eea8c6315ec3ee0a450117dc86a0": { - "balance": "12000000000000000000000" + "0x7484d26becc1eea8c6315ec3ee0a450117dc86a0": { + "balance": "0x28a857425466f800000" }, - "ad9e97a0482f353a05c0f792b977b6c7e811fa5f": { - "balance": "200000000000000000000" + "0xad9e97a0482f353a05c0f792b977b6c7e811fa5f": { + "balance": "0xad78ebc5ac6200000" }, - "2273bad7bc4e487622d175ef7a66988b6a93c4ee": { - "balance": "20000000000000000000" + "0x2273bad7bc4e487622d175ef7a66988b6a93c4ee": { + "balance": "0x1158e460913d00000" }, - "3b93b16136f11eaf10996c95990d3b2739ccea5f": { - "balance": "10000000000000000000000" + "0x3b93b16136f11eaf10996c95990d3b2739ccea5f": { + "balance": "0x21e19e0c9bab2400000" }, - "f3f1fa3918ca34e2cf7e84670b1f4d8eca160db3": { - "balance": "680000000000000000000" + "0xf3f1fa3918ca34e2cf7e84670b1f4d8eca160db3": { + "balance": "0x24dce54d34a1a00000" }, - "88a2154430c0e41147d3c1fee3b3b006f851edbd": { - "balance": "999972000000000000000" + "0x88a2154430c0e41147d3c1fee3b3b006f851edbd": { + "balance": "0x36356633ebd8ea0000" }, - "25185f325acf2d64500698f65c769ddf68301602": { - "balance": "5000000000000000000000" + "0x25185f325acf2d64500698f65c769ddf68301602": { + "balance": "0x10f0cf064dd59200000" }, - "e9cafe41a5e8bbd90ba02d9e06585b4eb546c57f": { - "balance": "2000000000000000000000" + "0xe9cafe41a5e8bbd90ba02d9e06585b4eb546c57f": { + "balance": "0x6c6b935b8bbd400000" }, - "95681cdae69b2049ce101e325c759892cac3f811": { - "balance": "2857600000000000000000" + "0x95681cdae69b2049ce101e325c759892cac3f811": { + "balance": "0x9ae92a9bc94c400000" }, - "475066f9ad26655196d5535327bbeb9b7929cb04": { - "balance": "3040000000000000000000" + "0x475066f9ad26655196d5535327bbeb9b7929cb04": { + "balance": "0xa4cc799563c3800000" }, - "6685fd2e2544702c360b8bb9ee78f130dad16da5": { - "balance": "2000000000000000000000" + "0x6685fd2e2544702c360b8bb9ee78f130dad16da5": { + "balance": "0x6c6b935b8bbd400000" }, - "45e68db94c7d0ab7ac41857a71d67147870f4e71": { - "balance": "400000000000000000000000" + "0x45e68db94c7d0ab7ac41857a71d67147870f4e71": { + "balance": "0x54b40b1f852bda000000" }, - "4ad95d188d6464709add2555fb4d97fe1ebf311f": { - "balance": "346000000000000000000" + "0x4ad95d188d6464709add2555fb4d97fe1ebf311f": { + "balance": "0x12c1b6eed03d280000" }, - "73bedd6fda7ba3272185087b6351fc133d484e37": { - "balance": "5057200000000000000000" + "0x73bedd6fda7ba3272185087b6351fc133d484e37": { + "balance": "0x11226bf9dce59780000" }, - "1ea4715504c6af107b0194f4f7b1cb6fcccd6f4b": { - "balance": "590598000000000000000" + "0x1ea4715504c6af107b0194f4f7b1cb6fcccd6f4b": { + "balance": "0x20043197e0b0270000" }, - "77306ffe2e4a8f3ca826c1a249f7212da43aeffd": { - "balance": "20000000000000000000000" + "0x77306ffe2e4a8f3ca826c1a249f7212da43aeffd": { + "balance": "0x43c33c1937564800000" }, - "eb453f5a3adddd8ab56750fadb0fe7f94d9c89e7": { - "balance": "20000000000000000000" + "0xeb453f5a3adddd8ab56750fadb0fe7f94d9c89e7": { + "balance": "0x1158e460913d00000" }, - "7201d1c06920cd397ae8ad869bcda6e47ffb1b5a": { - "balance": "20000000000000000000" + "0x7201d1c06920cd397ae8ad869bcda6e47ffb1b5a": { + "balance": "0x1158e460913d00000" }, - "821cb5cd05c7ef909fe1be60733d8963d760dc41": { - "balance": "4000000000000000000000" + "0x821cb5cd05c7ef909fe1be60733d8963d760dc41": { + "balance": "0xd8d726b7177a800000" }, - "496e319592b341eaccd778dda7c8196d54cac775": { - "balance": "9250000000000000000000" + "0x496e319592b341eaccd778dda7c8196d54cac775": { + "balance": "0x1f5718987664b480000" }, - "88609e0a465b6e99fce907166d57e9da0814f5c8": { - "balance": "20000000000000000000000" + "0x88609e0a465b6e99fce907166d57e9da0814f5c8": { + "balance": "0x43c33c1937564800000" }, - "c7ec62b804b1f69b1e3070b5d362c62fb309b070": { - "balance": "13068074000000000000000" + "0xc7ec62b804b1f69b1e3070b5d362c62fb309b070": { + "balance": "0x2c46bf5416066110000" }, - "3eb9ef06d0c259040319947e8c7a6812aa0253d8": { - "balance": "167000000000000000000" + "0x3eb9ef06d0c259040319947e8c7a6812aa0253d8": { + "balance": "0x90d972f32323c0000" }, - "cbf37ff854a2f1ce53934494777892d3ec655782": { - "balance": "10000000000000000000000" + "0xcbf37ff854a2f1ce53934494777892d3ec655782": { + "balance": "0x21e19e0c9bab2400000" }, - "02b1af72339b2a2256389fd64607de24f0de600a": { - "balance": "2000000000000000000000" + "0x02b1af72339b2a2256389fd64607de24f0de600a": { + "balance": "0x6c6b935b8bbd400000" }, - "a8beb91c2b99c8964aa95b6b4a184b1269fc3483": { - "balance": "400000000000000000000" + "0xa8beb91c2b99c8964aa95b6b4a184b1269fc3483": { + "balance": "0x15af1d78b58c400000" }, - "922a20c79a1d3a26dd3829677bf1d45c8f672bb6": { - "balance": "4000000000000000000000" + "0x922a20c79a1d3a26dd3829677bf1d45c8f672bb6": { + "balance": "0xd8d726b7177a800000" }, - "c5843399d150066bf7979c34ba294620368ad7c0": { - "balance": "200000000000000000000" + "0xc5843399d150066bf7979c34ba294620368ad7c0": { + "balance": "0xad78ebc5ac6200000" }, - "8cd0cd22e620eda79c0461e896c93c44837e2968": { - "balance": "2000000000000000000000" + "0x8cd0cd22e620eda79c0461e896c93c44837e2968": { + "balance": "0x6c6b935b8bbd400000" }, - "6170dd0687bd55ca88b87adef51cfdc55c4dd458": { - "balance": "2005160000000000000000" + "0x6170dd0687bd55ca88b87adef51cfdc55c4dd458": { + "balance": "0x6cb32f5c34fe440000" }, - "eed384ef2d41d9d203974e57c12328ea760e08ea": { - "balance": "1000000000000000000000" + "0xeed384ef2d41d9d203974e57c12328ea760e08ea": { + "balance": "0x3635c9adc5dea00000" }, - "b129a5cb7105fe810bd895dc7206a991a4545488": { - "balance": "30000000000000000000" + "0xb129a5cb7105fe810bd895dc7206a991a4545488": { + "balance": "0x1a055690d9db80000" }, - "3872f48dc5e3f817bc6b2ad2d030fc5e0471193d": { - "balance": "4000000000000000000000" + "0x3872f48dc5e3f817bc6b2ad2d030fc5e0471193d": { + "balance": "0xd8d726b7177a800000" }, - "514b7512c9ae5ea63cbf11715b63f21e18d296c1": { - "balance": "1999944000000000000000" + "0x514b7512c9ae5ea63cbf11715b63f21e18d296c1": { + "balance": "0x6c6acc67d7b1d40000" }, - "7ab256b204800af20137fabcc916a23258752501": { - "balance": "20000000000000000000000" + "0x7ab256b204800af20137fabcc916a23258752501": { + "balance": "0x43c33c1937564800000" }, - "fc66faba277f4b5de64ad45eb19c31e00ced3ed5": { - "balance": "5640000000000000000000" + "0xfc66faba277f4b5de64ad45eb19c31e00ced3ed5": { + "balance": "0x131beb925ffd3200000" }, - "39824f8bced176fd3ea22ec6a493d0ccc33fc147": { - "balance": "4000000000000000000000" + "0x39824f8bced176fd3ea22ec6a493d0ccc33fc147": { + "balance": "0xd8d726b7177a800000" }, - "e338e859fe2e8c15554848b75caecda877a0e832": { - "balance": "1801800000000000000000" + "0xe338e859fe2e8c15554848b75caecda877a0e832": { + "balance": "0x61acff81a78ad40000" }, - "e53c68796212033e4e6f9cff56e19c461eb454f9": { - "balance": "1000000000000000000000" + "0xe53c68796212033e4e6f9cff56e19c461eb454f9": { + "balance": "0x3635c9adc5dea00000" }, - "8461ecc4a6a45eb1a5b947fb86b88069b91fcd6f": { - "balance": "2000000000000000000000" + "0x8461ecc4a6a45eb1a5b947fb86b88069b91fcd6f": { + "balance": "0x6c6b935b8bbd400000" }, - "6b4b99cb3fa9f7b74ce3a48317b1cd13090a1a7a": { - "balance": "57300000000000000000" + "0x6b4b99cb3fa9f7b74ce3a48317b1cd13090a1a7a": { + "balance": "0x31b327e695de20000" }, - "97de21e421c37fe4b8025f9a51b7b390b5df7804": { - "balance": "80000000000000000000000" + "0x97de21e421c37fe4b8025f9a51b7b390b5df7804": { + "balance": "0x10f0cf064dd592000000" }, - "d25aecd7eb8bd6345b063b5dbd271c77d3514494": { - "balance": "1820000000000000000000" + "0xd25aecd7eb8bd6345b063b5dbd271c77d3514494": { + "balance": "0x62a992e53a0af00000" }, - "57b23d6a1adc06c652a779c6a7fb6b95b9fead66": { - "balance": "200000000000000000000" + "0x57b23d6a1adc06c652a779c6a7fb6b95b9fead66": { + "balance": "0xad78ebc5ac6200000" }, - "0d658014a199061cf6b39433140303c20ffd4e5a": { - "balance": "8200000000000000000000" + "0x0d658014a199061cf6b39433140303c20ffd4e5a": { + "balance": "0x1bc85dc2a89bb200000" }, - "30eac740e4f02cb56eef0526e5d300322600d03e": { - "balance": "1970000000000000000000" + "0x30eac740e4f02cb56eef0526e5d300322600d03e": { + "balance": "0x6acb3df27e1f880000" }, - "4eead40aad8c73ef08fc84bc0a92c9092f6a36bf": { - "balance": "26740000000000000000" + "0x4eead40aad8c73ef08fc84bc0a92c9092f6a36bf": { + "balance": "0x1731790534df20000" }, - "30f7d025d16f7bee105580486f9f561c7bae3fef": { - "balance": "500000000000000000000" + "0x30f7d025d16f7bee105580486f9f561c7bae3fef": { + "balance": "0x1b1ae4d6e2ef500000" }, - "0977bfba038a44fb49b03970d8d8cf2cb61f8b25": { - "balance": "420000000000000000000" + "0x0977bfba038a44fb49b03970d8d8cf2cb61f8b25": { + "balance": "0x16c4abbebea0100000" }, - "b14bbeff70720975dc6191b2a44ff49f2672873c": { - "balance": "143000000000000000000" + "0xb14bbeff70720975dc6191b2a44ff49f2672873c": { + "balance": "0x7c0860e5a80dc0000" }, - "d588c3a5df228185d98ee7e60748255cdea68b01": { - "balance": "4000000000000000000000" + "0xd588c3a5df228185d98ee7e60748255cdea68b01": { + "balance": "0xd8d726b7177a800000" }, - "225d35faedb391c7bc2db7fa9071160405996d00": { - "balance": "167774000000000000000" + "0x225d35faedb391c7bc2db7fa9071160405996d00": { + "balance": "0x91854fc1862630000" }, - "c0e457bd56ec36a1246bfa3230fff38e5926ef22": { - "balance": "1940000000000000000000" + "0xc0e457bd56ec36a1246bfa3230fff38e5926ef22": { + "balance": "0x692ae8897081d00000" }, - "2a9c57fe7b6b138a920d676f3c76b6c2a0eef699": { - "balance": "9400000000000000000000" + "0x2a9c57fe7b6b138a920d676f3c76b6c2a0eef699": { + "balance": "0x1fd933494aa5fe00000" }, - "36df8f883c1273ec8a171f7a33cfd649b1fe6075": { - "balance": "227290000000000000000" + "0x36df8f883c1273ec8a171f7a33cfd649b1fe6075": { + "balance": "0xc52484ac416890000" }, - "234f46bab73fe45d31bf87f0a1e0466199f2ebac": { - "balance": "485000000000000000000" + "0x234f46bab73fe45d31bf87f0a1e0466199f2ebac": { + "balance": "0x1a4aba225c20740000" }, - "a2e1b8aa900e9c139b3fa122354f6156d92a18b1": { - "balance": "500000000000000000000" + "0xa2e1b8aa900e9c139b3fa122354f6156d92a18b1": { + "balance": "0x1b1ae4d6e2ef500000" }, - "517cd7608e5d0d83a26b717f3603dac2277dc3a4": { - "balance": "2000000000000000000000" + "0x517cd7608e5d0d83a26b717f3603dac2277dc3a4": { + "balance": "0x6c6b935b8bbd400000" }, - "75f7539d309e9039989efe2e8b2dbd865a0df088": { - "balance": "2460000000000000000000" + "0x75f7539d309e9039989efe2e8b2dbd865a0df088": { + "balance": "0x855b5ba65c84f00000" }, - "4b792e29683eb586e394bb33526c6001b397999e": { - "balance": "600000000000000000000" + "0x4b792e29683eb586e394bb33526c6001b397999e": { + "balance": "0x2086ac351052600000" }, - "a34f9d568bf7afd94c2a5b8a5ff55c66c4087999": { - "balance": "2444000000000000000000" + "0xa34f9d568bf7afd94c2a5b8a5ff55c66c4087999": { + "balance": "0x847d503b220eb00000" }, - "4b31bf41abc75c9ae2cd8f7f35163b6e2b745054": { - "balance": "382000000000000000000" + "0x4b31bf41abc75c9ae2cd8f7f35163b6e2b745054": { + "balance": "0x14b550a013c7380000" }, - "e35453eef2cc3c7a044d0ac134ba615908fa82ee": { - "balance": "147510000000000000000" + "0xe35453eef2cc3c7a044d0ac134ba615908fa82ee": { + "balance": "0x7ff1ccb7561df0000" }, - "7aa79ac04316cc8d08f20065baa6d4142897d54e": { - "balance": "1400000000000000000000" + "0x7aa79ac04316cc8d08f20065baa6d4142897d54e": { + "balance": "0x4be4e7267b6ae00000" }, - "f1dc8ac81042c67a9c3c6792b230c46ac016ca10": { - "balance": "200000000000000000000" + "0xf1dc8ac81042c67a9c3c6792b230c46ac016ca10": { + "balance": "0xad78ebc5ac6200000" }, - "2bb366b9edcb0da680f0e10b3b6e28748190d6c3": { - "balance": "5799400000000000000000" + "0x2bb366b9edcb0da680f0e10b3b6e28748190d6c3": { + "balance": "0x13a62d7b57640640000" }, - "a567770b6ae320bdde50f904d663e746a61dace6": { - "balance": "2000000000000000000000" + "0xa567770b6ae320bdde50f904d663e746a61dace6": { + "balance": "0x6c6b935b8bbd400000" }, - "d9d42fd13ebd4bf69cac5e9c7e82483ab46dd7e9": { - "balance": "5348000000000000000000" + "0xd9d42fd13ebd4bf69cac5e9c7e82483ab46dd7e9": { + "balance": "0x121ea68c114e5100000" }, - "27830c5f6023afaaf79745676c204a0faccda0ba": { - "balance": "240000000000000000000" + "0x27830c5f6023afaaf79745676c204a0faccda0ba": { + "balance": "0xd02ab486cedc00000" }, - "3cb179cb4801a99b95c3b0c324a2bdc101a65360": { - "balance": "26000000000000000000" + "0x3cb179cb4801a99b95c3b0c324a2bdc101a65360": { + "balance": "0x168d28e3f00280000" }, - "976e3ceaf3f1af51f8c29aff5d7fa21f0386d8ee": { - "balance": "240000000000000000000" + "0x976e3ceaf3f1af51f8c29aff5d7fa21f0386d8ee": { + "balance": "0xd02ab486cedc00000" }, - "752a5ee232612cd3005fb26e5b597de19f776be6": { - "balance": "5460000000000000000000" + "0x752a5ee232612cd3005fb26e5b597de19f776be6": { + "balance": "0x127fcb8afae20d00000" }, - "7d5aa33fc14b51841a06906edb2bb49c2a117269": { - "balance": "300048000000000000000" + "0x7d5aa33fc14b51841a06906edb2bb49c2a117269": { + "balance": "0x104400a2470e680000" }, - "55ca6abe79ea2497f46fdbb830346010fe469cbe": { - "balance": "5730000000000000000000" + "0x55ca6abe79ea2497f46fdbb830346010fe469cbe": { + "balance": "0x1369fb96128ac480000" }, - "6bec311ad05008b4af353c958c40bd06739a3ff3": { - "balance": "16380000000000000000000" + "0x6bec311ad05008b4af353c958c40bd06739a3ff3": { + "balance": "0x377f62a0f0a62700000" }, - "30e9698cf1e08a9d048bd8d8048f28be7ed9409f": { - "balance": "6685000000000000000000" + "0x30e9698cf1e08a9d048bd8d8048f28be7ed9409f": { + "balance": "0x16a6502f15a1e540000" }, - "9afa536b4c66bc38d875c4b30099d9261fdb38eb": { - "balance": "205981000000000000000" + "0x9afa536b4c66bc38d875c4b30099d9261fdb38eb": { + "balance": "0xb2a8f842a77bc8000" }, - "6b63a2dfb2bcd0caec0022b88be30c1451ea56aa": { - "balance": "809021000000000000000" + "0x6b63a2dfb2bcd0caec0022b88be30c1451ea56aa": { + "balance": "0x2bdb6bf91f7f4c8000" }, - "d07be0f90997caf903c8ac1d53cde904fb190741": { - "balance": "1000200000000000000000" + "0xd07be0f90997caf903c8ac1d53cde904fb190741": { + "balance": "0x36389038b699b40000" }, - "893cdddf5377f3c751bf2e541120045a47cba101": { - "balance": "100000000000000000000" + "0x893cdddf5377f3c751bf2e541120045a47cba101": { + "balance": "0x56bc75e2d63100000" }, - "c1cdc601f89c0428b31302d187e0dc08ad7d1c57": { - "balance": "6000000000000000000000" + "0xc1cdc601f89c0428b31302d187e0dc08ad7d1c57": { + "balance": "0x14542ba12a337c00000" }, - "8f8acb107607388479f64baaabea8ff007ada97d": { - "balance": "27281800000000000000000" + "0x8f8acb107607388479f64baaabea8ff007ada97d": { + "balance": "0x5c6f3080ad423f40000" }, - "88bc43012edb0ea9f062ac437843250a39b78fbb": { - "balance": "20000000000000000000000" + "0x88bc43012edb0ea9f062ac437843250a39b78fbb": { + "balance": "0x43c33c1937564800000" }, - "fcfc3a5004d678613f0b36a642269a7f371c3f6a": { - "balance": "1000000000000000000000" + "0xfcfc3a5004d678613f0b36a642269a7f371c3f6a": { + "balance": "0x3635c9adc5dea00000" }, - "f509557e90183fbf0f0651a786487bcc428ba175": { - "balance": "194000000000000000000" + "0xf509557e90183fbf0f0651a786487bcc428ba175": { + "balance": "0xa844a7424d9c80000" }, - "e3d915eda3b825d6ee4af9328d32ac18ada35497": { - "balance": "500000000000000000000" + "0xe3d915eda3b825d6ee4af9328d32ac18ada35497": { + "balance": "0x1b1ae4d6e2ef500000" }, - "f237ef05261c34d79cc22b860de0f17f793c3860": { - "balance": "200000000000000000000" + "0xf237ef05261c34d79cc22b860de0f17f793c3860": { + "balance": "0xad78ebc5ac6200000" }, - "a3a2e319e7d3a1448b5aa2468953160c2dbcba71": { - "balance": "2000000000000000000000" + "0xa3a2e319e7d3a1448b5aa2468953160c2dbcba71": { + "balance": "0x6c6b935b8bbd400000" }, - "3a368efe4ad786e26395ec9fc6ad698cae29fe01": { - "balance": "632200000000000000000" + "0x3a368efe4ad786e26395ec9fc6ad698cae29fe01": { + "balance": "0x2245899675f9f40000" }, - "8e3240b0810e1cf407a500804740cf8d616432a4": { - "balance": "40309000000000000000" + "0x8e3240b0810e1cf407a500804740cf8d616432a4": { + "balance": "0x22f6655ef0b388000" }, - "5691dd2f6745f20e22d2e1d1b955aa2903d65656": { - "balance": "1969606000000000000000" + "0x5691dd2f6745f20e22d2e1d1b955aa2903d65656": { + "balance": "0x6ac5c62d9486070000" }, - "5f93ff832774db5114c55bb4bf44ccf3b58f903f": { - "balance": "192026650000000000000000" + "0x5f93ff832774db5114c55bb4bf44ccf3b58f903f": { + "balance": "0x28a9c91a263458290000" }, - "2c1cc6e18c152488ba11c2cc1bcefa2df306abd1": { - "balance": "1670000000000000000000" + "0x2c1cc6e18c152488ba11c2cc1bcefa2df306abd1": { + "balance": "0x5a87e7d7f5f6580000" }, - "bde9786a84e75b48f18e726dd78d70e4af3ed802": { - "balance": "5730000000000000000000" + "0xbde9786a84e75b48f18e726dd78d70e4af3ed802": { + "balance": "0x1369fb96128ac480000" }, - "79551cede376f747e3716c8d79400d766d2e0195": { - "balance": "46250000000000000000000" + "0x79551cede376f747e3716c8d79400d766d2e0195": { + "balance": "0x9cb37afa4ff78680000" }, - "49f028395b5a86c9e07f7778630e4c2e3d373a77": { - "balance": "122735000000000000000" + "0x49f028395b5a86c9e07f7778630e4c2e3d373a77": { + "balance": "0x6a74a5038db918000" }, - "6a3694424c7cc6b8bcd9bccaba540cc1f5df18d7": { - "balance": "2000000000000000000000" + "0x6a3694424c7cc6b8bcd9bccaba540cc1f5df18d7": { + "balance": "0x6c6b935b8bbd400000" }, - "068e29b3f191c812a6393918f71ab933ae6847f2": { - "balance": "1999944000000000000000" + "0x068e29b3f191c812a6393918f71ab933ae6847f2": { + "balance": "0x6c6acc67d7b1d40000" }, - "6e64e6129f224e378c0e6e736a7e7a06c211e9ec": { - "balance": "1000000000000000000000" + "0x6e64e6129f224e378c0e6e736a7e7a06c211e9ec": { + "balance": "0x3635c9adc5dea00000" }, - "c4c15318d370c73318cc18bdd466dbaa4c6603bf": { - "balance": "19700000000000000000" + "0xc4c15318d370c73318cc18bdd466dbaa4c6603bf": { + "balance": "0x11164759ffb320000" }, - "8035bcffaefdeeea35830c497d14289d362023de": { - "balance": "300000000000000000000" + "0x8035bcffaefdeeea35830c497d14289d362023de": { + "balance": "0x1043561a8829300000" }, - "a997dfc7986a27050848fa1c64d7a7d6e07acca2": { - "balance": "143000000000000000000" + "0xa997dfc7986a27050848fa1c64d7a7d6e07acca2": { + "balance": "0x7c0860e5a80dc0000" }, - "2fe13a8d0785de8758a5e41876c36e916cf75074": { - "balance": "4000000000000000000000" + "0x2fe13a8d0785de8758a5e41876c36e916cf75074": { + "balance": "0xd8d726b7177a800000" }, - "6f24c9af2b763480515d1b0951bb77a540f1e3f9": { - "balance": "1970000000000000000000" + "0x6f24c9af2b763480515d1b0951bb77a540f1e3f9": { + "balance": "0x6acb3df27e1f880000" }, - "4c23b370fc992bb67cec06e26715b62f0b3a4ac3": { - "balance": "10000000000000000000000" + "0x4c23b370fc992bb67cec06e26715b62f0b3a4ac3": { + "balance": "0x21e19e0c9bab2400000" }, - "4ac07673e42f64c1a25ec2fa2d86e5aa2b34e039": { - "balance": "2000000000000000000000" + "0x4ac07673e42f64c1a25ec2fa2d86e5aa2b34e039": { + "balance": "0x6c6b935b8bbd400000" }, - "117db836377fe15455e02c2ebda40b1ceb551b19": { - "balance": "6000000000000000000000" + "0x117db836377fe15455e02c2ebda40b1ceb551b19": { + "balance": "0x14542ba12a337c00000" }, - "ef1c0477f1184d60accab374d374557a0a3e10f3": { - "balance": "152000000000000000000" + "0xef1c0477f1184d60accab374d374557a0a3e10f3": { + "balance": "0x83d6c7aab63600000" }, - "99fe0d201228a753145655d428eb9fd94985d36d": { - "balance": "1939268000000000000000" + "0x99fe0d201228a753145655d428eb9fd94985d36d": { + "balance": "0x6920bff3515a3a0000" }, - "b3731b046c8ac695a127fd79d0a5d5fa6ae6d12e": { - "balance": "1998000000000000000000" + "0xb3731b046c8ac695a127fd79d0a5d5fa6ae6d12e": { + "balance": "0x6c4fd1ee246e780000" }, - "dce30c31f3ca66721ecb213c809aab561d9b52e4": { - "balance": "2000000000000000000000" + "0xdce30c31f3ca66721ecb213c809aab561d9b52e4": { + "balance": "0x6c6b935b8bbd400000" }, - "ddd69c5b9bf5eb5a39cee7c3341a120d973fdb34": { - "balance": "1987730000000000000000" + "0xddd69c5b9bf5eb5a39cee7c3341a120d973fdb34": { + "balance": "0x6bc14b8f8e1b350000" }, - "216e41864ef98f060da08ecae19ad1166a17d036": { - "balance": "5730000000000000000000" + "0x216e41864ef98f060da08ecae19ad1166a17d036": { + "balance": "0x1369fb96128ac480000" }, - "6a53d41ae4a752b21abed5374649953a513de5e5": { - "balance": "2000000000000000000000" + "0x6a53d41ae4a752b21abed5374649953a513de5e5": { + "balance": "0x6c6b935b8bbd400000" }, - "20dd8fcbb46ea46fe381a68b8ca0ea5be21fe9a5": { - "balance": "2000000000000000000000" + "0x20dd8fcbb46ea46fe381a68b8ca0ea5be21fe9a5": { + "balance": "0x6c6b935b8bbd400000" }, - "19732bf973055dbd91a4533adaa2149a91d38380": { - "balance": "2000000000000000000000" + "0x19732bf973055dbd91a4533adaa2149a91d38380": { + "balance": "0x6c6b935b8bbd400000" }, - "51ea1c0934e3d04022ed9c95a087a150ef705e81": { - "balance": "6280000000000000000000" + "0x51ea1c0934e3d04022ed9c95a087a150ef705e81": { + "balance": "0x1547081e7224d200000" }, - "a0de5c601e696635c698b7ae9ca4539fc7b941ec": { - "balance": "346150000000000000000" + "0xa0de5c601e696635c698b7ae9ca4539fc7b941ec": { + "balance": "0x12c3cbd704c9770000" }, - "94e1f5cb9b8abace03a1a6428256553b690c2355": { - "balance": "20000000000000000000" + "0x94e1f5cb9b8abace03a1a6428256553b690c2355": { + "balance": "0x1158e460913d00000" }, - "a539b4a401b584dfe0f344b1b422c65543167e2e": { - "balance": "200000000000000000000" + "0xa539b4a401b584dfe0f344b1b422c65543167e2e": { + "balance": "0xad78ebc5ac6200000" }, - "50584d9206a46ce15c301117ee28f15c30e60e75": { - "balance": "13400000000000000000" + "0x50584d9206a46ce15c301117ee28f15c30e60e75": { + "balance": "0xb9f65d00f63c0000" }, - "856eb204241a87830fb229031343dc30854f581a": { - "balance": "1000000000000000000000" + "0x856eb204241a87830fb229031343dc30854f581a": { + "balance": "0x3635c9adc5dea00000" }, - "9dd46b1c6d3f05e29e9c6f037eed9a595af4a9aa": { - "balance": "500000000000000000000" + "0x9dd46b1c6d3f05e29e9c6f037eed9a595af4a9aa": { + "balance": "0x1b1ae4d6e2ef500000" }, - "8925da4549e15155e57a628522cea9dddf627d81": { - "balance": "1000070000000000000000" + "0x8925da4549e15155e57a628522cea9dddf627d81": { + "balance": "0x3636c25e66ece70000" }, - "a89df34859edd7c820db887740d8ff9e15157c7b": { - "balance": "2000000000000000000000" + "0xa89df34859edd7c820db887740d8ff9e15157c7b": { + "balance": "0x6c6b935b8bbd400000" }, - "ad9f4c890a3b511cee51dfe6cfd7f1093b76412c": { - "balance": "506600000000000000000" + "0xad9f4c890a3b511cee51dfe6cfd7f1093b76412c": { + "balance": "0x1b767cbfeb0ce40000" }, - "f8c7f34a38b31801da43063477b12b27d0f203ff": { - "balance": "494800000000000000000" + "0xf8c7f34a38b31801da43063477b12b27d0f203ff": { + "balance": "0x1ad2baba6fef480000" }, - "a642501004c90ea9c9ed1998ba140a4cd62c6f5f": { - "balance": "250543000000000000000" + "0xa642501004c90ea9c9ed1998ba140a4cd62c6f5f": { + "balance": "0xd94fb8b10f8b18000" }, - "508cf19119db70aa86454253da764a2cb1b2be1a": { - "balance": "1000000000000000000000" + "0x508cf19119db70aa86454253da764a2cb1b2be1a": { + "balance": "0x3635c9adc5dea00000" }, - "2979741174a8c1ea0b7f9edf658177859417f512": { - "balance": "461283000000000000000" + "0x2979741174a8c1ea0b7f9edf658177859417f512": { + "balance": "0x1901966c8496838000" }, - "654f524847b3a6acc0d3d5f1f362b603edf65f96": { - "balance": "8000000000000000000000" + "0x654f524847b3a6acc0d3d5f1f362b603edf65f96": { + "balance": "0x1b1ae4d6e2ef5000000" }, - "5cf18fa7c8a7c0a2b3d5efd1990f64ddc569242c": { - "balance": "1000000000000000000000" + "0x5cf18fa7c8a7c0a2b3d5efd1990f64ddc569242c": { + "balance": "0x3635c9adc5dea00000" }, - "17e82e7078dc4fd9e879fb8a50667f53a5c54591": { - "balance": "200000000000000000000" + "0x17e82e7078dc4fd9e879fb8a50667f53a5c54591": { + "balance": "0xad78ebc5ac6200000" }, - "8b07d050754dc9ba230db01c310afdb5395aa1b3": { - "balance": "118080000000000000000" + "0x8b07d050754dc9ba230db01c310afdb5395aa1b3": { + "balance": "0x666b06e62a6200000" }, - "5f77a107ab1226b3f95f10ee83aefc6c5dff3edc": { - "balance": "500000000000000000000" + "0x5f77a107ab1226b3f95f10ee83aefc6c5dff3edc": { + "balance": "0x1b1ae4d6e2ef500000" }, - "475a6193572d4a4e59d7be09cb960ddd8c530e2f": { - "balance": "667323000000000000000" + "0x475a6193572d4a4e59d7be09cb960ddd8c530e2f": { + "balance": "0x242cf78cdf07ff8000" }, - "6470a4f92ec6b0fccd01234fa59023e9ff1f3aac": { - "balance": "3000000000000000000000" + "0x6470a4f92ec6b0fccd01234fa59023e9ff1f3aac": { + "balance": "0xa2a15d09519be00000" }, - "2fbcef3384d420e4bf61a0669990bc7054f1a5af": { - "balance": "2000000000000000000000" + "0x2fbcef3384d420e4bf61a0669990bc7054f1a5af": { + "balance": "0x6c6b935b8bbd400000" }, - "bbabf6643beb4bd01c120bd0598a0987d82967d1": { - "balance": "3342500000000000000000" + "0xbbabf6643beb4bd01c120bd0598a0987d82967d1": { + "balance": "0xb5328178ad0f2a0000" }, - "41a2f2e6ecb86394ec0e338c0fc97e9c5583ded2": { - "balance": "2009400000000000000000" + "0x41a2f2e6ecb86394ec0e338c0fc97e9c5583ded2": { + "balance": "0x6cee06ddbe15ec0000" }, - "fb9473cf7712350a1fa0395273fc80560752e4fb": { - "balance": "123300000000000000000" + "0xfb9473cf7712350a1fa0395273fc80560752e4fb": { + "balance": "0x6af2198ba85aa0000" }, - "38b2197106123387a0d4de368431a8bacdda30e2": { - "balance": "20000000000000000000" + "0x38b2197106123387a0d4de368431a8bacdda30e2": { + "balance": "0x1158e460913d00000" }, - "5ed56115bd6505a88273df5c56839470d24a2db7": { - "balance": "65601000000000000000" + "0x5ed56115bd6505a88273df5c56839470d24a2db7": { + "balance": "0x38e6591ee56668000" }, - "523f6d64690fdacd942853591bb0ff20d3656d95": { - "balance": "1820000000000000000000" + "0x523f6d64690fdacd942853591bb0ff20d3656d95": { + "balance": "0x62a992e53a0af00000" }, - "55caff4bba04d220c9a5d2018672ec85e31ef83e": { - "balance": "2000000000000000000000" + "0x55caff4bba04d220c9a5d2018672ec85e31ef83e": { + "balance": "0x6c6b935b8bbd400000" }, - "65af8d8b5b1d1eedfa77bcbc96c1b133f83306df": { - "balance": "98000000000000000000" + "0x65af8d8b5b1d1eedfa77bcbc96c1b133f83306df": { + "balance": "0x55005f0c614480000" }, - "7456c5b2c5436e3e571008933f1805ccfe34e9ec": { - "balance": "1000000000000000000000" + "0x7456c5b2c5436e3e571008933f1805ccfe34e9ec": { + "balance": "0x3635c9adc5dea00000" }, - "a6eebbe464d39187bf80ca9c13d72027ec5ba8be": { - "balance": "3000000000000000000000" + "0xa6eebbe464d39187bf80ca9c13d72027ec5ba8be": { + "balance": "0xa2a15d09519be00000" }, - "dd35cfdbcb993395537aecc9f59085a8d5ddb6f5": { - "balance": "1000000000000000000000" + "0xdd35cfdbcb993395537aecc9f59085a8d5ddb6f5": { + "balance": "0x3635c9adc5dea00000" }, - "98e2b6d606fd2d6991c9d6d4077fdf3fdd4585da": { - "balance": "901520000000000000000" + "0x98e2b6d606fd2d6991c9d6d4077fdf3fdd4585da": { + "balance": "0x30df1a6f8ad6280000" }, - "860f5ffc10de767ded807f71e861d647dfd219b1": { - "balance": "10000000000000000000000" + "0x860f5ffc10de767ded807f71e861d647dfd219b1": { + "balance": "0x21e19e0c9bab2400000" }, - "1a644a50cbc2aee823bd2bf243e825be4d47df02": { - "balance": "100007000000000000000" + "0x1a644a50cbc2aee823bd2bf243e825be4d47df02": { + "balance": "0x56be03ca3e47d8000" }, - "a8455b411765d6901e311e726403091e42c56683": { - "balance": "3380000000000000000000" + "0xa8455b411765d6901e311e726403091e42c56683": { + "balance": "0xb73aec3bfe14500000" }, - "3a86ee94862b743dd34f410969d94e2c5652d4ad": { - "balance": "201610000000000000000" + "0x3a86ee94862b743dd34f410969d94e2c5652d4ad": { + "balance": "0xaede69ad30e810000" }, - "a57360f002e0d64d2d74457d8ca4857ee00bcddf": { - "balance": "335780000000000000000" + "0xa57360f002e0d64d2d74457d8ca4857ee00bcddf": { + "balance": "0x1233e232f618aa0000" }, - "e59b3bd300893f97233ef947c46f7217e392f7e9": { - "balance": "1000000000000000000000" + "0xe59b3bd300893f97233ef947c46f7217e392f7e9": { + "balance": "0x3635c9adc5dea00000" }, - "9f3a74fd5e7edcc1162993171381cbb632b7cff0": { - "balance": "10000000000000000000000" + "0x9f3a74fd5e7edcc1162993171381cbb632b7cff0": { + "balance": "0x21e19e0c9bab2400000" }, - "675d5caa609bf70a18aca580465d8fb7310d1bbb": { - "balance": "20000000000000000000000" + "0x675d5caa609bf70a18aca580465d8fb7310d1bbb": { + "balance": "0x43c33c1937564800000" }, - "77f609ca8720a023262c55c46f2d26fb3930ac69": { - "balance": "17300000000000000000" + "0x77f609ca8720a023262c55c46f2d26fb3930ac69": { + "balance": "0xf015f25736420000" }, - "f8ac4a39b53c11307820973b441365cffe596f66": { - "balance": "2000000000000000000000" + "0xf8ac4a39b53c11307820973b441365cffe596f66": { + "balance": "0x6c6b935b8bbd400000" }, - "112634b4ec30ff786e024159f796a57939ea144e": { - "balance": "1999944000000000000000" + "0x112634b4ec30ff786e024159f796a57939ea144e": { + "balance": "0x6c6acc67d7b1d40000" }, - "49d2c28ee9bc545eaaf7fd14c27c4073b4bb5f1a": { - "balance": "1474134000000000000000" + "0x49d2c28ee9bc545eaaf7fd14c27c4073b4bb5f1a": { + "balance": "0x4fe9b806b40daf0000" }, - "91cc46aa379f856a6640dccd5a648a7902f849d9": { - "balance": "200000000000000000000" + "0x91cc46aa379f856a6640dccd5a648a7902f849d9": { + "balance": "0xad78ebc5ac6200000" }, - "b46440c797a556e04c7d9104660491f96bb076bf": { - "balance": "14900000000000000000" + "0xb46440c797a556e04c7d9104660491f96bb076bf": { + "balance": "0xcec76f0e71520000" }, - "e5968797468ef767101b761d431fce14abffdbb4": { - "balance": "8040000000000000000000" + "0xe5968797468ef767101b761d431fce14abffdbb4": { + "balance": "0x1b3d969fa411ca00000" }, - "c0895efd056d9a3a81c3da578ada311bfb9356cf": { - "balance": "200000000000000000000" + "0xc0895efd056d9a3a81c3da578ada311bfb9356cf": { + "balance": "0xad78ebc5ac6200000" }, - "76846f0de03b5a76971ead298cdd08843a4bc6c6": { - "balance": "15500000000000000000" + "0x76846f0de03b5a76971ead298cdd08843a4bc6c6": { + "balance": "0xd71b0fe0a28e0000" }, - "5f708eaf39d823946c51b3a3e9b7b3c003e26341": { - "balance": "1820000000000000000000" + "0x5f708eaf39d823946c51b3a3e9b7b3c003e26341": { + "balance": "0x62a992e53a0af00000" }, - "24f7450ddbf18b020feb1a2032d9d54b633edf37": { - "balance": "50000000000000000000" + "0x24f7450ddbf18b020feb1a2032d9d54b633edf37": { + "balance": "0x2b5e3af16b1880000" }, - "cae3a253bcb2cf4e13ba80c298ab0402da7c2aa0": { - "balance": "5400000000000000000000" + "0xcae3a253bcb2cf4e13ba80c298ab0402da7c2aa0": { + "balance": "0x124bc0ddd92e5600000" }, - "91e8810652e8e6161525d63bb7751dc20f676076": { - "balance": "725000000000000000000" + "0x91e8810652e8e6161525d63bb7751dc20f676076": { + "balance": "0x274d656ac90e340000" }, - "543629c95cdef428ad37d453ca9538a9f90900ac": { - "balance": "43250000000000000000000" + "0x543629c95cdef428ad37d453ca9538a9f90900ac": { + "balance": "0x92896529baddc880000" }, - "6e79edd4845b076e4cd88d188b6e432dd93f35aa": { - "balance": "955000000000000000000" + "0x6e79edd4845b076e4cd88d188b6e432dd93f35aa": { + "balance": "0x33c5499031720c0000" }, - "bd325d4029e0d8729f6d399c478224ae9e7ae41e": { - "balance": "3880000000000000000000" + "0xbd325d4029e0d8729f6d399c478224ae9e7ae41e": { + "balance": "0xd255d112e103a00000" }, - "42cecfd2921079c2d7df3f08b07aa3beee5e219a": { - "balance": "1000000000000000000000" + "0x42cecfd2921079c2d7df3f08b07aa3beee5e219a": { + "balance": "0x3635c9adc5dea00000" }, - "3690246ba3c80679e22eac4412a1aefce6d7cd82": { - "balance": "20000000000000000000000" + "0x3690246ba3c80679e22eac4412a1aefce6d7cd82": { + "balance": "0x43c33c1937564800000" }, - "577aeee8d4bc08fc97ab156ed57fb970925366be": { - "balance": "333046000000000000000" + "0x577aeee8d4bc08fc97ab156ed57fb970925366be": { + "balance": "0x120df1147258bf0000" }, - "fe00bf439911a553982db638039245bcf032dbdc": { - "balance": "394000000000000000000" + "0xfe00bf439911a553982db638039245bcf032dbdc": { + "balance": "0x155bd9307f9fe80000" }, - "91f624b24a1fa5a056fe571229e7379db14b9a1e": { - "balance": "11999974000000000000000" + "0x91f624b24a1fa5a056fe571229e7379db14b9a1e": { + "balance": "0x28a8517c669b3570000" }, - "f206d328e471d0117b246d2a4619827709e96df3": { - "balance": "3001000000000000000000" + "0xf206d328e471d0117b246d2a4619827709e96df3": { + "balance": "0xa2af3dc00543440000" }, - "073f1ed1c9c3e9c52a9b0249a5c1caa0571fdf05": { - "balance": "70400000000000000000" + "0x073f1ed1c9c3e9c52a9b0249a5c1caa0571fdf05": { + "balance": "0x3d0ff0b013b800000" }, - "f56048dd2181d4a36f64fcecc6215481e42abc15": { - "balance": "200000000000000000000" + "0xf56048dd2181d4a36f64fcecc6215481e42abc15": { + "balance": "0xad78ebc5ac6200000" }, - "ef76a4cd8febcbc9b818f17828f8d93473f3f3cb": { - "balance": "4000000000000000000000" + "0xef76a4cd8febcbc9b818f17828f8d93473f3f3cb": { + "balance": "0xd8d726b7177a800000" }, - "1031e0ecb54985ae21af1793950dc811888fde7c": { - "balance": "20000000000000000000" + "0x1031e0ecb54985ae21af1793950dc811888fde7c": { + "balance": "0x1158e460913d00000" }, - "8e0fee38685a94aabcd7ce857b6b1409824f75b8": { - "balance": "500000000000000000000" + "0x8e0fee38685a94aabcd7ce857b6b1409824f75b8": { + "balance": "0x1b1ae4d6e2ef500000" }, - "f0cbef84e169630098d4e301b20208ef05846ac9": { - "balance": "259084000000000000000" + "0xf0cbef84e169630098d4e301b20208ef05846ac9": { + "balance": "0xe0b8345506b4e0000" }, - "bbca65b3266ea2fb73a03f921635f912c7bede00": { - "balance": "1970000000000000000000" + "0xbbca65b3266ea2fb73a03f921635f912c7bede00": { + "balance": "0x6acb3df27e1f880000" }, - "0aec2e426ed6cc0cf3c249c1897eac47a7faa9bd": { - "balance": "200000000000000000000" + "0x0aec2e426ed6cc0cf3c249c1897eac47a7faa9bd": { + "balance": "0xad78ebc5ac6200000" }, - "b8f30758faa808dbc919aa7b425ec922b93b8129": { - "balance": "1000076000000000000000" + "0xb8f30758faa808dbc919aa7b425ec922b93b8129": { + "balance": "0x3636d7af5ec98e0000" }, - "936dcf000194e3bff50ac5b4243a3ba014d661d8": { - "balance": "10000000000000000000000" + "0x936dcf000194e3bff50ac5b4243a3ba014d661d8": { + "balance": "0x21e19e0c9bab2400000" }, - "b14ddb0386fb606398b8cc47565afae00ff1d66a": { - "balance": "2973024000000000000000" + "0xb14ddb0386fb606398b8cc47565afae00ff1d66a": { + "balance": "0xa12aff083e66f00000" }, - "2ec95822eb887bc113b4712a4dfd7f13b097b5e7": { - "balance": "1000000000000000000000" + "0x2ec95822eb887bc113b4712a4dfd7f13b097b5e7": { + "balance": "0x3635c9adc5dea00000" }, - "0136a5af6c3299c6b5f005fdaddb148c070b299b": { - "balance": "20368000000000000000" + "0x0136a5af6c3299c6b5f005fdaddb148c070b299b": { + "balance": "0x11aa9ac15f1280000" }, - "37cb868d2c3f95b257611eb34a4188d58b749802": { - "balance": "2000000000000000000000" + "0x37cb868d2c3f95b257611eb34a4188d58b749802": { + "balance": "0x6c6b935b8bbd400000" }, - "cd7f09d7ed66d0c38bc5ad4e32b7f2b08dc1b30d": { - "balance": "1148000000000000000000" + "0xcd7f09d7ed66d0c38bc5ad4e32b7f2b08dc1b30d": { + "balance": "0x3e3bb34da2a4700000" }, - "b5fa8184e43ed3e0b8ab91216461b3528d84fd09": { - "balance": "2680000000000000000000" + "0xb5fa8184e43ed3e0b8ab91216461b3528d84fd09": { + "balance": "0x914878a8c05ee00000" }, - "3dbf0dbfd77890800533f09dea8301b9f025d2a6": { - "balance": "1000000000000000000000" + "0x3dbf0dbfd77890800533f09dea8301b9f025d2a6": { + "balance": "0x3635c9adc5dea00000" }, - "b553d25d6b5421e81c2ad05e0b8ba751f8f010e3": { - "balance": "2000000000000000000000" + "0xb553d25d6b5421e81c2ad05e0b8ba751f8f010e3": { + "balance": "0x6c6b935b8bbd400000" }, - "dbf8b13967f55125272de0562536c450ba5655a0": { - "balance": "2046830000000000000000" + "0xdbf8b13967f55125272de0562536c450ba5655a0": { + "balance": "0x6ef578f06e0ccb0000" }, - "0f6e840a3f2a24647d8e43e09d45c7c335df4248": { - "balance": "2500000000000000000000" + "0x0f6e840a3f2a24647d8e43e09d45c7c335df4248": { + "balance": "0x878678326eac900000" }, - "fa2fd29d03fee9a07893df3a269f56b72f2e1e64": { - "balance": "10000000000000000000000" + "0xfa2fd29d03fee9a07893df3a269f56b72f2e1e64": { + "balance": "0x21e19e0c9bab2400000" }, - "8b57b2bc83cc8d4de331204e893f2f3b1db1079a": { - "balance": "40000000000000000000" + "0x8b57b2bc83cc8d4de331204e893f2f3b1db1079a": { + "balance": "0x22b1c8c1227a00000" }, - "7f541491d2ac00d2612f94aa7f0bcb014651fbd4": { - "balance": "376000000000000000000" + "0x7f541491d2ac00d2612f94aa7f0bcb014651fbd4": { + "balance": "0x14620c57dddae00000" }, - "4f4a9be10cd5d3fb5de48c17be296f895690645b": { - "balance": "40000000000000000000000" + "0x4f4a9be10cd5d3fb5de48c17be296f895690645b": { + "balance": "0x878678326eac9000000" }, - "45d1c9eedf7cab41a779057b79395f5428d80528": { - "balance": "2000000000000000000000" + "0x45d1c9eedf7cab41a779057b79395f5428d80528": { + "balance": "0x6c6b935b8bbd400000" }, - "662334814724935b7931ddca6100e00d467727cd": { - "balance": "637000000000000000000" + "0x662334814724935b7931ddca6100e00d467727cd": { + "balance": "0x2288269d0783d40000" }, - "2c52c984102ee0cd3e31821b84d408930efa1ac7": { - "balance": "2000000000000000000000" + "0x2c52c984102ee0cd3e31821b84d408930efa1ac7": { + "balance": "0x6c6b935b8bbd400000" }, - "000d836201318ec6899a67540690382780743280": { - "balance": "200000000000000000000" + "0x000d836201318ec6899a67540690382780743280": { + "balance": "0xad78ebc5ac6200000" }, - "81498ca07b0f2f17e8bbc7e61a7f4ae7be66b78b": { - "balance": "101600000000000000000" + "0x81498ca07b0f2f17e8bbc7e61a7f4ae7be66b78b": { + "balance": "0x581fbb5b33bb00000" }, - "7860a3de38df382ae4a4dce18c0c07b98bce3dfa": { - "balance": "1000000000000000000000" + "0x7860a3de38df382ae4a4dce18c0c07b98bce3dfa": { + "balance": "0x3635c9adc5dea00000" }, - "5e8e4df18cf0af770978a8df8dac90931510a679": { - "balance": "2000000000000000000000" + "0x5e8e4df18cf0af770978a8df8dac90931510a679": { + "balance": "0x6c6b935b8bbd400000" }, - "05d68dad61d3bbdfb3f779265c49474aff3fcd30": { - "balance": "39399000000000000000" + "0x05d68dad61d3bbdfb3f779265c49474aff3fcd30": { + "balance": "0x222c55dc1519d8000" }, - "96eafbf2fb6f4db9a436a74c45b5654452e23819": { - "balance": "20000000000000000000" + "0x96eafbf2fb6f4db9a436a74c45b5654452e23819": { + "balance": "0x1158e460913d00000" }, - "d7d7f2caa462a41b3b30a34aeb3ba61010e2626f": { - "balance": "2000000000000000000000" + "0xd7d7f2caa462a41b3b30a34aeb3ba61010e2626f": { + "balance": "0x6c6b935b8bbd400000" }, - "0b71f554122469ef978e2f1fefd7cbb410982772": { - "balance": "3880000000000000000000" + "0x0b71f554122469ef978e2f1fefd7cbb410982772": { + "balance": "0xd255d112e103a00000" }, - "504666ce8931175e11a5ed11c1dcaa06e57f4e66": { - "balance": "11792000000000000000000" + "0x504666ce8931175e11a5ed11c1dcaa06e57f4e66": { + "balance": "0x27f3edfb34e6e400000" }, - "d00f067286c0fbd082f9f4a61083ec76deb3cee6": { - "balance": "1000000000000000000000" + "0xd00f067286c0fbd082f9f4a61083ec76deb3cee6": { + "balance": "0x3635c9adc5dea00000" }, - "02e4cb22be46258a40e16d4338d802fffd00c151": { - "balance": "379786000000000000000" + "0x02e4cb22be46258a40e16d4338d802fffd00c151": { + "balance": "0x149696eaceba810000" }, - "1c13d38637b9a47ce79d37a86f50fb409c060728": { - "balance": "1337000000000000000000" + "0x1c13d38637b9a47ce79d37a86f50fb409c060728": { + "balance": "0x487a9a304539440000" }, - "e30212b2011bb56bdbf1bc35690f3a4e0fd905ea": { - "balance": "8022000000000000000000" + "0xe30212b2011bb56bdbf1bc35690f3a4e0fd905ea": { + "balance": "0x1b2df9d219f57980000" }, - "1df6911672679bb0ef3509038c0c27e394fdfe30": { - "balance": "540000000000000000000" + "0x1df6911672679bb0ef3509038c0c27e394fdfe30": { + "balance": "0x1d460162f516f00000" }, - "2b8fe4166e23d11963c0932b8ade8e0145ea0770": { - "balance": "43250000000000000000000" + "0x2b8fe4166e23d11963c0932b8ade8e0145ea0770": { + "balance": "0x92896529baddc880000" }, - "6509eeb1347e842ffb413e37155e2cbc738273fd": { - "balance": "2000000000000000000000" + "0x6509eeb1347e842ffb413e37155e2cbc738273fd": { + "balance": "0x6c6b935b8bbd400000" }, - "8b7e9f6f05f7e36476a16e3e7100c9031cf404af": { - "balance": "1000000000000000000000" + "0x8b7e9f6f05f7e36476a16e3e7100c9031cf404af": { + "balance": "0x3635c9adc5dea00000" }, - "bec8caf7ee49468fee552eff3ac5234eb9b17d42": { - "balance": "2000000000000000000000" + "0xbec8caf7ee49468fee552eff3ac5234eb9b17d42": { + "balance": "0x6c6b935b8bbd400000" }, - "38898bbb4553e00bbfd0cf268b2fc464d154add5": { - "balance": "320000000000000000000" + "0x38898bbb4553e00bbfd0cf268b2fc464d154add5": { + "balance": "0x1158e460913d000000" }, - "cbb3189e4bd7f45f178b1c30c76e26314d4a4b0a": { - "balance": "295007000000000000000" + "0xcbb3189e4bd7f45f178b1c30c76e26314d4a4b0a": { + "balance": "0xffe0b677c65a98000" }, - "be1cd7f4c472070968f3bde268366b21eeea8321": { - "balance": "4300000000000000000000" + "0xbe1cd7f4c472070968f3bde268366b21eeea8321": { + "balance": "0xe91a7cd19fa3b00000" }, - "976a18536af41874426308871bcd1512a775c9f8": { - "balance": "10000000000000000000000" + "0x976a18536af41874426308871bcd1512a775c9f8": { + "balance": "0x21e19e0c9bab2400000" }, - "e9c758f8da41e3346e4350e5ac3976345c6c1082": { - "balance": "1930050000000000000000" + "0xe9c758f8da41e3346e4350e5ac3976345c6c1082": { + "balance": "0x68a0d3092826ad0000" }, - "64ec8a5b743f3479e707dae9ee20ddaa4f40f1d9": { - "balance": "200000000000000000000" + "0x64ec8a5b743f3479e707dae9ee20ddaa4f40f1d9": { + "balance": "0xad78ebc5ac6200000" }, - "9e01765aff08bc220550aca5ea2e1ce8e5b09923": { - "balance": "1000000000000000000000" + "0x9e01765aff08bc220550aca5ea2e1ce8e5b09923": { + "balance": "0x3635c9adc5dea00000" }, - "ba0f39023bdb29eb1862a9f9059cab5d306e662f": { - "balance": "2000000000000000000000" + "0xba0f39023bdb29eb1862a9f9059cab5d306e662f": { + "balance": "0x6c6b935b8bbd400000" }, - "2baf8d6e221174124820ee492b9459ec4fadafbb": { - "balance": "2000000000000000000000" + "0x2baf8d6e221174124820ee492b9459ec4fadafbb": { + "balance": "0x6c6b935b8bbd400000" }, - "655d5cd7489629e2413c2105b5a172d933c27af8": { - "balance": "4040060000000000000000" + "0x655d5cd7489629e2413c2105b5a172d933c27af8": { + "balance": "0xdb03186cd840a60000" }, - "badc2aef9f5951a8d78a6b35c3d0b3a4e6e2e739": { - "balance": "6000000000000000000000" + "0xbadc2aef9f5951a8d78a6b35c3d0b3a4e6e2e739": { + "balance": "0x14542ba12a337c00000" }, - "e64f6e1d6401b56c076b64a1b0867d0b2f310d4e": { - "balance": "51570000000000000000" + "0xe64f6e1d6401b56c076b64a1b0867d0b2f310d4e": { + "balance": "0x2cbad71c53ae50000" }, - "7a8563867901206f3f2bf0fa3e1c8109cabccd85": { - "balance": "137000000000000000000" + "0x7a8563867901206f3f2bf0fa3e1c8109cabccd85": { + "balance": "0x76d41c62494840000" }, - "d17fbe22d90462ed37280670a2ea0b3086a0d6d6": { - "balance": "199955000000000000000" + "0xd17fbe22d90462ed37280670a2ea0b3086a0d6d6": { + "balance": "0xad6eedd17cf3b8000" }, - "e96d7d4cdd15553a4e4d316d6d6480ca3cea1e38": { - "balance": "12200000000000000000000" + "0xe96d7d4cdd15553a4e4d316d6d6480ca3cea1e38": { + "balance": "0x2955d02e1a135a00000" }, - "f04d2c91efb6e9c45ffbe74b434c8c5f2b028f1f": { - "balance": "1000000000000000000000" + "0xf04d2c91efb6e9c45ffbe74b434c8c5f2b028f1f": { + "balance": "0x3635c9adc5dea00000" }, - "81164deb10814ae08391f32c08667b6248c27d7a": { - "balance": "394000000000000000000" + "0x81164deb10814ae08391f32c08667b6248c27d7a": { + "balance": "0x155bd9307f9fe80000" }, - "7f5ae05ae0f8cbe5dfe721f044d7a7bef4c27997": { - "balance": "60000000000000000000" + "0x7f5ae05ae0f8cbe5dfe721f044d7a7bef4c27997": { + "balance": "0x340aad21b3b700000" }, - "c982586d63b0d74c201b1af8418372e30c7616be": { - "balance": "100000000000000000000" + "0xc982586d63b0d74c201b1af8418372e30c7616be": { + "balance": "0x56bc75e2d63100000" }, - "64cf0935bf19d2cebbecd8780d27d2e2b2c34166": { - "balance": "1970000000000000000000" + "0x64cf0935bf19d2cebbecd8780d27d2e2b2c34166": { + "balance": "0x6acb3df27e1f880000" }, - "cd566ad7b883f01fd3998a9a58a9dee4724ddca5": { - "balance": "58848000000000000000" + "0xcd566ad7b883f01fd3998a9a58a9dee4724ddca5": { + "balance": "0x330ae1835be300000" }, - "9da609fa3a7e6cf2cc0e70cdabe78dc4e382e11e": { - "balance": "1200000000000000000000" + "0x9da609fa3a7e6cf2cc0e70cdabe78dc4e382e11e": { + "balance": "0x410d586a20a4c00000" }, - "0d69100c395ce6c5eaadf95d05d872837ededd21": { - "balance": "400000000000000000000" + "0x0d69100c395ce6c5eaadf95d05d872837ededd21": { + "balance": "0x15af1d78b58c400000" }, - "fe91eccf2bd566afa11696c5049fa84c69630a52": { - "balance": "1940000000000000000000" + "0xfe91eccf2bd566afa11696c5049fa84c69630a52": { + "balance": "0x692ae8897081d00000" }, - "005d0ee8155ec0a6ff6808552ca5f16bb5be323a": { - "balance": "197000000000000000000" + "0x005d0ee8155ec0a6ff6808552ca5f16bb5be323a": { + "balance": "0xaadec983fcff40000" }, - "3e5cb8928c417825c03a3bfcc52183e5c91e42d7": { - "balance": "4264790000000000000000" + "0x3e5cb8928c417825c03a3bfcc52183e5c91e42d7": { + "balance": "0xe731d9c52c962f0000" }, - "9c1b771f09af882af0643083de2aa79dc097c40e": { - "balance": "2480000000000000000000" + "0x9c1b771f09af882af0643083de2aa79dc097c40e": { + "balance": "0x8670e9ec6598c00000" }, - "eba388b0da27c87b1cc0eac6c57b2c5a0b459c1a": { - "balance": "6800000000000000000000" + "0xeba388b0da27c87b1cc0eac6c57b2c5a0b459c1a": { + "balance": "0x170a0f5040e50400000" }, - "7529f3797bb6a20f7ea6492419c84c867641d81c": { - "balance": "2000000000000000000000" + "0x7529f3797bb6a20f7ea6492419c84c867641d81c": { + "balance": "0x6c6b935b8bbd400000" }, - "532a7da0a5ad7407468d3be8e07e69c7dd64e861": { - "balance": "500000000000000000000" + "0x532a7da0a5ad7407468d3be8e07e69c7dd64e861": { + "balance": "0x1b1ae4d6e2ef500000" }, - "de82cc8d4a1bb1d9434392965b3e80bad3c03d4f": { - "balance": "1477500000000000000000" + "0xde82cc8d4a1bb1d9434392965b3e80bad3c03d4f": { + "balance": "0x50186e75de97a60000" }, - "4a82694fa29d9e213202a1a209285df6e745c209": { - "balance": "4000000000000000000000" + "0x4a82694fa29d9e213202a1a209285df6e745c209": { + "balance": "0xd8d726b7177a800000" }, - "3e53ff2107a8debe3328493a92a586a7e1f49758": { - "balance": "23143470000000000000000" + "0x3e53ff2107a8debe3328493a92a586a7e1f49758": { + "balance": "0x4e69c2a71a405ab0000" }, - "b2ddb786d3794e270187d0451ad6c8b79e0e8745": { - "balance": "400000000000000000000" + "0xb2ddb786d3794e270187d0451ad6c8b79e0e8745": { + "balance": "0x15af1d78b58c400000" }, - "6ebcf9957f5fc5e985add475223b04b8c14a7aed": { - "balance": "1730000000000000000000" + "0x6ebcf9957f5fc5e985add475223b04b8c14a7aed": { + "balance": "0x5dc892aa1131c80000" }, - "c5c7590b5621ecf8358588de9b6890f2626143f1": { - "balance": "3000000000000000000000" + "0xc5c7590b5621ecf8358588de9b6890f2626143f1": { + "balance": "0xa2a15d09519be00000" }, - "ae4f122e35c0b1d1e4069291457c83c07f965fa3": { - "balance": "1000000000000000000000" + "0xae4f122e35c0b1d1e4069291457c83c07f965fa3": { + "balance": "0x3635c9adc5dea00000" }, - "47885ababedf4d928e1c3c71d7ca40d563ed595f": { - "balance": "1820000000000000000000" + "0x47885ababedf4d928e1c3c71d7ca40d563ed595f": { + "balance": "0x62a992e53a0af00000" }, - "78ce3e3d474a8a047b92c41542242d0a08c70f99": { - "balance": "10000000000000000000000" + "0x78ce3e3d474a8a047b92c41542242d0a08c70f99": { + "balance": "0x21e19e0c9bab2400000" }, - "6134d942f037f2cc3d424a230c603d67abd3edf7": { - "balance": "2000000000000000000000" + "0x6134d942f037f2cc3d424a230c603d67abd3edf7": { + "balance": "0x6c6b935b8bbd400000" }, - "1360e87df24c69ee6d51c76e73767ffe19a2131c": { - "balance": "92000000000000000000" + "0x1360e87df24c69ee6d51c76e73767ffe19a2131c": { + "balance": "0x4fcc1a89027f00000" }, - "5fd1c3e31778276cb42ea740f5eae9c641dbc701": { - "balance": "194000000000000000000" + "0x5fd1c3e31778276cb42ea740f5eae9c641dbc701": { + "balance": "0xa844a7424d9c80000" }, - "98397342ec5f3d4cb877e54ef5d6f1d366731bd4": { - "balance": "5910000000000000000000" + "0x98397342ec5f3d4cb877e54ef5d6f1d366731bd4": { + "balance": "0x14061b9d77a5e980000" }, - "6d4b5c05d06a20957e1748ab6df206f343f92f01": { - "balance": "10020475000000000000000" + "0x6d4b5c05d06a20957e1748ab6df206f343f92f01": { + "balance": "0x21f360699bf825f8000" }, - "e6115b13f9795f7e956502d5074567dab945ce6b": { - "balance": "100000000000000000000000" + "0xe6115b13f9795f7e956502d5074567dab945ce6b": { + "balance": "0x152d02c7e14af6800000" }, - "23730c357a91026e44b1d0e2fc2a51d071d8d77b": { - "balance": "4000000000000000000000" + "0x23730c357a91026e44b1d0e2fc2a51d071d8d77b": { + "balance": "0xd8d726b7177a800000" }, - "fae881937047895a660cf229760f27e66828d643": { - "balance": "182000000000000000000" + "0xfae881937047895a660cf229760f27e66828d643": { + "balance": "0x9ddc1e3b901180000" }, - "ff3ef6ba151c21b59986ae64f6e8228bc9a2c733": { - "balance": "2000000000000000000000" + "0xff3ef6ba151c21b59986ae64f6e8228bc9a2c733": { + "balance": "0x6c6b935b8bbd400000" }, - "dfbd4232c17c407a980db87ffbcda03630e5c459": { - "balance": "553150000000000000000" + "0xdfbd4232c17c407a980db87ffbcda03630e5c459": { + "balance": "0x1dfc7f924923530000" }, - "4429a29fee198450672c0c1d073162250bec6474": { - "balance": "999200000000000000000" + "0x4429a29fee198450672c0c1d073162250bec6474": { + "balance": "0x362aaf8202f2500000" }, - "7e8f96cc29f57b0975120cb593b7dd833d606b53": { - "balance": "197000000000000000000" + "0x7e8f96cc29f57b0975120cb593b7dd833d606b53": { + "balance": "0xaadec983fcff40000" }, - "5ed3f1ebe2ae6756b5d8dc19cad02c419aa5778b": { - "balance": "0" + "0x5ed3f1ebe2ae6756b5d8dc19cad02c419aa5778b": { + "balance": "0x0" }, - "daa776a6754469d7b9267a89b86725e740da0fa0": { - "balance": "1970000000000000000000" + "0xdaa776a6754469d7b9267a89b86725e740da0fa0": { + "balance": "0x6acb3df27e1f880000" }, - "139e479764b499d666208c4a8a047a97043163dd": { - "balance": "598880000000000000000" + "0x139e479764b499d666208c4a8a047a97043163dd": { + "balance": "0x2077212aff6df00000" }, - "5ad5e420755613886f35aa56ac403eebdfe4b0d0": { - "balance": "80000000000000000000000" + "0x5ad5e420755613886f35aa56ac403eebdfe4b0d0": { + "balance": "0x10f0cf064dd592000000" }, - "3fe801e61335c5140dc7eda2ef5204460a501230": { - "balance": "2000000000000000000000" + "0x3fe801e61335c5140dc7eda2ef5204460a501230": { + "balance": "0x6c6b935b8bbd400000" }, - "ce8a6b6d5033b1498b1ffeb41a41550405fa03a2": { - "balance": "4000000000000000000000" + "0xce8a6b6d5033b1498b1ffeb41a41550405fa03a2": { + "balance": "0xd8d726b7177a800000" }, - "26c2ffc30efdc5273e76183a16c2698d6e531286": { - "balance": "776000000000000000000" + "0x26c2ffc30efdc5273e76183a16c2698d6e531286": { + "balance": "0x2a1129d09367200000" }, - "71ec3aec3f8f9221f9149fede06903a0f9a232f2": { - "balance": "200000000000000000000" + "0x71ec3aec3f8f9221f9149fede06903a0f9a232f2": { + "balance": "0xad78ebc5ac6200000" }, - "ef35f6d4b1075e6aa139151c974b2f4658f70538": { - "balance": "1111111000000000000000" + "0xef35f6d4b1075e6aa139151c974b2f4658f70538": { + "balance": "0x3c3bc33f94e50d8000" }, - "26a68eab905a8b3dce00e317308225dab1b9f6b8": { - "balance": "1980000000000000000000" + "0x26a68eab905a8b3dce00e317308225dab1b9f6b8": { + "balance": "0x6b56051582a9700000" }, - "63f5b53d79bf2e411489526530223845fac6f601": { - "balance": "30000000000000000000000" + "0x63f5b53d79bf2e411489526530223845fac6f601": { + "balance": "0x65a4da25d3016c00000" }, - "481115296ab7db52492ff7b647d63329fb5cbc6b": { - "balance": "16100000000000000000000" + "0x481115296ab7db52492ff7b647d63329fb5cbc6b": { + "balance": "0x368c8623a8b4d100000" }, - "f19f193508393e4d2a127b20b2031f39c82581c6": { - "balance": "3500088000000000000000" + "0xf19f193508393e4d2a127b20b2031f39c82581c6": { + "balance": "0xbdbd7a83bd2f6c0000" }, - "500e34cde5bd9e2b71bb92d7cf55eee188d5fa0c": { - "balance": "5348000000000000000000" + "0x500e34cde5bd9e2b71bb92d7cf55eee188d5fa0c": { + "balance": "0x121ea68c114e5100000" }, - "65ea67ad3fb56ad5fb94387dd38eb383001d7c68": { - "balance": "100000000000000000000" + "0x65ea67ad3fb56ad5fb94387dd38eb383001d7c68": { + "balance": "0x56bc75e2d63100000" }, - "7f9f9b56e4289dfb58e70fd5f12a97b56d35c6a5": { - "balance": "1970000000000000000000" + "0x7f9f9b56e4289dfb58e70fd5f12a97b56d35c6a5": { + "balance": "0x6acb3df27e1f880000" }, - "60be6f953f2a4d25b6256ffd2423ac1438252e4e": { - "balance": "150000000000000000000" + "0x60be6f953f2a4d25b6256ffd2423ac1438252e4e": { + "balance": "0x821ab0d4414980000" }, - "ac1dfc984b71a19929a81d81f04a7cbb14073703": { - "balance": "600000000000000000000" + "0xac1dfc984b71a19929a81d81f04a7cbb14073703": { + "balance": "0x2086ac351052600000" }, - "a3c14ace28b192cbb062145fcbbd5869c67271f6": { - "balance": "8000000000000000000000" + "0xa3c14ace28b192cbb062145fcbbd5869c67271f6": { + "balance": "0x1b1ae4d6e2ef5000000" }, - "2da76b7c39b420e388ba2c1020b0856b0270648a": { - "balance": "2000000000000000000000" + "0x2da76b7c39b420e388ba2c1020b0856b0270648a": { + "balance": "0x6c6b935b8bbd400000" }, - "622be4b45495fcd93143efc412d699d6cdc23dc5": { - "balance": "17300000000000000000" + "0x622be4b45495fcd93143efc412d699d6cdc23dc5": { + "balance": "0xf015f25736420000" }, - "d3f873bd9956135789ab00ebc195b922e94b259d": { - "balance": "2000000000000000000000" + "0xd3f873bd9956135789ab00ebc195b922e94b259d": { + "balance": "0x6c6b935b8bbd400000" }, - "975f3764e97bbccf767cbd3b795ba86d8ba9840e": { - "balance": "346000000000000000000" + "0x975f3764e97bbccf767cbd3b795ba86d8ba9840e": { + "balance": "0x12c1b6eed03d280000" }, - "fc39be41094b1997d2169e8264c2c3baa6c99bc4": { - "balance": "2000000000000000000000" + "0xfc39be41094b1997d2169e8264c2c3baa6c99bc4": { + "balance": "0x6c6b935b8bbd400000" }, - "12ffc1128605cb0c13709a7290506f2690977193": { - "balance": "3340000000000000000000" + "0x12ffc1128605cb0c13709a7290506f2690977193": { + "balance": "0xb50fcfafebecb00000" }, - "9b1168de8ab64b47552f3389800a9cc08b4666cf": { - "balance": "1730000000000000000000" + "0x9b1168de8ab64b47552f3389800a9cc08b4666cf": { + "balance": "0x5dc892aa1131c80000" }, - "9f1aa8fcfc89a1a5328cbd6344b71f278a2ca4a0": { - "balance": "500000000000000000000" + "0x9f1aa8fcfc89a1a5328cbd6344b71f278a2ca4a0": { + "balance": "0x1b1ae4d6e2ef500000" }, - "505a33a18634dd4800693c67f48a1d693d4833f8": { - "balance": "7252000000000000000000" + "0x505a33a18634dd4800693c67f48a1d693d4833f8": { + "balance": "0x18921b79941dcd00000" }, - "d08fc09a0030fd0928cd321198580182a76aae9f": { - "balance": "1000000000000000000000" + "0xd08fc09a0030fd0928cd321198580182a76aae9f": { + "balance": "0x3635c9adc5dea00000" }, - "6acddca3cd2b4990e25cd65c24149d0912099e79": { - "balance": "3000037000000000000000" + "0x6acddca3cd2b4990e25cd65c24149d0912099e79": { + "balance": "0xa2a1e07c9f6c908000" }, - "397a6ef8763a18f00fac217e055c0d3094101011": { - "balance": "2000000000000000000000" + "0x397a6ef8763a18f00fac217e055c0d3094101011": { + "balance": "0x6c6b935b8bbd400000" }, - "4e0bd32473c4c51bf25654def69f797c6b29a232": { - "balance": "1600930000000000000000" + "0x4e0bd32473c4c51bf25654def69f797c6b29a232": { + "balance": "0x56c95de8e8ca1d0000" }, - "28d8c35fb7eea622582135e3ad47a227c9a663bd": { - "balance": "18200000000000000000" + "0x28d8c35fb7eea622582135e3ad47a227c9a663bd": { + "balance": "0xfc936392801c0000" }, - "f96488698590dc3b2c555642b871348dfa067ad5": { - "balance": "500000000000000000000" + "0xf96488698590dc3b2c555642b871348dfa067ad5": { + "balance": "0x1b1ae4d6e2ef500000" }, - "4eebe80cb6f3ae5904f6f4b28d907f907189fcab": { - "balance": "1999944000000000000000" + "0x4eebe80cb6f3ae5904f6f4b28d907f907189fcab": { + "balance": "0x6c6acc67d7b1d40000" }, - "8d1abd897dacd4312e18080c88fb9647eab44052": { - "balance": "216000000000000000000" + "0x8d1abd897dacd4312e18080c88fb9647eab44052": { + "balance": "0xbb59a27953c600000" }, - "457029c469c4548d168cec3e65872e4428d42b67": { - "balance": "2000000000000000000000" + "0x457029c469c4548d168cec3e65872e4428d42b67": { + "balance": "0x6c6b935b8bbd400000" }, - "1296acded1e063af39fe8ba0b4b63df789f70517": { - "balance": "100014000000000000000" + "0x1296acded1e063af39fe8ba0b4b63df789f70517": { + "balance": "0x56bf91b1a65eb0000" }, - "71762c63678c18d1c6378ce068e666381315147e": { - "balance": "2000000000000000000000" + "0x71762c63678c18d1c6378ce068e666381315147e": { + "balance": "0x6c6b935b8bbd400000" }, - "6cc1c878fa6cde8a9a0b8311247e741e4642fe6d": { - "balance": "985000000000000000000" + "0x6cc1c878fa6cde8a9a0b8311247e741e4642fe6d": { + "balance": "0x35659ef93f0fc40000" }, - "8d9ed7f4553058c26f7836a3802d3064eb1b363d": { - "balance": "90000000000000000000" + "0x8d9ed7f4553058c26f7836a3802d3064eb1b363d": { + "balance": "0x4e1003b28d9280000" }, - "5032e4bcf7932b49fdba377b6f1499636513cfc3": { - "balance": "100000000000000000000" + "0x5032e4bcf7932b49fdba377b6f1499636513cfc3": { + "balance": "0x56bc75e2d63100000" }, - "462b678b51b584f3ed7ada070b5cd99c0bf7b87f": { - "balance": "100000000000000000000" + "0x462b678b51b584f3ed7ada070b5cd99c0bf7b87f": { + "balance": "0x56bc75e2d63100000" }, - "c8aa49e3809f0899f28ab57e6743709d58419033": { - "balance": "880000000000000000000" + "0xc8aa49e3809f0899f28ab57e6743709d58419033": { + "balance": "0x2fb474098f67c00000" }, - "01b1cae91a3b9559afb33cdc6d689442fdbfe037": { - "balance": "200000000000000000000" + "0x01b1cae91a3b9559afb33cdc6d689442fdbfe037": { + "balance": "0xad78ebc5ac6200000" }, - "b1043004ec1941a8cf4f2b00b15700ddac6ff17e": { - "balance": "1000000000000000000000" + "0xb1043004ec1941a8cf4f2b00b15700ddac6ff17e": { + "balance": "0x3635c9adc5dea00000" }, - "5ba2c6c35dfaec296826591904d544464aeabd5e": { - "balance": "20000000000000000000" + "0x5ba2c6c35dfaec296826591904d544464aeabd5e": { + "balance": "0x1158e460913d00000" }, - "b32400fd13c5500917cb037b29fe22e7d5228f2d": { - "balance": "40000000000000000000000" + "0xb32400fd13c5500917cb037b29fe22e7d5228f2d": { + "balance": "0x878678326eac9000000" }, - "d59d92d2c8701980cc073c375d720af064743c0c": { - "balance": "19000000000000000000000" + "0xd59d92d2c8701980cc073c375d720af064743c0c": { + "balance": "0x405fdf7e5af85e00000" }, - "11dd6185d9a8d73ddfdaa71e9b7774431c4dfec2": { - "balance": "1000000000000000000000" + "0x11dd6185d9a8d73ddfdaa71e9b7774431c4dfec2": { + "balance": "0x3635c9adc5dea00000" }, - "d4cb21e590c5a0e06801366aff342c7d7db16424": { - "balance": "494000000000000000000" + "0xd4cb21e590c5a0e06801366aff342c7d7db16424": { + "balance": "0x1ac7a08ead02f80000" }, - "5b6d55f6712967405c659129f4b1de09acf2cb7b": { - "balance": "267400000000000000000" + "0x5b6d55f6712967405c659129f4b1de09acf2cb7b": { + "balance": "0xe7eeba3410b740000" }, - "6179979907fe7f037e4c38029d60bcbab832b3d6": { - "balance": "1610000000000000000000" + "0x6179979907fe7f037e4c38029d60bcbab832b3d6": { + "balance": "0x57473d05dabae80000" }, - "33c407133b84b3ca4c3ded1f4658900c38101624": { - "balance": "2800000000000000000000" + "0x33c407133b84b3ca4c3ded1f4658900c38101624": { + "balance": "0x97c9ce4cf6d5c00000" }, - "cd2a36d753e9e0ed012a584d716807587b41d56a": { - "balance": "261400000000000000000" + "0xcd2a36d753e9e0ed012a584d716807587b41d56a": { + "balance": "0xe2ba75b0b1f1c0000" }, - "8155fa6c51eb31d808412d748aa086105018122f": { - "balance": "1880000000000000000000" + "0x8155fa6c51eb31d808412d748aa086105018122f": { + "balance": "0x65ea3db75546600000" }, - "3ecc8e1668dde995dc570fe414f44211c534a615": { - "balance": "2000000000000000000000" + "0x3ecc8e1668dde995dc570fe414f44211c534a615": { + "balance": "0x6c6b935b8bbd400000" }, - "d6395db5a4bb66e60f4cfbcdf0057bb4d97862e2": { - "balance": "910000000000000000000" + "0xd6395db5a4bb66e60f4cfbcdf0057bb4d97862e2": { + "balance": "0x3154c9729d05780000" }, - "b6fb39786250081426a342c70d47ee521e5bc563": { - "balance": "15000000000000000000000" + "0xb6fb39786250081426a342c70d47ee521e5bc563": { + "balance": "0x32d26d12e980b600000" }, - "510eda5601499a0d5e1a006bfffd833672f2e267": { - "balance": "2000000000000000000000" + "0x510eda5601499a0d5e1a006bfffd833672f2e267": { + "balance": "0x6c6b935b8bbd400000" }, - "98c19dba810ba611e68f2f83ee16f6e7744f0c1f": { - "balance": "200000000000000000000" + "0x98c19dba810ba611e68f2f83ee16f6e7744f0c1f": { + "balance": "0xad78ebc5ac6200000" }, - "34ff26eb60a8d1a95a489fae136ee91d4e58084c": { - "balance": "600000000000000000000" + "0x34ff26eb60a8d1a95a489fae136ee91d4e58084c": { + "balance": "0x2086ac351052600000" }, - "6ad90be252d9cd464d998125fab693060ba8e429": { - "balance": "4000000000000000000000" + "0x6ad90be252d9cd464d998125fab693060ba8e429": { + "balance": "0xd8d726b7177a800000" }, - "038323b184cff7a82ae2e1bda7793fe4319ca0bf": { - "balance": "20000000000000000000000" + "0x038323b184cff7a82ae2e1bda7793fe4319ca0bf": { + "balance": "0x43c33c1937564800000" }, - "dc5305b4020a06b49d657c7ca34c35c91c5f2c56": { - "balance": "7045990000000000000000" + "0xdc5305b4020a06b49d657c7ca34c35c91c5f2c56": { + "balance": "0x17df6c10dbeba970000" }, - "c9c80dc12e7bab86e949d01e4c3ed35f2b9bba5f": { - "balance": "2000000000000000000000" + "0xc9c80dc12e7bab86e949d01e4c3ed35f2b9bba5f": { + "balance": "0x6c6b935b8bbd400000" }, - "7beb81fb2f5e91526b2ac9795e76c69bcff04bc0": { - "balance": "69400000000000000000000" + "0x7beb81fb2f5e91526b2ac9795e76c69bcff04bc0": { + "balance": "0xeb22e794f0a8d600000" }, - "b8bc9bca7f71b4ed12e620438d620f53c114342f": { - "balance": "500000000000000000000" + "0xb8bc9bca7f71b4ed12e620438d620f53c114342f": { + "balance": "0x1b1ae4d6e2ef500000" }, - "d288e7cb7ba9f620ab0f7452e508633d1c5aa276": { - "balance": "4000000000000000000000" + "0xd288e7cb7ba9f620ab0f7452e508633d1c5aa276": { + "balance": "0xd8d726b7177a800000" }, - "a2e460a989cb15565f9ecca7d121a18e4eb405b6": { - "balance": "2000000000000000000000" + "0xa2e460a989cb15565f9ecca7d121a18e4eb405b6": { + "balance": "0x6c6b935b8bbd400000" }, - "7489cc8abe75cda4ef0d01cef2605e47eda67ab1": { - "balance": "133700000000000000000" + "0x7489cc8abe75cda4ef0d01cef2605e47eda67ab1": { + "balance": "0x73f75d1a085ba0000" }, - "38b403fb1fb7c14559a2d6f6564a5552bca39aff": { - "balance": "2000000000000000000000" + "0x38b403fb1fb7c14559a2d6f6564a5552bca39aff": { + "balance": "0x6c6b935b8bbd400000" }, - "e55c80520a1b0f755b9a2cd3ce214f7625653e8a": { - "balance": "2000000000000000000000" + "0xe55c80520a1b0f755b9a2cd3ce214f7625653e8a": { + "balance": "0x6c6b935b8bbd400000" }, - "451b7070259bdba27100e36e23428a53dfe304e9": { - "balance": "13370000000000000000" + "0x451b7070259bdba27100e36e23428a53dfe304e9": { + "balance": "0xb98bc829a6f90000" }, - "8b5c914b128bf1695c088923fa467e7911f351fa": { - "balance": "98500000000000000000" + "0x8b5c914b128bf1695c088923fa467e7911f351fa": { + "balance": "0x556f64c1fe7fa0000" }, - "17df49518d73b129f0da36b1c9b40cb66420fdc7": { - "balance": "10000000000000000000000" + "0x17df49518d73b129f0da36b1c9b40cb66420fdc7": { + "balance": "0x21e19e0c9bab2400000" }, - "c1950543554d8a713003f662bb612c10ad4cdf21": { - "balance": "18200000000000000000" + "0xc1950543554d8a713003f662bb612c10ad4cdf21": { + "balance": "0xfc936392801c0000" }, - "fa7606435b356cee257bd2fcd3d9eacb3cd1c4e1": { - "balance": "100000000000000000000" + "0xfa7606435b356cee257bd2fcd3d9eacb3cd1c4e1": { + "balance": "0x56bc75e2d63100000" }, - "e0bad98eee9698dbf6d76085b7923de5754e906d": { - "balance": "167000000000000000000" + "0xe0bad98eee9698dbf6d76085b7923de5754e906d": { + "balance": "0x90d972f32323c0000" }, - "ce53c8cdd74296aca987b2bc19c2b875a48749d0": { - "balance": "3000000000000000000000" + "0xce53c8cdd74296aca987b2bc19c2b875a48749d0": { + "balance": "0xa2a15d09519be00000" }, - "d0c55abf976fdc3db2afe9be99d499484d576c02": { - "balance": "1000000000000000000000" + "0xd0c55abf976fdc3db2afe9be99d499484d576c02": { + "balance": "0x3635c9adc5dea00000" }, - "238a6b7635252f5244486c0af0a73a207385e039": { - "balance": "1370000000000000000000" + "0x238a6b7635252f5244486c0af0a73a207385e039": { + "balance": "0x4a4491bd6dcd280000" }, - "ceb389381d48a8ae4ffc483ad0bb5e204cfdb1ec": { - "balance": "740745000000000000000" + "0xceb389381d48a8ae4ffc483ad0bb5e204cfdb1ec": { + "balance": "0x2827e6e4dd62ba8000" }, - "3847667038f33b01c1cc795d8daf5475eff5a0d4": { - "balance": "728330000000000000000" + "0x3847667038f33b01c1cc795d8daf5475eff5a0d4": { + "balance": "0x277b9bf4246c410000" }, - "a08d215b5b6aac4861a281ac7e400b78fef04cbf": { - "balance": "20000000000000000000" + "0xa08d215b5b6aac4861a281ac7e400b78fef04cbf": { + "balance": "0x1158e460913d00000" }, - "2d0dec51a6e87330a6a8fa2a0f65d88d4abcdf73": { - "balance": "185000000000000000000" + "0x2d0dec51a6e87330a6a8fa2a0f65d88d4abcdf73": { + "balance": "0xa076407d3f7440000" }, - "9e8f64ddcde9b8b451bafaa235a9bf511a25ac91": { - "balance": "2674000000000000000000" + "0x9e8f64ddcde9b8b451bafaa235a9bf511a25ac91": { + "balance": "0x90f534608a72880000" }, - "ddac6bf4bbdd7d597d9c686d0695593bedccc7fa": { - "balance": "865000000000000000000" + "0xddac6bf4bbdd7d597d9c686d0695593bedccc7fa": { + "balance": "0x2ee449550898e40000" }, - "22e15158b5ee3e86eb0332e3e6a9ac6cd9b55ecd": { - "balance": "160000000000000000000" + "0x22e15158b5ee3e86eb0332e3e6a9ac6cd9b55ecd": { + "balance": "0x8ac7230489e800000" }, - "3aea4e82d2400248f99871a41ca257060d3a221b": { - "balance": "1000000000000000000000" + "0x3aea4e82d2400248f99871a41ca257060d3a221b": { + "balance": "0x3635c9adc5dea00000" }, - "fb126f0ec769f49dcefca2f200286451583084b8": { - "balance": "5013750000000000000000" + "0xfb126f0ec769f49dcefca2f200286451583084b8": { + "balance": "0x10fcbc2350396bf0000" }, - "1b8bd6d2eca20185a78e7d98e8e185678dac4830": { - "balance": "16700000000000000000000" + "0x1b8bd6d2eca20185a78e7d98e8e185678dac4830": { + "balance": "0x3894f0e6f9b9f700000" }, - "664cd67dccc9ac8228b45c55db8d76550b659cdc": { - "balance": "394000000000000000000" + "0x664cd67dccc9ac8228b45c55db8d76550b659cdc": { + "balance": "0x155bd9307f9fe80000" }, - "553f37d92466550e9fd775ae74362df030179132": { - "balance": "2000000000000000000000" + "0x553f37d92466550e9fd775ae74362df030179132": { + "balance": "0x6c6b935b8bbd400000" }, - "730d8763c6a4fd824ab8b859161ef7e3a96a1200": { - "balance": "20000000000000000000000" + "0x730d8763c6a4fd824ab8b859161ef7e3a96a1200": { + "balance": "0x43c33c1937564800000" }, - "04c2c64bb54c3eccd05585e10ec6f99a0cdb01a3": { - "balance": "100000000000000000000" + "0x04c2c64bb54c3eccd05585e10ec6f99a0cdb01a3": { + "balance": "0x56bc75e2d63100000" }, - "f1624d980b65336feac5a6d54125005cfcf2aacb": { - "balance": "2000000000000000000000" + "0xf1624d980b65336feac5a6d54125005cfcf2aacb": { + "balance": "0x6c6b935b8bbd400000" }, - "0b7fc9ddf70576f6330669eaaa71b6a831e99528": { - "balance": "140000000000000000000" + "0x0b7fc9ddf70576f6330669eaaa71b6a831e99528": { + "balance": "0x796e3ea3f8ab00000" }, - "fa2bbca15d3fe39f8a328e91f90da14f7ac6253d": { - "balance": "200000000000000000000" + "0xfa2bbca15d3fe39f8a328e91f90da14f7ac6253d": { + "balance": "0xad78ebc5ac6200000" }, - "07feef54c136850829badc4b49c3f2a73c89fb9e": { - "balance": "118200000000000000000" + "0x07feef54c136850829badc4b49c3f2a73c89fb9e": { + "balance": "0x6685ac1bfe32c0000" }, - "3703350c4d6fe337342cddc65bf1e2386bf3f9b2": { - "balance": "2020000000000000000000" + "0x3703350c4d6fe337342cddc65bf1e2386bf3f9b2": { + "balance": "0x6d8121a194d1100000" }, - "6d7d1c949511f88303808c60c5ea0640fcc02683": { - "balance": "10000000000000000000000" + "0x6d7d1c949511f88303808c60c5ea0640fcc02683": { + "balance": "0x21e19e0c9bab2400000" }, - "34fa7792bad8bbd7ff64056214a33eb6600c1ea8": { - "balance": "50000000000000000000" + "0x34fa7792bad8bbd7ff64056214a33eb6600c1ea8": { + "balance": "0x2b5e3af16b1880000" }, - "994cc2b5227ec3cf048512467c41b7b7b748909f": { - "balance": "2000000000000000000000" + "0x994cc2b5227ec3cf048512467c41b7b7b748909f": { + "balance": "0x6c6b935b8bbd400000" }, - "08da3a7a0f452161cfbcec311bb68ebfdee17e88": { - "balance": "2000000000000000000000" + "0x08da3a7a0f452161cfbcec311bb68ebfdee17e88": { + "balance": "0x6c6b935b8bbd400000" }, - "bbb4ee1d82f2e156442cc93338a2fc286fa28864": { - "balance": "1370000000000000000000" + "0xbbb4ee1d82f2e156442cc93338a2fc286fa28864": { + "balance": "0x4a4491bd6dcd280000" }, - "7a2dfc770e24368131b7847795f203f3d50d5b56": { - "balance": "11400000000000000000000" + "0x7a2dfc770e24368131b7847795f203f3d50d5b56": { + "balance": "0x269fec7f0361d200000" }, - "7cef4d43aa417f9ef8b787f8b99d53f1fea1ee88": { - "balance": "1910000000000000000000" + "0x7cef4d43aa417f9ef8b787f8b99d53f1fea1ee88": { + "balance": "0x678a932062e4180000" }, - "c6a30ef5bb3320f40dc5e981230d52ae3ac19322": { - "balance": "182000000000000000000" + "0xc6a30ef5bb3320f40dc5e981230d52ae3ac19322": { + "balance": "0x9ddc1e3b901180000" }, - "6a74844d8e9cb5581c45079a2e94462a6cee8821": { - "balance": "1082970000000000000000" + "0x6a74844d8e9cb5581c45079a2e94462a6cee8821": { + "balance": "0x3ab53a552dd4c90000" }, - "c3110be01dc9734cfc6e1ce07f87d77d1345b7e1": { - "balance": "4999998000000000000000" + "0xc3110be01dc9734cfc6e1ce07f87d77d1345b7e1": { + "balance": "0x10f0ce949e00f930000" }, - "aeb916ebf49d0f86c13f7331cef19e129937512d": { - "balance": "599908000000000000000" + "0xaeb916ebf49d0f86c13f7331cef19e129937512d": { + "balance": "0x2085655b8d1b0a0000" }, - "3e5abd09ce5af7ba8487c359e0f2a93a986b0b18": { - "balance": "10000000000000000000000" + "0x3e5abd09ce5af7ba8487c359e0f2a93a986b0b18": { + "balance": "0x21e19e0c9bab2400000" }, - "cdd60d73efaad873c9bbfb178ca1b7105a81a681": { - "balance": "32000000000000000000" + "0xcdd60d73efaad873c9bbfb178ca1b7105a81a681": { + "balance": "0x1bc16d674ec800000" }, - "31eb123c95c82bf685ace7a75a1881a289efca10": { - "balance": "920034000000000000000" + "0x31eb123c95c82bf685ace7a75a1881a289efca10": { + "balance": "0x31e009607371bd0000" }, - "86e8670e27598ea09c3899ab7711d3b9fe901c17": { - "balance": "200000000000000000000" + "0x86e8670e27598ea09c3899ab7711d3b9fe901c17": { + "balance": "0xad78ebc5ac6200000" }, - "a144f6b60f72d64a21e330dadb62d8990ade2b09": { - "balance": "1000000000000000000000" + "0xa144f6b60f72d64a21e330dadb62d8990ade2b09": { + "balance": "0x3635c9adc5dea00000" }, - "68883e152e5660fee59626e7e3b4f05110e6222f": { - "balance": "54683300000000000000000" + "0x68883e152e5660fee59626e7e3b4f05110e6222f": { + "balance": "0xb94633be975a62a0000" }, - "fe4249127950e2f896ec0e7e2e3d055aab10550f": { - "balance": "668500000000000000000" + "0xfe4249127950e2f896ec0e7e2e3d055aab10550f": { + "balance": "0x243d4d18229ca20000" }, - "403d53cf620f0922b417848dee96c190b5bc8271": { - "balance": "9850000000000000000000" + "0x403d53cf620f0922b417848dee96c190b5bc8271": { + "balance": "0x215f835bc769da80000" }, - "bec2e6de39c07c2bae556acfbee2c4728b9982e3": { - "balance": "573000000000000000000" + "0xbec2e6de39c07c2bae556acfbee2c4728b9982e3": { + "balance": "0x1f0ff8f01daad40000" }, - "f3c4716d1ee5279a86d0163a14618181e16136c7": { - "balance": "1000000000000000000000" + "0xf3c4716d1ee5279a86d0163a14618181e16136c7": { + "balance": "0x3635c9adc5dea00000" }, - "e38ef28a5ed984a7db24a1ae782dfb87f397dfc6": { - "balance": "143000000000000000000" + "0xe38ef28a5ed984a7db24a1ae782dfb87f397dfc6": { + "balance": "0x7c0860e5a80dc0000" }, - "30fbe5885f9fcce9ea5edb82ed4a1196dd259aed": { - "balance": "5200000000000000000000" + "0x30fbe5885f9fcce9ea5edb82ed4a1196dd259aed": { + "balance": "0x119e47f21381f400000" }, - "48bf14d7b1fc84ebf3c96be12f7bce01aa69b03e": { - "balance": "120000000000000000000" + "0x48bf14d7b1fc84ebf3c96be12f7bce01aa69b03e": { + "balance": "0x68155a43676e00000" }, - "b8d5c324a8209d7c8049d0d4aede02ba80ab578b": { - "balance": "16889329000000000000000" + "0xb8d5c324a8209d7c8049d0d4aede02ba80ab578b": { + "balance": "0x393928629fff75e8000" }, - "43d5a71ce8b8f8ae02b2eaf8eaf2ca2840b93fb6": { - "balance": "6000000000000000000000" + "0x43d5a71ce8b8f8ae02b2eaf8eaf2ca2840b93fb6": { + "balance": "0x14542ba12a337c00000" }, - "f9a59c3cc5ffacbcb67be0fc7256f64c9b127cb4": { - "balance": "2000000000000000000000" + "0xf9a59c3cc5ffacbcb67be0fc7256f64c9b127cb4": { + "balance": "0x6c6b935b8bbd400000" }, - "0e21af1b8dbf27fcf63f37e047b87a825cbe7c27": { - "balance": "3000000000000000000000" + "0x0e21af1b8dbf27fcf63f37e047b87a825cbe7c27": { + "balance": "0xa2a15d09519be00000" }, - "1c35aab688a0cd8ef82e76541ba7ac39527f743b": { - "balance": "500000000000000000000" + "0x1c35aab688a0cd8ef82e76541ba7ac39527f743b": { + "balance": "0x1b1ae4d6e2ef500000" }, - "91ac5cfe67c54aa7ebfba448666c461a3b1fe2e1": { - "balance": "401880000000000000000" + "0x91ac5cfe67c54aa7ebfba448666c461a3b1fe2e1": { + "balance": "0x15c93492bf9dfc0000" }, - "4ba53ab549e2016dfa223c9ed5a38fad91288d07": { - "balance": "1400000000000000000000" + "0x4ba53ab549e2016dfa223c9ed5a38fad91288d07": { + "balance": "0x4be4e7267b6ae00000" }, - "99a4de19ded79008cfdcd45d014d2e584b8914a8": { - "balance": "1500000000000000000000" + "0x99a4de19ded79008cfdcd45d014d2e584b8914a8": { + "balance": "0x5150ae84a8cdf00000" }, - "4adbf4aae0e3ef44f7dd4d8985cfaf096ec48e98": { - "balance": "150000000000000000000" + "0x4adbf4aae0e3ef44f7dd4d8985cfaf096ec48e98": { + "balance": "0x821ab0d4414980000" }, - "9a633fcd112cceeb765fe0418170732a9705e79c": { - "balance": "18200000000000000000" + "0x9a633fcd112cceeb765fe0418170732a9705e79c": { + "balance": "0xfc936392801c0000" }, - "292f228b0a94748c8eec612d246f989363e08f08": { - "balance": "185000000000000000000" + "0x292f228b0a94748c8eec612d246f989363e08f08": { + "balance": "0xa076407d3f7440000" }, - "9f3497f5ef5fe63095836c004eb9ce02e9013b4b": { - "balance": "633424000000000000000" + "0x9f3497f5ef5fe63095836c004eb9ce02e9013b4b": { + "balance": "0x2256861bf9cf080000" }, - "0e6dfd553b2e873d2aec15bd5fbb3f8472d8d394": { - "balance": "12000000000000000000000" + "0x0e6dfd553b2e873d2aec15bd5fbb3f8472d8d394": { + "balance": "0x28a857425466f800000" }, - "74ebf4425646e6cf81b109ce7bf4a2a63d84815f": { - "balance": "40000000000000000000" + "0x74ebf4425646e6cf81b109ce7bf4a2a63d84815f": { + "balance": "0x22b1c8c1227a00000" }, - "8ce5e3b5f591d5eca38abf228f2e3c35134bdac0": { - "balance": "2319920000000000000000" + "0x8ce5e3b5f591d5eca38abf228f2e3c35134bdac0": { + "balance": "0x7dc35b84897c380000" }, - "90c41eba008e20cbe927f346603fc88698125969": { - "balance": "42000000000000000000" + "0x90c41eba008e20cbe927f346603fc88698125969": { + "balance": "0x246ddf97976680000" }, - "382ba76db41b75606dd48a48f0137e9174e031b6": { - "balance": "20000000000000000000" + "0x382ba76db41b75606dd48a48f0137e9174e031b6": { + "balance": "0x1158e460913d00000" }, - "5d24bdbc1c47f0eb83d128cae48ac33c4817e91f": { - "balance": "1000000000000000000000" + "0x5d24bdbc1c47f0eb83d128cae48ac33c4817e91f": { + "balance": "0x3635c9adc5dea00000" }, - "a64e5ffb704c2c9139d77ef61d8cdfa31d7a88e9": { - "balance": "143000000000000000000" + "0xa64e5ffb704c2c9139d77ef61d8cdfa31d7a88e9": { + "balance": "0x7c0860e5a80dc0000" }, - "a18360e985f2062e8f8efe02ad2cbc91ad9a5aad": { - "balance": "3000000000000000000000" + "0xa18360e985f2062e8f8efe02ad2cbc91ad9a5aad": { + "balance": "0xa2a15d09519be00000" }, - "d251f903ae18727259eee841a189a1f569a5fd76": { - "balance": "10000000000000000000000" + "0xd251f903ae18727259eee841a189a1f569a5fd76": { + "balance": "0x21e19e0c9bab2400000" }, - "efa6b1f0db603537826891b8b4bc163984bb40cd": { - "balance": "985000000000000000000" + "0xefa6b1f0db603537826891b8b4bc163984bb40cd": { + "balance": "0x35659ef93f0fc40000" }, - "47fff42c678551d141eb75a6ee398117df3e4a8d": { - "balance": "100010000000000000000" + "0x47fff42c678551d141eb75a6ee398117df3e4a8d": { + "balance": "0x56beae51fd2d10000" }, - "f2294adbb6f0dcc76e632ebef48ab49f124dbba4": { - "balance": "1443690000000000000000" + "0xf2294adbb6f0dcc76e632ebef48ab49f124dbba4": { + "balance": "0x4e43393600a7b10000" }, - "53700d53254d430f22781a4a76a463933b5d6b08": { - "balance": "1970000000000000000000" + "0x53700d53254d430f22781a4a76a463933b5d6b08": { + "balance": "0x6acb3df27e1f880000" }, - "b14a7aaa8f49f2fb9a8102d6bbe4c48ae7c06fb2": { - "balance": "8000000000000000000000" + "0xb14a7aaa8f49f2fb9a8102d6bbe4c48ae7c06fb2": { + "balance": "0x1b1ae4d6e2ef5000000" }, - "9ed4e63f526542d44fddd34d59cd25388ffd6bda": { - "balance": "3885000000000000000000" + "0x9ed4e63f526542d44fddd34d59cd25388ffd6bda": { + "balance": "0xd29b34a46348940000" }, - "4cac91fb83a147d2f76c3267984b910a79933348": { - "balance": "2167000000000000000000" + "0x4cac91fb83a147d2f76c3267984b910a79933348": { + "balance": "0x75792a8abdef7c0000" }, - "9b32cf4f5115f4b34a00a64c617de06387354323": { - "balance": "105501000000000000000" + "0x9b32cf4f5115f4b34a00a64c617de06387354323": { + "balance": "0x5b81ed888207c8000" }, - "b8bedd576a4b4c2027da735a5bc3f533252a1808": { - "balance": "2000000000000000000000" + "0xb8bedd576a4b4c2027da735a5bc3f533252a1808": { + "balance": "0x6c6b935b8bbd400000" }, - "c5a3b98e4593fea0b38c4f455a5065f051a2f815": { - "balance": "20309030000000000000000" + "0xc5a3b98e4593fea0b38c4f455a5065f051a2f815": { + "balance": "0x44cf468af25bf770000" }, - "eaf52388546ec35aca6f6c6393d8d609de3a4bf3": { - "balance": "20000000000000000000" + "0xeaf52388546ec35aca6f6c6393d8d609de3a4bf3": { + "balance": "0x1158e460913d00000" }, - "4c423c76930d07f93c47a5cc4f615745c45a9d72": { - "balance": "100000000000000000000" + "0x4c423c76930d07f93c47a5cc4f615745c45a9d72": { + "balance": "0x56bc75e2d63100000" }, - "9052f2e4a3e3c12dd1c71bf78a4ec3043dc88b7e": { - "balance": "267400000000000000000" + "0x9052f2e4a3e3c12dd1c71bf78a4ec3043dc88b7e": { + "balance": "0xe7eeba3410b740000" }, - "2bade91d154517620fd4b439ac97157a4102a9f7": { - "balance": "4000000000000000000000" + "0x2bade91d154517620fd4b439ac97157a4102a9f7": { + "balance": "0xd8d726b7177a800000" }, - "da698d64c65c7f2b2c7253059cd3d181d899b6b7": { - "balance": "295500000000000000000" + "0xda698d64c65c7f2b2c7253059cd3d181d899b6b7": { + "balance": "0x1004e2e45fb7ee0000" }, - "c6d8954e8f3fc533d2d230ff025cb4dce14f3426": { - "balance": "400000000000000000000" + "0xc6d8954e8f3fc533d2d230ff025cb4dce14f3426": { + "balance": "0x15af1d78b58c400000" }, - "349a816b17ab3d27bbc0ae0051f6a070be1ff29d": { - "balance": "10000000000000000000000" + "0x349a816b17ab3d27bbc0ae0051f6a070be1ff29d": { + "balance": "0x21e19e0c9bab2400000" }, - "ff4d9c8484c43c42ff2c5ab759996498d323994d": { - "balance": "4000000000000000000000" + "0xff4d9c8484c43c42ff2c5ab759996498d323994d": { + "balance": "0xd8d726b7177a800000" }, - "22944fbca9b57963084eb84df7c85fb9bcdfb856": { - "balance": "4649845000000000000000" + "0x22944fbca9b57963084eb84df7c85fb9bcdfb856": { + "balance": "0xfc118fef90ba388000" }, - "bfd93c90c29c07bc5fb5fc49aeea55a40e134f35": { - "balance": "28000000000000000000000" + "0xbfd93c90c29c07bc5fb5fc49aeea55a40e134f35": { + "balance": "0x5ede20f01a459800000" }, - "3caedb5319fe806543c56e5021d372f71be9062e": { - "balance": "40000000000000000000000" + "0x3caedb5319fe806543c56e5021d372f71be9062e": { + "balance": "0x878678326eac9000000" }, - "9a079c92a629ca15c8cafa2eb28d5bc17af82811": { - "balance": "500000000000000000000" + "0x9a079c92a629ca15c8cafa2eb28d5bc17af82811": { + "balance": "0x1b1ae4d6e2ef500000" }, - "7d2a52a7cf0c8436a8e007976b6c26b7229d1e15": { - "balance": "438040000000000000000" + "0x7d2a52a7cf0c8436a8e007976b6c26b7229d1e15": { + "balance": "0x17bf06b32a241c0000" }, - "cf89f7460ba3dfe83c5a1d3a019ee1250f242f0f": { - "balance": "985177000000000000000" + "0xcf89f7460ba3dfe83c5a1d3a019ee1250f242f0f": { + "balance": "0x356813cdcefd028000" }, - "577bfe64e3a1e3800e94db1c6c184d8dc8aafc66": { - "balance": "1498000000000000000000" + "0x577bfe64e3a1e3800e94db1c6c184d8dc8aafc66": { + "balance": "0x5134ed17417f280000" }, - "7ffd02ed370c7060b2ae53c078c8012190dfbb75": { - "balance": "10000000000000000000000" + "0x7ffd02ed370c7060b2ae53c078c8012190dfbb75": { + "balance": "0x21e19e0c9bab2400000" }, - "90b62f131a5f29b45571513ee7a74a8f0b232202": { - "balance": "158000000000000000000" + "0x90b62f131a5f29b45571513ee7a74a8f0b232202": { + "balance": "0x890b0c2e14fb80000" }, - "6e8212b722afd408a7a73ed3e2395ee6454a0330": { - "balance": "159000000000000000000" + "0x6e8212b722afd408a7a73ed3e2395ee6454a0330": { + "balance": "0x89e917994f71c0000" }, - "515f30bc90cdf4577ee47d65d785fbe2e837c6bc": { - "balance": "10166128000000000000000" + "0x515f30bc90cdf4577ee47d65d785fbe2e837c6bc": { + "balance": "0x2271b5e018ba0580000" }, - "c27376f45d21e15ede3b26f2655fcee02ccc0f2a": { - "balance": "20000000000000000000" + "0xc27376f45d21e15ede3b26f2655fcee02ccc0f2a": { + "balance": "0x1158e460913d00000" }, - "3da39ce3ef4a7a3966b32ee7ea4ebc2335a8f11f": { - "balance": "2000000000000000000000" + "0x3da39ce3ef4a7a3966b32ee7ea4ebc2335a8f11f": { + "balance": "0x6c6b935b8bbd400000" }, - "25259d975a21d83ae30e33f800f53f37dfa01938": { - "balance": "20000000000000000000" + "0x25259d975a21d83ae30e33f800f53f37dfa01938": { + "balance": "0x1158e460913d00000" }, - "8ed143701f2f72280fd04a7b4164281979ea87c9": { - "balance": "14000000000000000000" + "0x8ed143701f2f72280fd04a7b4164281979ea87c9": { + "balance": "0xc249fdd327780000" }, - "5ac99ad7816ae9020ff8adf79fa9869b7cea6601": { - "balance": "21000000000000000000000" + "0x5ac99ad7816ae9020ff8adf79fa9869b7cea6601": { + "balance": "0x472698b413b43200000" }, - "f51fded80acb502890e87369741f3722514cefff": { - "balance": "20000042000000000000000" + "0xf51fded80acb502890e87369741f3722514cefff": { + "balance": "0x43c3456ca3c6d110000" }, - "f657fcbe682eb4e8db152ecf892456000b513d15": { - "balance": "1940000000000000000000" + "0xf657fcbe682eb4e8db152ecf892456000b513d15": { + "balance": "0x692ae8897081d00000" }, - "62c37c52b97f4b040b1aa391d6dec152893c4707": { - "balance": "1000000000000000000000" + "0x62c37c52b97f4b040b1aa391d6dec152893c4707": { + "balance": "0x3635c9adc5dea00000" }, - "89fc8e4d386b0d0bb4a707edf3bd560df1ad8f4e": { - "balance": "2955000000000000000000" + "0x89fc8e4d386b0d0bb4a707edf3bd560df1ad8f4e": { + "balance": "0xa030dcebbd2f4c0000" }, - "53c0bb7fc88ea422d2ef7e540e2d8f28b1bb8183": { - "balance": "20000000000000000000" + "0x53c0bb7fc88ea422d2ef7e540e2d8f28b1bb8183": { + "balance": "0x1158e460913d00000" }, - "56f493a3d108aaa2d18d98922f8efe1662cfb73d": { - "balance": "2020000000000000000000" + "0x56f493a3d108aaa2d18d98922f8efe1662cfb73d": { + "balance": "0x6d8121a194d1100000" }, - "e9458f68bb272cb5673a04f781b403556fd3a387": { - "balance": "61000000000000000000" + "0xe9458f68bb272cb5673a04f781b403556fd3a387": { + "balance": "0x34e8b88cee2d40000" }, - "be525a33ea916177f17283fca29e8b350b7f530b": { - "balance": "2638000000000000000000" + "0xbe525a33ea916177f17283fca29e8b350b7f530b": { + "balance": "0x8f019aaf46e8780000" }, - "4feb846be43041fd6b34202897943e3f21cb7f04": { - "balance": "83226000000000000000" + "0x4feb846be43041fd6b34202897943e3f21cb7f04": { + "balance": "0x482fe260cbca90000" }, - "15aa530dc36958b4edb38eee6dd9e3c77d4c9145": { - "balance": "2000000000000000000000" + "0x15aa530dc36958b4edb38eee6dd9e3c77d4c9145": { + "balance": "0x6c6b935b8bbd400000" }, - "2458d6555ff98a129cce4037953d00206eff4287": { - "balance": "197000000000000000000" + "0x2458d6555ff98a129cce4037953d00206eff4287": { + "balance": "0xaadec983fcff40000" }, - "8035fe4e6b6af27ae492a578515e9d39fa6fa65b": { - "balance": "4000000000000000000000" + "0x8035fe4e6b6af27ae492a578515e9d39fa6fa65b": { + "balance": "0xd8d726b7177a800000" }, - "296b71c0015819c242a7861e6ff7eded8a5f71e3": { - "balance": "1999800000000000000000" + "0x296b71c0015819c242a7861e6ff7eded8a5f71e3": { + "balance": "0x6c68ccd09b022c0000" }, - "8f1952eed1c548d9ee9b97d0169a07933be69f63": { - "balance": "1000000000000000000000" + "0x8f1952eed1c548d9ee9b97d0169a07933be69f63": { + "balance": "0x3635c9adc5dea00000" }, - "a421dbb89b3a07419084ad10c3c15dfe9b32d0c2": { - "balance": "20000000000000000000000" + "0xa421dbb89b3a07419084ad10c3c15dfe9b32d0c2": { + "balance": "0x43c33c1937564800000" }, - "554336ee4ea155f9f24f87bca9ca72e253e12cd2": { - "balance": "100000000000000000000" + "0x554336ee4ea155f9f24f87bca9ca72e253e12cd2": { + "balance": "0x56bc75e2d63100000" }, - "ffc5fc4b7e8a0293ff39a3a0f7d60d2646d37a74": { - "balance": "2000000000000000000000" + "0xffc5fc4b7e8a0293ff39a3a0f7d60d2646d37a74": { + "balance": "0x6c6b935b8bbd400000" }, - "ea2c197d26e98b0da83e1b72c787618c979d3db0": { - "balance": "19700000000000000000" + "0xea2c197d26e98b0da83e1b72c787618c979d3db0": { + "balance": "0x11164759ffb320000" }, - "96aa573fed2f233410dbae5180145b23c31a02f0": { - "balance": "1730000000000000000000" + "0x96aa573fed2f233410dbae5180145b23c31a02f0": { + "balance": "0x5dc892aa1131c80000" }, - "c23b2f921ce4a37a259ee4ad8b2158d15d664f59": { - "balance": "25403000000000000000" + "0xc23b2f921ce4a37a259ee4ad8b2158d15d664f59": { + "balance": "0x1608995e8bd3f8000" }, - "d874b9dfae456a929ba3b1a27e572c9b2cecdfb3": { - "balance": "170000000000000000000" + "0xd874b9dfae456a929ba3b1a27e572c9b2cecdfb3": { + "balance": "0x93739534d28680000" }, - "bf8b8005d636a49664f74275ef42438acd65ac91": { - "balance": "200000000000000000000" + "0xbf8b8005d636a49664f74275ef42438acd65ac91": { + "balance": "0xad78ebc5ac6200000" }, - "441a52001661fac718b2d7b351b7c6fb521a7afd": { - "balance": "400000000000000000000" + "0x441a52001661fac718b2d7b351b7c6fb521a7afd": { + "balance": "0x15af1d78b58c400000" }, - "812a55c43caedc597218379000ce510d548836fd": { - "balance": "18200000000000000000" + "0x812a55c43caedc597218379000ce510d548836fd": { + "balance": "0xfc936392801c0000" }, - "5e90c85877198756b0366c0e17b28e52b446505a": { - "balance": "374288000000000000000" + "0x5e90c85877198756b0366c0e17b28e52b446505a": { + "balance": "0x144a4a18efeb680000" }, - "da3017c150dd0dce7fcf881b0a48d0d1c756c4c7": { - "balance": "100014000000000000000" + "0xda3017c150dd0dce7fcf881b0a48d0d1c756c4c7": { + "balance": "0x56bf91b1a65eb0000" }, - "6baf7a2a02ae78801e8904ad7ac05108fc56cff6": { - "balance": "1000000000000000000000" + "0x6baf7a2a02ae78801e8904ad7ac05108fc56cff6": { + "balance": "0x3635c9adc5dea00000" }, - "177dae78bc0113d8d39c4402f2a641ae2a105ab8": { - "balance": "1818320000000000000000" + "0x177dae78bc0113d8d39c4402f2a641ae2a105ab8": { + "balance": "0x6292425620b4480000" }, - "01b5b5bc5a117fa08b34ed1db9440608597ac548": { - "balance": "200000000000000000000" + "0x01b5b5bc5a117fa08b34ed1db9440608597ac548": { + "balance": "0xad78ebc5ac6200000" }, - "aae732eda65988c3a00c7f472f351c463b1c968e": { - "balance": "2000000000000000000000" + "0xaae732eda65988c3a00c7f472f351c463b1c968e": { + "balance": "0x6c6b935b8bbd400000" }, - "d95342953c8a21e8b635eefac7819bea30f17047": { - "balance": "94160000000000000000000" + "0xd95342953c8a21e8b635eefac7819bea30f17047": { + "balance": "0x13f06c7ffef05d400000" }, - "8d616b1eee77eef6f176e0698db3c0c141b2fc8f": { - "balance": "500000000000000000000" + "0x8d616b1eee77eef6f176e0698db3c0c141b2fc8f": { + "balance": "0x1b1ae4d6e2ef500000" }, - "12d20790b7d3dbd88c81a279b812039e8a603bd0": { - "balance": "1604400000000000000000" + "0x12d20790b7d3dbd88c81a279b812039e8a603bd0": { + "balance": "0x56f985d38644b80000" }, - "3734cb187491ede713ae5b3b2d12284af46b8101": { - "balance": "3000000000000000000000" + "0x3734cb187491ede713ae5b3b2d12284af46b8101": { + "balance": "0xa2a15d09519be00000" }, - "dd967c4c5f8ae47e266fb416aad1964ee3e7e8c3": { - "balance": "7750000000000000000000" + "0xdd967c4c5f8ae47e266fb416aad1964ee3e7e8c3": { + "balance": "0x1a420db02bd7d580000" }, - "3dcef19c868b15d34eda426ec7e04b18b6017002": { - "balance": "1999800000000000000000" + "0x3dcef19c868b15d34eda426ec7e04b18b6017002": { + "balance": "0x6c68ccd09b022c0000" }, - "ce9d21c692cd3c01f2011f505f870036fa8f6cd2": { - "balance": "400000000000000000000" + "0xce9d21c692cd3c01f2011f505f870036fa8f6cd2": { + "balance": "0x15af1d78b58c400000" }, - "d44f6ac3923b5fd731a4c45944ec4f7ec52a6ae4": { - "balance": "10000000000000000000000" + "0xd44f6ac3923b5fd731a4c45944ec4f7ec52a6ae4": { + "balance": "0x21e19e0c9bab2400000" }, - "b424d68d9d0d00cec1938c854e15ffb880ba0170": { - "balance": "200000000000000000000" + "0xb424d68d9d0d00cec1938c854e15ffb880ba0170": { + "balance": "0xad78ebc5ac6200000" }, - "1f2186ded23e0cf9521694e4e164593e690a9685": { - "balance": "300000000000000000000" + "0x1f2186ded23e0cf9521694e4e164593e690a9685": { + "balance": "0x1043561a8829300000" }, - "7f4b5e278578c046cceaf65730a0e068329ed5b6": { - "balance": "1880000000000000000000" + "0x7f4b5e278578c046cceaf65730a0e068329ed5b6": { + "balance": "0x65ea3db75546600000" }, - "8c50aa2a9212bcde56418ae261f0b35e7a9dbb82": { - "balance": "400000000000000000000" + "0x8c50aa2a9212bcde56418ae261f0b35e7a9dbb82": { + "balance": "0x15af1d78b58c400000" }, - "1953313e2ad746239cb2270f48af34d8bb9c4465": { - "balance": "2000000000000000000000" + "0x1953313e2ad746239cb2270f48af34d8bb9c4465": { + "balance": "0x6c6b935b8bbd400000" }, - "a15025f595acdbf3110f77c5bf24477e6548f9e8": { - "balance": "2000000000000000000000" + "0xa15025f595acdbf3110f77c5bf24477e6548f9e8": { + "balance": "0x6c6b935b8bbd400000" }, - "53af32c22fef99803f178cf90b802fb571c61cb9": { - "balance": "3880000000000000000000" + "0x53af32c22fef99803f178cf90b802fb571c61cb9": { + "balance": "0xd255d112e103a00000" }, - "d0a8abd80a199b54b08b65f01d209c27fef0115b": { - "balance": "6525979000000000000000" + "0xd0a8abd80a199b54b08b65f01d209c27fef0115b": { + "balance": "0x161c626dc61a2ef8000" }, - "2b68306ba7f8daaf73f4c644ef7d2743c0f26856": { - "balance": "864800000000000000000" + "0x2b68306ba7f8daaf73f4c644ef7d2743c0f26856": { + "balance": "0x2ee182ca17ddd00000" }, - "96924191b7df655b3319dc6d6137f481a73a0ff3": { - "balance": "4020000000000000000000" + "0x96924191b7df655b3319dc6d6137f481a73a0ff3": { + "balance": "0xd9ecb4fd208e500000" }, - "6fa72015fa78696efd9a86174f7f1f21019286b1": { - "balance": "1337000000000000000000" + "0x6fa72015fa78696efd9a86174f7f1f21019286b1": { + "balance": "0x487a9a304539440000" }, - "0b119df99c6b8de58a1e2c3f297a6744bf552277": { - "balance": "2000000000000000000000" + "0x0b119df99c6b8de58a1e2c3f297a6744bf552277": { + "balance": "0x6c6b935b8bbd400000" }, - "61733947fab820dbd351efd67855ea0e881373a0": { - "balance": "20000000000000000000" + "0x61733947fab820dbd351efd67855ea0e881373a0": { + "balance": "0x1158e460913d00000" }, - "8ae6f80b70e1f23c91fbd5a966b0e499d95df832": { - "balance": "197000000000000000000" + "0x8ae6f80b70e1f23c91fbd5a966b0e499d95df832": { + "balance": "0xaadec983fcff40000" }, - "01a7d9fa7d0eb1185c67e54da83c2e75db69e39f": { - "balance": "7623900000000000000000" + "0x01a7d9fa7d0eb1185c67e54da83c2e75db69e39f": { + "balance": "0x19d4addd0d8bc960000" }, - "9932ef1c85b75a9b2a80057d508734c51085becc": { - "balance": "50170000000000000000" + "0x9932ef1c85b75a9b2a80057d508734c51085becc": { + "balance": "0x2b83fa5301d590000" }, - "aefcfe88c826ccf131d54eb4ea9eb80e61e1ee25": { - "balance": "340000000000000000000" + "0xaefcfe88c826ccf131d54eb4ea9eb80e61e1ee25": { + "balance": "0x126e72a69a50d00000" }, - "c21fa6643a1f14c02996ad7144b75926e87ecb4b": { - "balance": "20000000000000000000000" + "0xc21fa6643a1f14c02996ad7144b75926e87ecb4b": { + "balance": "0x43c33c1937564800000" }, - "97d9e46a7604d7b5a4ea4ee61a42b3d2350fc3ed": { - "balance": "2000000000000000000000" + "0x97d9e46a7604d7b5a4ea4ee61a42b3d2350fc3ed": { + "balance": "0x6c6b935b8bbd400000" }, - "3cafaf5e62505615068af8eb22a13ad8a9e55070": { - "balance": "1999600000000000000000" + "0x3cafaf5e62505615068af8eb22a13ad8a9e55070": { + "balance": "0x6c660645aa47180000" }, - "22f2dcff5ad78c3eb6850b5cb951127b659522e6": { - "balance": "13700000000000000000" + "0x22f2dcff5ad78c3eb6850b5cb951127b659522e6": { + "balance": "0xbe202d6a0eda0000" }, - "aaad1baade5af04e2b17439e935987bf8c2bb4b9": { - "balance": "2000000000000000000000" + "0xaaad1baade5af04e2b17439e935987bf8c2bb4b9": { + "balance": "0x6c6b935b8bbd400000" }, - "298887bab57c5ba4f0615229d7525fa113b7ea89": { - "balance": "40000000000000000000" + "0x298887bab57c5ba4f0615229d7525fa113b7ea89": { + "balance": "0x22b1c8c1227a00000" }, - "7539333046deb1ef3c4daf50619993f444e1de68": { - "balance": "1182000000000000000000" + "0x7539333046deb1ef3c4daf50619993f444e1de68": { + "balance": "0x40138b917edfb80000" }, - "9752d14f5e1093f071711c1adbc4e3eb1e5c57f3": { - "balance": "2000000000000000000000" + "0x9752d14f5e1093f071711c1adbc4e3eb1e5c57f3": { + "balance": "0x6c6b935b8bbd400000" }, - "ed641e06368fb0efaa1703e01fe48f4a685309eb": { - "balance": "200000000000000000000" + "0xed641e06368fb0efaa1703e01fe48f4a685309eb": { + "balance": "0xad78ebc5ac6200000" }, - "d0ee4d02cf24382c3090d3e99560de3678735cdf": { - "balance": "2400000000000000000000" + "0xd0ee4d02cf24382c3090d3e99560de3678735cdf": { + "balance": "0x821ab0d44149800000" }, - "47e25df8822538a8596b28c637896b4d143c351d": { - "balance": "80500000000000000000000" + "0x47e25df8822538a8596b28c637896b4d143c351d": { + "balance": "0x110be9eb24b881500000" }, - "559706c332d20779c45f8a6d046a699159b74921": { - "balance": "380123000000000000000" + "0x559706c332d20779c45f8a6d046a699159b74921": { + "balance": "0x149b442e85a3cf8000" }, - "3a4da78dce05aeb87de9aead9185726da1926798": { - "balance": "200000000000000000000" + "0x3a4da78dce05aeb87de9aead9185726da1926798": { + "balance": "0xad78ebc5ac6200000" }, - "3041445a33ba158741160d9c344eb88e5c306f94": { - "balance": "60000000000000000000" + "0x3041445a33ba158741160d9c344eb88e5c306f94": { + "balance": "0x340aad21b3b700000" }, - "08d4311c9c1bbaf87fabe1a1d01463828d5d98ce": { - "balance": "90000000000000000000000" + "0x08d4311c9c1bbaf87fabe1a1d01463828d5d98ce": { + "balance": "0x130ee8e7179044400000" }, - "6bd3e59f239fafe4776bb9bddd6bee83ba5d9d9f": { - "balance": "1000000000000000000000" + "0x6bd3e59f239fafe4776bb9bddd6bee83ba5d9d9f": { + "balance": "0x3635c9adc5dea00000" }, - "29eaae82761762f4d2db53a9c68b0f6b0b6d4e66": { - "balance": "2000000000000000000000" + "0x29eaae82761762f4d2db53a9c68b0f6b0b6d4e66": { + "balance": "0x6c6b935b8bbd400000" }, - "0b7d339371e5be6727e6e331b5821fa24bdb9d5a": { - "balance": "857738000000000000000" + "0x0b7d339371e5be6727e6e331b5821fa24bdb9d5a": { + "balance": "0x2e7f81868262010000" }, - "4714cfa4f46bd6bd70737d75878197e08f88e631": { - "balance": "11792000000000000000000" + "0x4714cfa4f46bd6bd70737d75878197e08f88e631": { + "balance": "0x27f3edfb34e6e400000" }, - "ad92ca066edb7c711dfc5b166192d1edf8e77185": { - "balance": "36000000000000000000000" + "0xad92ca066edb7c711dfc5b166192d1edf8e77185": { + "balance": "0x79f905c6fd34e800000" }, - "f97b56ebd5b77abc9fbacbabd494b9d2c221cd03": { - "balance": "1970000000000000000000" + "0xf97b56ebd5b77abc9fbacbabd494b9d2c221cd03": { + "balance": "0x6acb3df27e1f880000" }, - "591bef3171d1c5957717a4e98d17eb142c214e56": { - "balance": "20000000000000000000000" + "0x591bef3171d1c5957717a4e98d17eb142c214e56": { + "balance": "0x43c33c1937564800000" }, - "899b3c249f0c4b81df75d212004d3d6d952fd223": { - "balance": "2000000000000000000000" + "0x899b3c249f0c4b81df75d212004d3d6d952fd223": { + "balance": "0x6c6b935b8bbd400000" }, - "a819d2ece122e028c8e8a04a064d02b9029b08b9": { - "balance": "1000000000000000000000" + "0xa819d2ece122e028c8e8a04a064d02b9029b08b9": { + "balance": "0x3635c9adc5dea00000" }, - "e341642d40d2afce2e9107c67079ac7a2660086c": { - "balance": "400000000000000000000" + "0xe341642d40d2afce2e9107c67079ac7a2660086c": { + "balance": "0x15af1d78b58c400000" }, - "0329188f080657ab3a2afa522467178279832085": { - "balance": "216700000000000000000" + "0x0329188f080657ab3a2afa522467178279832085": { + "balance": "0xbbf510ddfcb260000" }, - "03317826d1f70aa4bddfa09be0c4105552d2358b": { - "balance": "38800000000000000000" + "0x03317826d1f70aa4bddfa09be0c4105552d2358b": { + "balance": "0x21a754a6dc5280000" }, - "3ac9dc7a436ae98fd01c7a9621aa8e9d0b8b531d": { - "balance": "1790000000000000000000" + "0x3ac9dc7a436ae98fd01c7a9621aa8e9d0b8b531d": { + "balance": "0x61093d7c2c6d380000" }, - "93c88e2d88621e30f58a9586bed4098999eb67dd": { - "balance": "31200000000000000000000" + "0x93c88e2d88621e30f58a9586bed4098999eb67dd": { + "balance": "0x69b5afac750bb800000" }, - "cd1e66ed539dd92fc40bbaa1fa16de8c02c14d45": { - "balance": "230000000000000000000" + "0xcd1e66ed539dd92fc40bbaa1fa16de8c02c14d45": { + "balance": "0xc77e4256863d80000" }, - "e6c81ffcecb47ecdc55c0b71e4855f3e5e97fc1e": { - "balance": "334250000000000000000" + "0xe6c81ffcecb47ecdc55c0b71e4855f3e5e97fc1e": { + "balance": "0x121ea68c114e510000" }, - "50f8fa4bb9e2677c990a4ee8ce70dd1523251e4f": { - "balance": "26030000000000000000" + "0x50f8fa4bb9e2677c990a4ee8ce70dd1523251e4f": { + "balance": "0x1693d23164f6b0000" }, - "4f64a85e8e9a40498c0c75fceb0337fb49083e5e": { - "balance": "1000000000000000000000" + "0x4f64a85e8e9a40498c0c75fceb0337fb49083e5e": { + "balance": "0x3635c9adc5dea00000" }, - "4b29437c97b4a844be71cca3b648d4ca0fdd9ba4": { - "balance": "150200000000000000000" + "0x4b29437c97b4a844be71cca3b648d4ca0fdd9ba4": { + "balance": "0x824719834cfac0000" }, - "1eee6cbee4fe96ad615a9cf5857a647940df8c78": { - "balance": "19400000000000000000" + "0x1eee6cbee4fe96ad615a9cf5857a647940df8c78": { + "balance": "0x10d3aa536e2940000" }, - "29f0edc60338e7112085a1d114da8c42ce8f55d6": { - "balance": "2958000000000000000000" + "0x29f0edc60338e7112085a1d114da8c42ce8f55d6": { + "balance": "0xa05a7f0fd825780000" }, - "23b1c4917fbd93ee3d48389306957384a5496cbf": { - "balance": "4000086000000000000000" + "0x23b1c4917fbd93ee3d48389306957384a5496cbf": { + "balance": "0xd8d8583fa2d52f0000" }, - "1767525c5f5a22ed80e9d4d7710f0362d29efa33": { - "balance": "400000000000000000000" + "0x1767525c5f5a22ed80e9d4d7710f0362d29efa33": { + "balance": "0x15af1d78b58c400000" }, - "3064899a963c4779cbf613cd6980846af1e6ec65": { - "balance": "6999908000000000000000" + "0x3064899a963c4779cbf613cd6980846af1e6ec65": { + "balance": "0x17b773ce6e5df0a0000" }, - "68531f4dda808f5320767a03113428ca0ce2f389": { - "balance": "19400000000000000000" + "0x68531f4dda808f5320767a03113428ca0ce2f389": { + "balance": "0x10d3aa536e2940000" }, - "1db9ac9a9eaeec0a523757050c71f47278c72d50": { - "balance": "1337000000000000000000" + "0x1db9ac9a9eaeec0a523757050c71f47278c72d50": { + "balance": "0x487a9a304539440000" }, - "7592c69d067b51b6cc639d1164d5578c60d2d244": { - "balance": "20000000000000000000" + "0x7592c69d067b51b6cc639d1164d5578c60d2d244": { + "balance": "0x1158e460913d00000" }, - "cf3fbfa1fd32d7a6e0e6f8ef4eab57be34025c4c": { - "balance": "1063120000000000000000" + "0xcf3fbfa1fd32d7a6e0e6f8ef4eab57be34025c4c": { + "balance": "0x39a1c0f7594d480000" }, - "8efec058cc546157766a632775404a334aaada87": { - "balance": "1999000000000000000000" + "0x8efec058cc546157766a632775404a334aaada87": { + "balance": "0x6c5db2a4d815dc0000" }, - "faf5f0b7b6d558f5090d9ea1fb2d42259c586078": { - "balance": "6401000000000000000000" + "0xfaf5f0b7b6d558f5090d9ea1fb2d42259c586078": { + "balance": "0x15affb8420c6b640000" }, - "19ecf2abf40c9e857b252fe1dbfd3d4c5d8f816e": { - "balance": "2000000000000000000000" + "0x19ecf2abf40c9e857b252fe1dbfd3d4c5d8f816e": { + "balance": "0x6c6b935b8bbd400000" }, - "6e8a26689f7a2fdefd009cbaaa5310253450daba": { - "balance": "2049982000000000000000" + "0x6e8a26689f7a2fdefd009cbaaa5310253450daba": { + "balance": "0x6f213717bad8d30000" }, - "e2f40d358f5e3fe7463ec70480bd2ed398a7063b": { - "balance": "20000000000000000000" + "0xe2f40d358f5e3fe7463ec70480bd2ed398a7063b": { + "balance": "0x1158e460913d00000" }, - "fa19d6f7a50f4f079893d167bf14e21d0073d196": { - "balance": "530000000000000000000" + "0xfa19d6f7a50f4f079893d167bf14e21d0073d196": { + "balance": "0x1cbb3a3ff08d080000" }, - "3e2ca0d234baf607ad466a1b85f4a6488ef00ae7": { - "balance": "89505000000000000000" + "0x3e2ca0d234baf607ad466a1b85f4a6488ef00ae7": { + "balance": "0x4da21a3483d568000" }, - "f8a49ca2390c1f6d5c0e62513b079571743f7cc6": { - "balance": "3000000000000000000000" + "0xf8a49ca2390c1f6d5c0e62513b079571743f7cc6": { + "balance": "0xa2a15d09519be00000" }, - "5d3f3b1f7130b0bb21a0fd32396239179a25657f": { - "balance": "62474000000000000000000" + "0x5d3f3b1f7130b0bb21a0fd32396239179a25657f": { + "balance": "0xd3ab8ea5e8fd9e80000" }, - "f332c0f3e05a27d9126fd0b641a8c2d4060608fd": { - "balance": "5001041000000000000000" + "0xf332c0f3e05a27d9126fd0b641a8c2d4060608fd": { + "balance": "0x10f1b62c4d9644e8000" }, - "e304a32f05a83762744a9542976ff9b723fa31ea": { - "balance": "1576256000000000000000" + "0xe304a32f05a83762744a9542976ff9b723fa31ea": { + "balance": "0x5572f240a346200000" }, - "f768f321fd6433d96b4f354d3cc1652c1732f57f": { - "balance": "10000000000000000000000" + "0xf768f321fd6433d96b4f354d3cc1652c1732f57f": { + "balance": "0x21e19e0c9bab2400000" }, - "147af46ae9ccd18bb35ca01b353b51990e49dce1": { - "balance": "4000000000000000000000" + "0x147af46ae9ccd18bb35ca01b353b51990e49dce1": { + "balance": "0xd8d726b7177a800000" }, - "21eae6feffa9fbf4cd874f4739ace530ccbe5937": { - "balance": "5000000000000000000000" + "0x21eae6feffa9fbf4cd874f4739ace530ccbe5937": { + "balance": "0x10f0cf064dd59200000" }, - "6994fb3231d7e41d491a9d68d1fa4cae2cc15960": { - "balance": "4000000000000000000000" + "0x6994fb3231d7e41d491a9d68d1fa4cae2cc15960": { + "balance": "0xd8d726b7177a800000" }, - "51126446ab3d8032557e8eba65597d75fadc815c": { - "balance": "322000000000000000000" + "0x51126446ab3d8032557e8eba65597d75fadc815c": { + "balance": "0x1174a5cdf88bc80000" }, - "24daaaddf7b06bbcea9b80590085a88567682b4e": { - "balance": "319008000000000000000" + "0x24daaaddf7b06bbcea9b80590085a88567682b4e": { + "balance": "0x114b2015d2bbd00000" }, - "cd020f8edfcf524798a9b73a640334bbf72f80a5": { - "balance": "133700000000000000000" + "0xcd020f8edfcf524798a9b73a640334bbf72f80a5": { + "balance": "0x73f75d1a085ba0000" }, - "56febf9e1003af15b1bd4907ec089a4a1b91d268": { - "balance": "200000000000000000000" + "0x56febf9e1003af15b1bd4907ec089a4a1b91d268": { + "balance": "0xad78ebc5ac6200000" }, - "3c79c863c3d372b3ff0c6f452734a7f97042d706": { - "balance": "176000000000000000000" + "0x3c79c863c3d372b3ff0c6f452734a7f97042d706": { + "balance": "0x98a7d9b8314c00000" }, - "e1203eb3a723e99c2220117ca6afeb66fa424f61": { - "balance": "9461996000000000000000" + "0xe1203eb3a723e99c2220117ca6afeb66fa424f61": { + "balance": "0x200ef929e3256fe0000" }, - "18fb09188f27f1038e654031924f628a2106703d": { - "balance": "2000000000000000000000" + "0x18fb09188f27f1038e654031924f628a2106703d": { + "balance": "0x6c6b935b8bbd400000" }, - "2eba0c6ee5a1145c1c573984963a605d880a7a20": { - "balance": "500000000000000000000" + "0x2eba0c6ee5a1145c1c573984963a605d880a7a20": { + "balance": "0x1b1ae4d6e2ef500000" }, - "4cefbe2398e47d52e78db4334c8b697675f193ae": { - "balance": "4011000000000000000000" + "0x4cefbe2398e47d52e78db4334c8b697675f193ae": { + "balance": "0xd96fce90cfabcc0000" }, - "c02471e3fc2ea0532615a7571d493289c13c36ef": { - "balance": "20000000000000000000" + "0xc02471e3fc2ea0532615a7571d493289c13c36ef": { + "balance": "0x1158e460913d00000" }, - "ba469aa5c386b19295d4a1b5473b540353390c85": { - "balance": "2000000000000000000000" + "0xba469aa5c386b19295d4a1b5473b540353390c85": { + "balance": "0x6c6b935b8bbd400000" }, - "7b11673cc019626b290cbdce26046f7e6d141e21": { - "balance": "500000000000000000000" + "0x7b11673cc019626b290cbdce26046f7e6d141e21": { + "balance": "0x1b1ae4d6e2ef500000" }, - "26784ade91c8a83a8e39658c8d8277413ccc9954": { - "balance": "6000000000000000000000" + "0x26784ade91c8a83a8e39658c8d8277413ccc9954": { + "balance": "0x14542ba12a337c00000" }, - "57d3df804f2beee6ef53ab94cb3ee9cf524a18d3": { - "balance": "393606000000000000000" + "0x57d3df804f2beee6ef53ab94cb3ee9cf524a18d3": { + "balance": "0x1556616b9606670000" }, - "ccae0d3d852a7da3860f0636154c0a6ca31628d4": { - "balance": "106560000000000000000" + "0xccae0d3d852a7da3860f0636154c0a6ca31628d4": { + "balance": "0x5c6d12b6bc1a00000" }, - "bfe3a1fc6e24c8f7b3250560991f93cba2cf8047": { - "balance": "80000000000000000000000" + "0xbfe3a1fc6e24c8f7b3250560991f93cba2cf8047": { + "balance": "0x10f0cf064dd592000000" }, - "724ce858857ec5481c86bd906e83a04882e5821d": { - "balance": "3000000000000000000000" + "0x724ce858857ec5481c86bd906e83a04882e5821d": { + "balance": "0xa2a15d09519be00000" }, - "fb37cf6b4f81a9e222fba22e9bd24b5098b733cf": { - "balance": "38800000000000000000" + "0xfb37cf6b4f81a9e222fba22e9bd24b5098b733cf": { + "balance": "0x21a754a6dc5280000" }, - "9b22a80d5c7b3374a05b446081f97d0a34079e7f": { - "balance": "3000000000000000000000" + "0x9b22a80d5c7b3374a05b446081f97d0a34079e7f": { + "balance": "0xa2a15d09519be00000" }, - "0a29a8a4d5fd950075ffb34d77afeb2d823bd689": { - "balance": "200000000000000000000" + "0x0a29a8a4d5fd950075ffb34d77afeb2d823bd689": { + "balance": "0xad78ebc5ac6200000" }, - "d01af9134faf5257174e8b79186f42ee354e642d": { - "balance": "1000000000000000000000" + "0xd01af9134faf5257174e8b79186f42ee354e642d": { + "balance": "0x3635c9adc5dea00000" }, - "7f1619988f3715e94ff1d253262dc5581db3de1c": { - "balance": "900000000000000000000" + "0x7f1619988f3715e94ff1d253262dc5581db3de1c": { + "balance": "0x30ca024f987b900000" }, - "6f137a71a6f197df2cbbf010dcbd3c444ef5c925": { - "balance": "2000000000000000000000" + "0x6f137a71a6f197df2cbbf010dcbd3c444ef5c925": { + "balance": "0x6c6b935b8bbd400000" }, - "11efb8a20451161b644a8ccebbc1d343a3bbcb52": { - "balance": "3200000000000000000000" + "0x11efb8a20451161b644a8ccebbc1d343a3bbcb52": { + "balance": "0xad78ebc5ac62000000" }, - "46504e6a215ac83bccf956befc82ab5a679371c8": { - "balance": "518898000000000000000" + "0x46504e6a215ac83bccf956befc82ab5a679371c8": { + "balance": "0x1c212805c2b4a50000" }, - "b523fff9749871b35388438837f7e6e0dea9cb6b": { - "balance": "2000000000000000000000" + "0xb523fff9749871b35388438837f7e6e0dea9cb6b": { + "balance": "0x6c6b935b8bbd400000" }, - "c5c6a4998a33feb764437a8be929a73ba34a0764": { - "balance": "50000000000000000000000" + "0xc5c6a4998a33feb764437a8be929a73ba34a0764": { + "balance": "0xa968163f0a57b400000" }, - "3cd7f7c7c2353780cde081eeec45822b25f2860c": { - "balance": "200000000000000000000" + "0x3cd7f7c7c2353780cde081eeec45822b25f2860c": { + "balance": "0xad78ebc5ac6200000" }, - "b3050beff9de33c80e1fa15225e28f2c413ae313": { - "balance": "700000000000000000000" + "0xb3050beff9de33c80e1fa15225e28f2c413ae313": { + "balance": "0x25f273933db5700000" }, - "59268171b833e0aa13c54b52ccc0422e4fa03aeb": { - "balance": "3000000000000000000000" + "0x59268171b833e0aa13c54b52ccc0422e4fa03aeb": { + "balance": "0xa2a15d09519be00000" }, - "7169724ee72271c534cad6420fb04ee644cb86fe": { - "balance": "410164000000000000000" + "0x7169724ee72271c534cad6420fb04ee644cb86fe": { + "balance": "0x163c2b40dba5520000" }, - "6e6d5bbbb9053b89d744a27316c2a7b8c09b547d": { - "balance": "909831000000000000000" + "0x6e6d5bbbb9053b89d744a27316c2a7b8c09b547d": { + "balance": "0x3152710a023e6d8000" }, - "3f3f46b75cabe37bfacc8760281f4341ca7f463d": { - "balance": "602709000000000000000" + "0x3f3f46b75cabe37bfacc8760281f4341ca7f463d": { + "balance": "0x20ac448235fae88000" }, - "7a33834e8583733e2d52aead589bd1affb1dd256": { - "balance": "1000000000000000000000" + "0x7a33834e8583733e2d52aead589bd1affb1dd256": { + "balance": "0x3635c9adc5dea00000" }, - "e94ded99dcb572b9bb1dcba32f6dee91e057984e": { - "balance": "394000000000000000000" + "0xe94ded99dcb572b9bb1dcba32f6dee91e057984e": { + "balance": "0x155bd9307f9fe80000" }, - "19336a236ded755872411f2e0491d83e3e00159e": { - "balance": "940000000000000000000" + "0x19336a236ded755872411f2e0491d83e3e00159e": { + "balance": "0x32f51edbaaa3300000" }, - "63ac545c991243fa18aec41d4f6f598e555015dc": { - "balance": "600000000000000000000" + "0x63ac545c991243fa18aec41d4f6f598e555015dc": { + "balance": "0x2086ac351052600000" }, - "cfee05c69d1f29e7714684c88de5a16098e91399": { - "balance": "1970000000000000000000" + "0xcfee05c69d1f29e7714684c88de5a16098e91399": { + "balance": "0x6acb3df27e1f880000" }, - "77be6b64d7c733a436adec5e14bf9ad7402b1b46": { - "balance": "1000000000000000000000" + "0x77be6b64d7c733a436adec5e14bf9ad7402b1b46": { + "balance": "0x3635c9adc5dea00000" }, - "233bdddd5da94852f4ade8d212885682d9076bc6": { - "balance": "4000000000000000000000" + "0x233bdddd5da94852f4ade8d212885682d9076bc6": { + "balance": "0xd8d726b7177a800000" }, - "952c57d2fb195107d4cd5ca300774119dfad2f78": { - "balance": "2000000000000000000000" + "0x952c57d2fb195107d4cd5ca300774119dfad2f78": { + "balance": "0x6c6b935b8bbd400000" }, - "e237baa4dbc9926e32a3d85d1264402d54db012f": { - "balance": "2000000000000000000000" + "0xe237baa4dbc9926e32a3d85d1264402d54db012f": { + "balance": "0x6c6b935b8bbd400000" }, - "aa91237e740d25a92f7fa146faa18ce56dc6e1f3": { - "balance": "925000000000000000000" + "0xaa91237e740d25a92f7fa146faa18ce56dc6e1f3": { + "balance": "0x3224f42723d4540000" }, - "2339e9492870afea2537f389ac2f838302a33c06": { - "balance": "2000000000000000000000" + "0x2339e9492870afea2537f389ac2f838302a33c06": { + "balance": "0x6c6b935b8bbd400000" }, - "1d45586eb803ca2190650bf748a2b174312bb507": { - "balance": "1400000000000000000000" + "0x1d45586eb803ca2190650bf748a2b174312bb507": { + "balance": "0x4be4e7267b6ae00000" }, - "c61446b754c24e3b1642d9e51765b4d3e46b34b6": { - "balance": "2000000000000000000000" + "0xc61446b754c24e3b1642d9e51765b4d3e46b34b6": { + "balance": "0x6c6b935b8bbd400000" }, - "ac28b5edea05b76f8c5f97084541277c96696a4c": { - "balance": "1000000000000000000000" + "0xac28b5edea05b76f8c5f97084541277c96696a4c": { + "balance": "0x3635c9adc5dea00000" }, - "1a1c9a26e0e02418a5cf687da75a275c622c9440": { - "balance": "5000000000000000000000" + "0x1a1c9a26e0e02418a5cf687da75a275c622c9440": { + "balance": "0x10f0cf064dd59200000" }, - "299368609042a858d1ecdf1fc0ada5eaceca29cf": { - "balance": "2000000000000000000000" + "0x299368609042a858d1ecdf1fc0ada5eaceca29cf": { + "balance": "0x6c6b935b8bbd400000" }, - "095f5a51d06f6340d80b6d29ea2e88118ad730fe": { - "balance": "2000200000000000000000" + "0x095f5a51d06f6340d80b6d29ea2e88118ad730fe": { + "balance": "0x6c6e59e67c78540000" }, - "751a2ca34e7187c163d28e3618db28b13c196d26": { - "balance": "500000000000000000000" + "0x751a2ca34e7187c163d28e3618db28b13c196d26": { + "balance": "0x1b1ae4d6e2ef500000" }, - "75b0e9c942a4f0f6f86d3f95ff998022fa67963b": { - "balance": "1490000000000000000000" + "0x75b0e9c942a4f0f6f86d3f95ff998022fa67963b": { + "balance": "0x50c5e761a444080000" }, - "d1b37f03cb107424e9c4dd575ccd4f4cee57e6cd": { - "balance": "2000000000000000000000" + "0xd1b37f03cb107424e9c4dd575ccd4f4cee57e6cd": { + "balance": "0x6c6b935b8bbd400000" }, - "7f993ddb7e02c282b898f6155f680ef5b9aff907": { - "balance": "20000000000000000000000" + "0x7f993ddb7e02c282b898f6155f680ef5b9aff907": { + "balance": "0x43c33c1937564800000" }, - "a3d583a7b65b23f60b7905f3e4aa62aac87f4227": { - "balance": "1046779000000000000000" + "0xa3d583a7b65b23f60b7905f3e4aa62aac87f4227": { + "balance": "0x38befa126d5a9f8000" }, - "526bb533b76e20c8ee1ebf123f1e9ff4148e40be": { - "balance": "197000000000000000000" + "0x526bb533b76e20c8ee1ebf123f1e9ff4148e40be": { + "balance": "0xaadec983fcff40000" }, - "2160b4c02cac0a81de9108de434590a8bfe68735": { - "balance": "1970000000000000000000" + "0x2160b4c02cac0a81de9108de434590a8bfe68735": { + "balance": "0x6acb3df27e1f880000" }, - "010007394b8b7565a1658af88ce463499135d6b7": { - "balance": "100000000000000000000" + "0x010007394b8b7565a1658af88ce463499135d6b7": { + "balance": "0x56bc75e2d63100000" }, - "64457fa33b0832506c4f7d1180dce48f46f3e0ff": { - "balance": "2000000000000000000000" + "0x64457fa33b0832506c4f7d1180dce48f46f3e0ff": { + "balance": "0x6c6b935b8bbd400000" }, - "b51e558eb5512fbcfa81f8d0bd938c79ebb5242b": { - "balance": "715000000000000000000" + "0xb51e558eb5512fbcfa81f8d0bd938c79ebb5242b": { + "balance": "0x26c29e47c4844c0000" }, - "94f13f9f0836a3ee2437a84922d2984dc0f7d53b": { - "balance": "2999916000000000000000" + "0x94f13f9f0836a3ee2437a84922d2984dc0f7d53b": { + "balance": "0xa2a0329bc38abe0000" }, - "6bd457ade051795df3f2465c3839aed3c5dee978": { - "balance": "999925000000000000000" + "0x6bd457ade051795df3f2465c3839aed3c5dee978": { + "balance": "0x3634bf39ab98788000" }, - "f3dbcf135acb9dee1a489c593c024f03c2bbaece": { - "balance": "2000000000000000000000" + "0xf3dbcf135acb9dee1a489c593c024f03c2bbaece": { + "balance": "0x6c6b935b8bbd400000" }, - "61b902c5a673885826820d1fe14549e4865fbdc2": { - "balance": "334703000000000000000" + "0x61b902c5a673885826820d1fe14549e4865fbdc2": { + "balance": "0x1224efed2ae1918000" }, - "2acc9c1a32240b4d5b2f777a2ea052b42fc1271c": { - "balance": "41764000000000000000000" + "0x2acc9c1a32240b4d5b2f777a2ea052b42fc1271c": { + "balance": "0x8d807ee14d836100000" }, - "6ddfef639155daab0a5cb4953aa8c5afaa880453": { - "balance": "1820000000000000000000" + "0x6ddfef639155daab0a5cb4953aa8c5afaa880453": { + "balance": "0x62a992e53a0af00000" }, - "96ff6f509968f36cb42cba48db32f21f5676abf8": { - "balance": "1970000000000000000000" + "0x96ff6f509968f36cb42cba48db32f21f5676abf8": { + "balance": "0x6acb3df27e1f880000" }, - "b4c8170f7b2ab536d1d9a25bdd203ae1288dc3d5": { - "balance": "200000000000000000000" + "0xb4c8170f7b2ab536d1d9a25bdd203ae1288dc3d5": { + "balance": "0xad78ebc5ac6200000" }, - "78d4f8c71c1e68a69a98f52fcb45da8af56ea1a0": { - "balance": "2000000000000000000000" + "0x78d4f8c71c1e68a69a98f52fcb45da8af56ea1a0": { + "balance": "0x6c6b935b8bbd400000" }, - "dec99e972fca7177508c8e1a47ac22d768acab7c": { - "balance": "2000000000000000000000" + "0xdec99e972fca7177508c8e1a47ac22d768acab7c": { + "balance": "0x6c6b935b8bbd400000" }, - "a07aa16d74aee8a9a3288d52db1551d593883297": { - "balance": "600000000000000000000" + "0xa07aa16d74aee8a9a3288d52db1551d593883297": { + "balance": "0x2086ac351052600000" }, - "cf1169041c1745e45b172435a2fc99b49ace2b00": { - "balance": "31960000000000000000" + "0xcf1169041c1745e45b172435a2fc99b49ace2b00": { + "balance": "0x1bb88baab2d7c0000" }, - "526cb09ce3ada3672eec1deb46205be89a4b563e": { - "balance": "2468000000000000000000" + "0x526cb09ce3ada3672eec1deb46205be89a4b563e": { + "balance": "0x85ca615bf9c0100000" }, - "ee6959de2b67967b71948c891ab00d8c8f38c7dc": { - "balance": "118200000000000000000" + "0xee6959de2b67967b71948c891ab00d8c8f38c7dc": { + "balance": "0x6685ac1bfe32c0000" }, - "ca7ba3ff536c7e5f0e153800bd383db8312998e0": { - "balance": "169600000000000000000" + "0xca7ba3ff536c7e5f0e153800bd383db8312998e0": { + "balance": "0x931ac3d6bb2400000" }, - "1ed06ee51662a86c634588fb62dc43c8f27e7c17": { - "balance": "200000000000000000000" + "0x1ed06ee51662a86c634588fb62dc43c8f27e7c17": { + "balance": "0xad78ebc5ac6200000" }, - "730447f97ce9b25f22ba1afb36df27f9586beb9b": { - "balance": "820000000000000000000" + "0x730447f97ce9b25f22ba1afb36df27f9586beb9b": { + "balance": "0x2c73c937742c500000" }, - "ae5c9bdad3c5c8a1220444aea5c229c1839f1d64": { - "balance": "477500000000000000000" + "0xae5c9bdad3c5c8a1220444aea5c229c1839f1d64": { + "balance": "0x19e2a4c818b9060000" }, - "a38306cb70baa8e49186bd68aa70a83d242f2907": { - "balance": "2000000000000000000000" + "0xa38306cb70baa8e49186bd68aa70a83d242f2907": { + "balance": "0x6c6b935b8bbd400000" }, - "71213fca313404204ecba87197741aa9dfe96338": { - "balance": "60000000000000000000" + "0x71213fca313404204ecba87197741aa9dfe96338": { + "balance": "0x340aad21b3b700000" }, - "10e390ad2ba33d82b37388d09c4544c6b0225de5": { - "balance": "200000000000000000000" + "0x10e390ad2ba33d82b37388d09c4544c6b0225de5": { + "balance": "0xad78ebc5ac6200000" }, - "3b6e814f770748a7c3997806347605480a3fd509": { - "balance": "2000000000000000000000" + "0x3b6e814f770748a7c3997806347605480a3fd509": { + "balance": "0x6c6b935b8bbd400000" }, - "fd452c3969ece3801c542020f1cdcaa1c71ed23d": { - "balance": "100000000000000000000000" + "0xfd452c3969ece3801c542020f1cdcaa1c71ed23d": { + "balance": "0x152d02c7e14af6800000" }, - "e742b1e6069a8ffc3c4767235defb0d49cbed222": { - "balance": "800000000000000000000" + "0xe742b1e6069a8ffc3c4767235defb0d49cbed222": { + "balance": "0x2b5e3af16b18800000" }, - "d7225738dcf3578438f8e7c8b3837e42e04a262f": { - "balance": "445860000000000000000" + "0xd7225738dcf3578438f8e7c8b3837e42e04a262f": { + "balance": "0x182b8cebbb83aa0000" }, - "cd0b0257e783a3d2c2e3ba9d6e79b75ef98024d4": { - "balance": "2945500000000000000000" + "0xcd0b0257e783a3d2c2e3ba9d6e79b75ef98024d4": { + "balance": "0x9fad06241279160000" }, - "e80e7fef18a5db15b01473f3ad6b78b2a2f8acd9": { - "balance": "500000000000000000000" + "0xe80e7fef18a5db15b01473f3ad6b78b2a2f8acd9": { + "balance": "0x1b1ae4d6e2ef500000" }, - "261575e9cf59c8226fa7aaf91de86fb70f5ac3ae": { - "balance": "300022000000000000000" + "0x261575e9cf59c8226fa7aaf91de86fb70f5ac3ae": { + "balance": "0x1043a4436a523f0000" }, - "7e71171f2949fa0c3ac254254b1f0440e5e6a038": { - "balance": "40000000000000000000" + "0x7e71171f2949fa0c3ac254254b1f0440e5e6a038": { + "balance": "0x22b1c8c1227a00000" }, - "96ea6ac89a2bac95347b51dba63d8bd5ebdedce1": { - "balance": "2000000000000000000000" + "0x96ea6ac89a2bac95347b51dba63d8bd5ebdedce1": { + "balance": "0x6c6b935b8bbd400000" }, - "e6ec5cf0c49b9c317e1e706315ef9eb7c0bf11a7": { - "balance": "17200000000000000000000" + "0xe6ec5cf0c49b9c317e1e706315ef9eb7c0bf11a7": { + "balance": "0x3a469f3467e8ec00000" }, - "2b99b42e4f42619ee36baa7e4af2d65eacfcba35": { - "balance": "40000000000000000000000" + "0x2b99b42e4f42619ee36baa7e4af2d65eacfcba35": { + "balance": "0x878678326eac9000000" }, - "c6e4cc0c7283fc1c85bc4813effaaf72b49823c0": { - "balance": "276926000000000000000" + "0xc6e4cc0c7283fc1c85bc4813effaaf72b49823c0": { + "balance": "0xf031ec9c87dd30000" }, - "dbc1ce0e49b1a705d22e2037aec878ee0d75c703": { - "balance": "250000000000000000000" + "0xdbc1ce0e49b1a705d22e2037aec878ee0d75c703": { + "balance": "0xd8d726b7177a80000" }, - "806f44bdeb688037015e84ff218049e382332a33": { - "balance": "1999000000000000000000" + "0x806f44bdeb688037015e84ff218049e382332a33": { + "balance": "0x6c5db2a4d815dc0000" }, - "1a3a330e4fcb69dbef5e6901783bf50fd1c15342": { - "balance": "4200000000000000000000" + "0x1a3a330e4fcb69dbef5e6901783bf50fd1c15342": { + "balance": "0xe3aeb5737240a00000" }, - "d2a84f75675c62d80c88756c428eee2bcb185421": { - "balance": "1200000000000000000000" + "0xd2a84f75675c62d80c88756c428eee2bcb185421": { + "balance": "0x410d586a20a4c00000" }, - "c593b546b7698710a205ad468b2c13152219a342": { - "balance": "1550000000000000000000" + "0xc593b546b7698710a205ad468b2c13152219a342": { + "balance": "0x54069233bf7f780000" }, - "3f627a769e6a950eb87017a7cd9ca20871136831": { - "balance": "13790000000000000000000" + "0x3f627a769e6a950eb87017a7cd9ca20871136831": { + "balance": "0x2eb8eb1a172dcb80000" }, - "f2d5763ce073127e2cedde6faba786c73ca94141": { - "balance": "7900000000000000000000" + "0xf2d5763ce073127e2cedde6faba786c73ca94141": { + "balance": "0x1ac4286100191f00000" }, - "162110f29eac5f7d02b543d8dcd5bb59a5e33b73": { - "balance": "2000000000000000000000" + "0x162110f29eac5f7d02b543d8dcd5bb59a5e33b73": { + "balance": "0x6c6b935b8bbd400000" }, - "59473cd300fffae240f5785626c65dfec792b9af": { - "balance": "20000000000000000000" + "0x59473cd300fffae240f5785626c65dfec792b9af": { + "balance": "0x1158e460913d00000" }, - "4dcd11815818ae29b85d01367349a8a7fb12d06b": { - "balance": "7900000000000000000000" + "0x4dcd11815818ae29b85d01367349a8a7fb12d06b": { + "balance": "0x1ac4286100191f00000" }, - "9329ffdc268babde8874b366406c81445b9b2d35": { - "balance": "422415000000000000000" + "0x9329ffdc268babde8874b366406c81445b9b2d35": { + "balance": "0x16e62f8c730ca18000" }, - "0ab4281ebb318590abb89a81df07fa3af904258a": { - "balance": "500000000000000000000" + "0x0ab4281ebb318590abb89a81df07fa3af904258a": { + "balance": "0x1b1ae4d6e2ef500000" }, - "875061ee12e820041a01942cb0e65bb427b00060": { - "balance": "2800000000000000000000" + "0x875061ee12e820041a01942cb0e65bb427b00060": { + "balance": "0x97c9ce4cf6d5c00000" }, - "c9b698e898d20d4d4f408e4e4d061922aa856307": { - "balance": "40000000000000000000" + "0xc9b698e898d20d4d4f408e4e4d061922aa856307": { + "balance": "0x22b1c8c1227a00000" }, - "ca49a5f58adbefae23ee59eea241cf0482622eaa": { - "balance": "1430000000000000000000" + "0xca49a5f58adbefae23ee59eea241cf0482622eaa": { + "balance": "0x4d853c8f8908980000" }, - "196e85df7e732b4a8f0ed03623f4db9db0b8fa31": { - "balance": "21165000000000000000" + "0x196e85df7e732b4a8f0ed03623f4db9db0b8fa31": { + "balance": "0x125b92f5cef248000" }, - "4c760cd9e195ee4f2d6bce2500ff96da7c43ee91": { - "balance": "60000000000000000000000" + "0x4c760cd9e195ee4f2d6bce2500ff96da7c43ee91": { + "balance": "0xcb49b44ba602d800000" }, - "024a098ae702bef5406c9c22b78bd4eb2cc7a293": { - "balance": "4000000000000000000000" + "0x024a098ae702bef5406c9c22b78bd4eb2cc7a293": { + "balance": "0xd8d726b7177a800000" }, - "9d81aea69aed6ad07089d61445348c17f34bfc5b": { - "balance": "300000000000000000000" + "0x9d81aea69aed6ad07089d61445348c17f34bfc5b": { + "balance": "0x1043561a8829300000" }, - "76ab87dd5a05ad839a4e2fc8c85aa6ba05641730": { - "balance": "2000000000000000000000" + "0x76ab87dd5a05ad839a4e2fc8c85aa6ba05641730": { + "balance": "0x6c6b935b8bbd400000" }, - "c6e2f5af979a03fd723a1b6efa728318cf9c1800": { - "balance": "668500000000000000000" + "0xc6e2f5af979a03fd723a1b6efa728318cf9c1800": { + "balance": "0x243d4d18229ca20000" }, - "5db69fe93e6fb6fbd450966b97238b110ad8279a": { - "balance": "40000000000000000000000" + "0x5db69fe93e6fb6fbd450966b97238b110ad8279a": { + "balance": "0x878678326eac9000000" }, - "a4259f8345f7e3a8b72b0fec2cf75e321fda4dc2": { - "balance": "1910000000000000000000" + "0xa4259f8345f7e3a8b72b0fec2cf75e321fda4dc2": { + "balance": "0x678a932062e4180000" }, - "095030e4b82692dcf8b8d0912494b9b378ec9328": { - "balance": "1340000000000000000000" + "0x095030e4b82692dcf8b8d0912494b9b378ec9328": { + "balance": "0x48a43c54602f700000" }, - "4b470f7ba030bc7cfcf338d4bf0432a91e2ea5ff": { - "balance": "2000000000000000000000" + "0x4b470f7ba030bc7cfcf338d4bf0432a91e2ea5ff": { + "balance": "0x6c6b935b8bbd400000" }, - "99c9f93e45fe3c1418c353e4c5ac3894eef8121e": { - "balance": "101870000000000000000" + "0x99c9f93e45fe3c1418c353e4c5ac3894eef8121e": { + "balance": "0x585baf145050b0000" }, - "ffac3db879a6c7158e8dec603b407463ba0d31cf": { - "balance": "1970000000000000000000" + "0xffac3db879a6c7158e8dec603b407463ba0d31cf": { + "balance": "0x6acb3df27e1f880000" }, - "ac8e87ddda5e78fcbcb9fa7fc3ce038f9f7d2e34": { - "balance": "2000000000000000000000" + "0xac8e87ddda5e78fcbcb9fa7fc3ce038f9f7d2e34": { + "balance": "0x6c6b935b8bbd400000" }, - "7a0589b143a8e5e107c9ac66a9f9f8597ab3e7ab": { - "balance": "1510990000000000000000" + "0x7a0589b143a8e5e107c9ac66a9f9f8597ab3e7ab": { + "balance": "0x51e932d76e8f7b0000" }, - "b7d581fe0af1ec383f3b3c416783f385146a7612": { - "balance": "20000000000000000000000" + "0xb7d581fe0af1ec383f3b3c416783f385146a7612": { + "balance": "0x43c33c1937564800000" }, - "bb3fc0a29c034d710812dcc775c8cab9d28d6975": { - "balance": "1066806000000000000000" + "0xbb3fc0a29c034d710812dcc775c8cab9d28d6975": { + "balance": "0x39d4e844d1cf5f0000" }, - "2c603ff0fe93616c43573ef279bfea40888d6ae7": { - "balance": "4740000000000000000000" + "0x2c603ff0fe93616c43573ef279bfea40888d6ae7": { + "balance": "0x100f4b6d66757900000" }, - "15f2b7b16432ee50a5f55b41232f6334ed58bdc0": { - "balance": "400000000000000000000" + "0x15f2b7b16432ee50a5f55b41232f6334ed58bdc0": { + "balance": "0x15af1d78b58c400000" }, - "7f3d7203c8a447f7bf36d88ae9b6062a5eee78ae": { - "balance": "6000000000000000000000" + "0x7f3d7203c8a447f7bf36d88ae9b6062a5eee78ae": { + "balance": "0x14542ba12a337c00000" }, - "f067e1f1d683556a4cc4fd0c0313239f32c4cfd8": { - "balance": "1000000000000000000000" + "0xf067e1f1d683556a4cc4fd0c0313239f32c4cfd8": { + "balance": "0x3635c9adc5dea00000" }, - "52738c90d860e04cb12f498d96fdb5bf36fc340e": { - "balance": "30000000000000000000" + "0x52738c90d860e04cb12f498d96fdb5bf36fc340e": { + "balance": "0x1a055690d9db80000" }, - "45781bbe7714a1c8f73b1c747921df4f84278b70": { - "balance": "2000000000000000000000" + "0x45781bbe7714a1c8f73b1c747921df4f84278b70": { + "balance": "0x6c6b935b8bbd400000" }, - "4a97e8fcf4635ea7fc5e96ee51752ec388716b60": { - "balance": "546000000000000000000" + "0x4a97e8fcf4635ea7fc5e96ee51752ec388716b60": { + "balance": "0x1d9945ab2b03480000" }, - "54939ff08921b467cf2946751d856378296c63ed": { - "balance": "1000000000000000000000" + "0x54939ff08921b467cf2946751d856378296c63ed": { + "balance": "0x3635c9adc5dea00000" }, - "6485470e61db110aebdbafd536769e3c599cc908": { - "balance": "600000000000000000000" + "0x6485470e61db110aebdbafd536769e3c599cc908": { + "balance": "0x2086ac351052600000" }, - "e20d1bcb71286dc7128a9fc7c6ed7f733892eef5": { - "balance": "1003400000000000000000" + "0xe20d1bcb71286dc7128a9fc7c6ed7f733892eef5": { + "balance": "0x3664f8e7c24af40000" }, - "d6eea898d4ae2b718027a19ce9a5eb7300abe3ca": { - "balance": "27475000000000000000" + "0xd6eea898d4ae2b718027a19ce9a5eb7300abe3ca": { + "balance": "0x17d4aceee63db8000" }, - "014974a1f46bf204944a853111e52f1602617def": { - "balance": "2000000000000000000000" + "0x014974a1f46bf204944a853111e52f1602617def": { + "balance": "0x6c6b935b8bbd400000" }, - "6aa5732f3b86fb8c81efbe6b5b47b563730b06c8": { - "balance": "1000000000000000000000" + "0x6aa5732f3b86fb8c81efbe6b5b47b563730b06c8": { + "balance": "0x3635c9adc5dea00000" }, - "6107d71dd6d0eefb11d4c916404cb98c753e117d": { - "balance": "2000000000000000000000" + "0x6107d71dd6d0eefb11d4c916404cb98c753e117d": { + "balance": "0x6c6b935b8bbd400000" }, - "dd7bcda65924aaa49b80984ae173750258b92847": { - "balance": "10000000000000000000000" + "0xdd7bcda65924aaa49b80984ae173750258b92847": { + "balance": "0x21e19e0c9bab2400000" }, - "4e7b54474d01fefd388dfcd53b9f662624418a05": { - "balance": "8000000000000000000000" + "0x4e7b54474d01fefd388dfcd53b9f662624418a05": { + "balance": "0x1b1ae4d6e2ef5000000" }, - "24fc73d20793098e09ddab5798506224fa1e1850": { - "balance": "200000000000000000000" + "0x24fc73d20793098e09ddab5798506224fa1e1850": { + "balance": "0xad78ebc5ac6200000" }, - "2b8488bd2d3c197a3d26151815b5a798d27168dc": { - "balance": "6680000000000000000000" + "0x2b8488bd2d3c197a3d26151815b5a798d27168dc": { + "balance": "0x16a1f9f5fd7d9600000" }, - "949131f28943925cfc97d41e0cea0b262973a730": { - "balance": "2800000000000000000000" + "0x949131f28943925cfc97d41e0cea0b262973a730": { + "balance": "0x97c9ce4cf6d5c00000" }, - "60b8d6b73b79534fb08bb8cbcefac7f393c57bfe": { - "balance": "1760000000000000000000" + "0x60b8d6b73b79534fb08bb8cbcefac7f393c57bfe": { + "balance": "0x5f68e8131ecf800000" }, - "d6acc220ba2e51dfcf21d443361eea765cbd35d8": { - "balance": "20000000000000000000" + "0xd6acc220ba2e51dfcf21d443361eea765cbd35d8": { + "balance": "0x1158e460913d00000" }, - "c4c6cb723dd7afa7eb535615e53f3cef14f18118": { - "balance": "1999999000000000000000" + "0xc4c6cb723dd7afa7eb535615e53f3cef14f18118": { + "balance": "0x6c6b8fce0d18798000" }, - "4c9a862ad115d6c8274ed0b944bdd6a5500510a7": { - "balance": "100000000000000000000" + "0x4c9a862ad115d6c8274ed0b944bdd6a5500510a7": { + "balance": "0x56bc75e2d63100000" }, - "85732c065cbd64119941aed430ac59670b6c51c4": { - "balance": "731345000000000000000" + "0x85732c065cbd64119941aed430ac59670b6c51c4": { + "balance": "0x27a57362ab0a0e8000" }, - "0126e12ebc17035f35c0e9d11dd148393c405d7a": { - "balance": "1999600000000000000000" + "0x0126e12ebc17035f35c0e9d11dd148393c405d7a": { + "balance": "0x6c660645aa47180000" }, - "472048cc609aeb242165eaaa8705850cf3125de0": { - "balance": "1000000000000000000000" + "0x472048cc609aeb242165eaaa8705850cf3125de0": { + "balance": "0x3635c9adc5dea00000" }, - "d2edd1ddd6d86dc005baeb541d22b640d5c7cae5": { - "balance": "20000000000000000000" + "0xd2edd1ddd6d86dc005baeb541d22b640d5c7cae5": { + "balance": "0x1158e460913d00000" }, - "4549b15979255f7e65e99b0d5604db98dfcac8bf": { - "balance": "4000000000000000000000" + "0x4549b15979255f7e65e99b0d5604db98dfcac8bf": { + "balance": "0xd8d726b7177a800000" }, - "c6c7c191379897dd9c9d9a33839c4a5f62c0890d": { - "balance": "4000085000000000000000" + "0xc6c7c191379897dd9c9d9a33839c4a5f62c0890d": { + "balance": "0xd8d854b22430688000" }, - "d367009ab658263b62c2333a1c9e4140498e1389": { - "balance": "2000000000000000000000" + "0xd367009ab658263b62c2333a1c9e4140498e1389": { + "balance": "0x6c6b935b8bbd400000" }, - "143f5f1658d9e578f4f3d95f80c0b1bd3933cbda": { - "balance": "1490000000000000000000" + "0x143f5f1658d9e578f4f3d95f80c0b1bd3933cbda": { + "balance": "0x50c5e761a444080000" }, - "1a09fdc2c7a20e23574b97c69e93deba67d37220": { - "balance": "1998000000000000000000" + "0x1a09fdc2c7a20e23574b97c69e93deba67d37220": { + "balance": "0x6c4fd1ee246e780000" }, - "ac8b509aefea1dbfaf2bb33500d6570b6fd96d51": { - "balance": "1820000000000000000000" + "0xac8b509aefea1dbfaf2bb33500d6570b6fd96d51": { + "balance": "0x62a992e53a0af00000" }, - "16ffac84032940f0121a09668b858a7e79ffa3bb": { - "balance": "3879210000000000000000" + "0x16ffac84032940f0121a09668b858a7e79ffa3bb": { + "balance": "0xd24ada6e1087110000" }, - "f338459f32a159b23db30ac335769ab2351aa63c": { - "balance": "30000000000000000000000" + "0xf338459f32a159b23db30ac335769ab2351aa63c": { + "balance": "0x65a4da25d3016c00000" }, - "d82251456dc1380f8f5692f962828640ab9f2a03": { - "balance": "4879980000000000000000" + "0xd82251456dc1380f8f5692f962828640ab9f2a03": { + "balance": "0x1088b53b2c202be0000" }, - "47f4696bd462b20da09fb83ed2039818d77625b3": { - "balance": "149000000000000000000" + "0x47f4696bd462b20da09fb83ed2039818d77625b3": { + "balance": "0x813ca56906d340000" }, - "3dde8b15b3ccbaa5780112c3d674f313bba68026": { - "balance": "1773000000000000000000" + "0x3dde8b15b3ccbaa5780112c3d674f313bba68026": { + "balance": "0x601d515a3e4f940000" }, - "f70d637a845c06db6cdc91e6371ce7c4388a628e": { - "balance": "20000000000000000000" + "0xf70d637a845c06db6cdc91e6371ce7c4388a628e": { + "balance": "0x1158e460913d00000" }, - "68295e8ea5afd9093fc0a465d157922b5d2ae234": { - "balance": "19982000000000000000" + "0x68295e8ea5afd9093fc0a465d157922b5d2ae234": { + "balance": "0x1154e53217ddb0000" }, - "614e8bef3dd2c59b59a4145674401018351884ea": { - "balance": "20000000000000000000" + "0x614e8bef3dd2c59b59a4145674401018351884ea": { + "balance": "0x1158e460913d00000" }, - "4737d042dc6ae73ec73ae2517acea2fdd96487c5": { - "balance": "1000000000000000000000" + "0x4737d042dc6ae73ec73ae2517acea2fdd96487c5": { + "balance": "0x3635c9adc5dea00000" }, - "cec6fc65853f9cce5f8e844676362e1579015f02": { - "balance": "2000000000000000000000" + "0xcec6fc65853f9cce5f8e844676362e1579015f02": { + "balance": "0x6c6b935b8bbd400000" }, - "ae47e2609cfafe369d66d415d939de05081a9872": { - "balance": "27060000000000000000000" + "0xae47e2609cfafe369d66d415d939de05081a9872": { + "balance": "0x5baecf025f9b6500000" }, - "09a928d528ec1b3e25ffc83e218c1e0afe8928c7": { - "balance": "18200000000000000000" + "0x09a928d528ec1b3e25ffc83e218c1e0afe8928c7": { + "balance": "0xfc936392801c0000" }, - "9b444fd337e5d75293adcfff70e1ea01db023222": { - "balance": "100000000000000000000" + "0x9b444fd337e5d75293adcfff70e1ea01db023222": { + "balance": "0x56bc75e2d63100000" }, - "168bdec818eafc6d2992e5ef54aa0e1601e3c561": { - "balance": "1000110000000000000000" + "0x168bdec818eafc6d2992e5ef54aa0e1601e3c561": { + "balance": "0x3637507a30abeb0000" }, - "353dbec42f92b50f975129b93c4c997375f09073": { - "balance": "1999000000000000000000" + "0x353dbec42f92b50f975129b93c4c997375f09073": { + "balance": "0x6c5db2a4d815dc0000" }, - "6fcc2c732bdd934af6ccd16846fb26ef89b2aa9b": { - "balance": "10001242000000000000000" + "0x6fcc2c732bdd934af6ccd16846fb26ef89b2aa9b": { + "balance": "0x21e2b1d42261d490000" }, - "6f2576da4de283bbe8e3ee69ddd66e5e711db3f5": { - "balance": "1260800000000000000000" + "0x6f2576da4de283bbe8e3ee69ddd66e5e711db3f5": { + "balance": "0x44591d67fecc800000" }, - "3a3dd104cd7eb04f21932fd433ea7affd39369f5": { - "balance": "357500000000000000000" + "0x3a3dd104cd7eb04f21932fd433ea7affd39369f5": { + "balance": "0x13614f23e242260000" }, - "d44f4ac5fad76bdc1537a3b3af6472319b410d9d": { - "balance": "1600000000000000000000" + "0xd44f4ac5fad76bdc1537a3b3af6472319b410d9d": { + "balance": "0x56bc75e2d631000000" }, - "3d9d6be57ff83e065985664f12564483f2e600b2": { - "balance": "2041600000000000000000" + "0x3d9d6be57ff83e065985664f12564483f2e600b2": { + "balance": "0x6eace43f23bd800000" }, - "88f1045f19f2d3191816b1df18bb6e1435ad1b38": { - "balance": "240000000000000000000" + "0x88f1045f19f2d3191816b1df18bb6e1435ad1b38": { + "balance": "0xd02ab486cedc00000" }, - "ddab75fb2ff9fecb88f89476688e2b00e367ebf9": { - "balance": "19400000000000000000000" + "0xddab75fb2ff9fecb88f89476688e2b00e367ebf9": { + "balance": "0x41bad155e6512200000" }, - "092e815558402d67f90d6bfe6da0b2fffa91455a": { - "balance": "60000000000000000000" + "0x092e815558402d67f90d6bfe6da0b2fffa91455a": { + "balance": "0x340aad21b3b700000" }, - "a7024cfd742c1ec13c01fea18d3042e65f1d5dee": { - "balance": "11272229000000000000000" + "0xa7024cfd742c1ec13c01fea18d3042e65f1d5dee": { + "balance": "0x263119a28abd0b08000" }, - "7f46bb25460dd7dae4211ca7f15ad312fc7dc75c": { - "balance": "6685000000000000000000" + "0x7f46bb25460dd7dae4211ca7f15ad312fc7dc75c": { + "balance": "0x16a6502f15a1e540000" }, - "93f18cd2526040761488c513174d1e7963768b2c": { - "balance": "2416500000000000000000" + "0x93f18cd2526040761488c513174d1e7963768b2c": { + "balance": "0x82ffac9ad593720000" }, - "352f25babf4a690673e35195efa8f79d05848aad": { - "balance": "66800000000000000000000" + "0x352f25babf4a690673e35195efa8f79d05848aad": { + "balance": "0xe253c39be6e7dc00000" }, - "f7b151cc5e571c17c76539dbe9964cbb6fe5de79": { - "balance": "2148000000000000000000" + "0xf7b151cc5e571c17c76539dbe9964cbb6fe5de79": { + "balance": "0x74717cfb6883100000" }, - "ff3eee57c34d6dae970d8b311117c53586cd3502": { - "balance": "1700000000000000000000" + "0xff3eee57c34d6dae970d8b311117c53586cd3502": { + "balance": "0x5c283d410394100000" }, - "ae6f0c73fdd77c489727512174d9b50296611c4c": { - "balance": "6000000000000000000000" + "0xae6f0c73fdd77c489727512174d9b50296611c4c": { + "balance": "0x14542ba12a337c00000" }, - "7819b0458e314e2b53bfe00c38495fd4b9fdf8d6": { - "balance": "20000000000000000000" + "0x7819b0458e314e2b53bfe00c38495fd4b9fdf8d6": { + "balance": "0x1158e460913d00000" }, - "7fdba031c78f9c096d62d05a369eeab0bccc55e5": { - "balance": "2800000000000000000000" + "0x7fdba031c78f9c096d62d05a369eeab0bccc55e5": { + "balance": "0x97c9ce4cf6d5c00000" }, - "735e328666ed5637142b3306b77ccc5460e72c3d": { - "balance": "1968682000000000000000" + "0x735e328666ed5637142b3306b77ccc5460e72c3d": { + "balance": "0x6ab8f37879c9910000" }, - "0bfbb6925dc75e52cf2684224bbe0550fea685d3": { - "balance": "1970000000000000000000" + "0x0bfbb6925dc75e52cf2684224bbe0550fea685d3": { + "balance": "0x6acb3df27e1f880000" }, - "6be16313643ebc91ff9bb1a2e116b854ea933a45": { - "balance": "500000000000000000000" + "0x6be16313643ebc91ff9bb1a2e116b854ea933a45": { + "balance": "0x1b1ae4d6e2ef500000" }, - "d6acffd0bfd99c382e7bd56ff0e6144a9e52b08e": { - "balance": "160000000000000000000" + "0xd6acffd0bfd99c382e7bd56ff0e6144a9e52b08e": { + "balance": "0x8ac7230489e800000" }, - "276a006e3028ecd44cdb62ba0a77ce94ebd9f10f": { - "balance": "1800000000000000000000" + "0x276a006e3028ecd44cdb62ba0a77ce94ebd9f10f": { + "balance": "0x6194049f30f7200000" }, - "10711c3dda32317885f0a2fd8ae92e82069b0d0b": { - "balance": "4000000000000000000000" + "0x10711c3dda32317885f0a2fd8ae92e82069b0d0b": { + "balance": "0xd8d726b7177a800000" }, - "43cb9652818c6f4d6796b0e89409306c79db6349": { - "balance": "2000000000000000000000" + "0x43cb9652818c6f4d6796b0e89409306c79db6349": { + "balance": "0x6c6b935b8bbd400000" }, - "7109dd011d15f3122d9d3a27588c10d77744508b": { - "balance": "2000000000000000000000" + "0x7109dd011d15f3122d9d3a27588c10d77744508b": { + "balance": "0x6c6b935b8bbd400000" }, - "3497dd66fd118071a78c2cb36e40b6651cc82598": { - "balance": "109600000000000000000" + "0x3497dd66fd118071a78c2cb36e40b6651cc82598": { + "balance": "0x5f1016b5076d00000" }, - "9bf672d979b36652fc5282547a6a6bc212ae4368": { - "balance": "656000000000000000000" + "0x9bf672d979b36652fc5282547a6a6bc212ae4368": { + "balance": "0x238fd42c5cf0400000" }, - "eaed16eaf5daab5bf0295e5e077f59fb8255900b": { - "balance": "4000000000000000000000" + "0xeaed16eaf5daab5bf0295e5e077f59fb8255900b": { + "balance": "0xd8d726b7177a800000" }, - "7ac58f6ffc4f8107ae6e30378e4e9f99c57fbb24": { - "balance": "40000000000000000000" + "0x7ac58f6ffc4f8107ae6e30378e4e9f99c57fbb24": { + "balance": "0x22b1c8c1227a00000" }, - "45a570dcc2090c86a6b3ea29a60863dde41f13b5": { - "balance": "232500000000000000000" + "0x45a570dcc2090c86a6b3ea29a60863dde41f13b5": { + "balance": "0xc9a95ee2986520000" }, - "433a3b68e56b0df1862b90586bbd39c840ff1936": { - "balance": "2000000000000000000000" + "0x433a3b68e56b0df1862b90586bbd39c840ff1936": { + "balance": "0x6c6b935b8bbd400000" }, - "e8eaf12944092dc3599b3953fa7cb1c9761cc246": { - "balance": "1800000000000000000000" + "0xe8eaf12944092dc3599b3953fa7cb1c9761cc246": { + "balance": "0x6194049f30f7200000" }, - "ec11362cec810985d0ebbd7b73451444985b369f": { - "balance": "30000047000000000000000" + "0xec11362cec810985d0ebbd7b73451444985b369f": { + "balance": "0x65a4e49577057318000" }, - "78e83f80b3678c7a0a4e3e8c84dccde064426277": { - "balance": "1790000000000000000000" + "0x78e83f80b3678c7a0a4e3e8c84dccde064426277": { + "balance": "0x61093d7c2c6d380000" }, - "0cc67f8273e1bae0867fd42e8b8193d72679dbf8": { - "balance": "500000000000000000000" + "0x0cc67f8273e1bae0867fd42e8b8193d72679dbf8": { + "balance": "0x1b1ae4d6e2ef500000" }, - "c70d856d621ec145303c0a6400cd17bbd6f5eaf7": { - "balance": "20000000000000000000" + "0xc70d856d621ec145303c0a6400cd17bbd6f5eaf7": { + "balance": "0x1158e460913d00000" }, - "f468906e7edf664ab0d8be3d83eb7ab3f7ffdc78": { - "balance": "1700000000000000000000" + "0xf468906e7edf664ab0d8be3d83eb7ab3f7ffdc78": { + "balance": "0x5c283d410394100000" }, - "3c286cfb30146e5fd790c2c8541552578de334d8": { - "balance": "10203000000000000000000" + "0x3c286cfb30146e5fd790c2c8541552578de334d8": { + "balance": "0x2291b11aa306e8c0000" }, - "c401c427cccff10decb864202f36f5808322a0a8": { - "balance": "3329300000000000000000" + "0xc401c427cccff10decb864202f36f5808322a0a8": { + "balance": "0xb47b51a69cd4020000" }, - "afd019ff36a09155346b69974815a1c912c90aa4": { - "balance": "2000000000000000000000" + "0xafd019ff36a09155346b69974815a1c912c90aa4": { + "balance": "0x6c6b935b8bbd400000" }, - "96fe59c3dbb3aa7cc8cb62480c65e56e6204a7e2": { - "balance": "20000000000000000000000" + "0x96fe59c3dbb3aa7cc8cb62480c65e56e6204a7e2": { + "balance": "0x43c33c1937564800000" }, - "a47779d8bc1c7bce0f011ccb39ef68b854f8de8f": { - "balance": "2000000000000000000000" + "0xa47779d8bc1c7bce0f011ccb39ef68b854f8de8f": { + "balance": "0x6c6b935b8bbd400000" }, - "58c650ced40bb65641b8e8a924a039def46854df": { - "balance": "18500000000000000000" + "0x58c650ced40bb65641b8e8a924a039def46854df": { + "balance": "0x100bd33fb98ba0000" }, - "86f4f40ad984fbb80933ae626e0e42f9333fdd41": { - "balance": "1000000000000000000000" + "0x86f4f40ad984fbb80933ae626e0e42f9333fdd41": { + "balance": "0x3635c9adc5dea00000" }, - "b22d5055d9623135961e6abd273c90deea16a3e7": { - "balance": "1400000000000000000000" + "0xb22d5055d9623135961e6abd273c90deea16a3e7": { + "balance": "0x4be4e7267b6ae00000" }, - "ee3564f5f1ba0f94ec7bac164bddbf31c6888b55": { - "balance": "100000000000000000000" + "0xee3564f5f1ba0f94ec7bac164bddbf31c6888b55": { + "balance": "0x56bc75e2d63100000" }, - "cf26b47bd034bc508e6c4bcfd6c7d30034925761": { - "balance": "1800000000000000000000" + "0xcf26b47bd034bc508e6c4bcfd6c7d30034925761": { + "balance": "0x6194049f30f7200000" }, - "e87dbac636a37721df54b08a32ef4959b5e4ff82": { - "balance": "2000000000000000000000" + "0xe87dbac636a37721df54b08a32ef4959b5e4ff82": { + "balance": "0x6c6b935b8bbd400000" }, - "3bf86ed8a3153ec933786a02ac090301855e576b": { - "balance": "450000000000000000000000" + "0x3bf86ed8a3153ec933786a02ac090301855e576b": { + "balance": "0x5f4a8c8375d155400000" }, - "cfd2728dfb8bdbf3bf73598a6e13eaf43052ea2b": { - "balance": "170000000000000000000" + "0xcfd2728dfb8bdbf3bf73598a6e13eaf43052ea2b": { + "balance": "0x93739534d28680000" }, - "85b16f0b8b34dff3804f69e2168a4f7b24d1042b": { - "balance": "317000000000000000000" + "0x85b16f0b8b34dff3804f69e2168a4f7b24d1042b": { + "balance": "0x112f423c7646d40000" }, - "84db1459bb00812ea67ecb3dc189b72187d9c501": { - "balance": "148851000000000000000" + "0x84db1459bb00812ea67ecb3dc189b72187d9c501": { + "balance": "0x811b8fbda85ab8000" }, - "8c3a9ee71f729f236cba3867b4d79d8ceee25dbc": { - "balance": "100000000000000000000" + "0x8c3a9ee71f729f236cba3867b4d79d8ceee25dbc": { + "balance": "0x56bc75e2d63100000" }, - "e677c31fd9cb720075dca49f1abccd59ec33f734": { - "balance": "7800000000000000000000" + "0xe677c31fd9cb720075dca49f1abccd59ec33f734": { + "balance": "0x1a6d6beb1d42ee00000" }, - "8889448316ccf14ed86df8e2f478dc63c4338340": { - "balance": "15200000000000000000" + "0x8889448316ccf14ed86df8e2f478dc63c4338340": { + "balance": "0xd2f13f7789f00000" }, - "b279c7d355c2880392aad1aa21ee867c3b3507df": { - "balance": "1261000000000000000000" + "0xb279c7d355c2880392aad1aa21ee867c3b3507df": { + "balance": "0x445be3f2ef87940000" }, - "12b5e28945bb2969f9c64c63cc05b6f1f8d6f4d5": { - "balance": "7722162000000000000000" + "0x12b5e28945bb2969f9c64c63cc05b6f1f8d6f4d5": { + "balance": "0x1a29e86913b74050000" }, - "8d2303341e1e1eb5e8189bde03f73a60a2a54861": { - "balance": "100000000000000000000" + "0x8d2303341e1e1eb5e8189bde03f73a60a2a54861": { + "balance": "0x56bc75e2d63100000" }, - "94d81074db5ae197d2bb1373ab80a87d121c4bd3": { - "balance": "9400000000000000000000" + "0x94d81074db5ae197d2bb1373ab80a87d121c4bd3": { + "balance": "0x1fd933494aa5fe00000" }, - "752c9febf42f66c4787bfa7eb17cf5333bba5070": { - "balance": "1966448000000000000000" + "0x752c9febf42f66c4787bfa7eb17cf5333bba5070": { + "balance": "0x6a99f2b54fdd580000" }, - "16816aac0ede0d2d3cd442da79e063880f0f1d67": { - "balance": "2000000000000000000000" + "0x16816aac0ede0d2d3cd442da79e063880f0f1d67": { + "balance": "0x6c6b935b8bbd400000" }, - "daac91c1e859d5e57ed3084b50200f9766e2c52b": { - "balance": "400000000000000000000" + "0xdaac91c1e859d5e57ed3084b50200f9766e2c52b": { + "balance": "0x15af1d78b58c400000" }, - "32c2fde2b6aabb80e5aea2b949a217f3cb092283": { - "balance": "5614827000000000000000" + "0x32c2fde2b6aabb80e5aea2b949a217f3cb092283": { + "balance": "0x1306160afdf20378000" }, - "cdab46a5902080646fbf954204204ae88404822b": { - "balance": "544942000000000000000" + "0xcdab46a5902080646fbf954204204ae88404822b": { + "balance": "0x1d8a96e5c606eb0000" }, - "fdf42343019b0b0c6bf260b173afab7e45b9d621": { - "balance": "1999944000000000000000" + "0xfdf42343019b0b0c6bf260b173afab7e45b9d621": { + "balance": "0x6c6acc67d7b1d40000" }, - "791f6040b4e3e50dcf3553f182cd97a90630b75d": { - "balance": "4000000000000000000000" + "0x791f6040b4e3e50dcf3553f182cd97a90630b75d": { + "balance": "0xd8d726b7177a800000" }, - "4b762166dd1118e84369f804c75f9cd657bf730c": { - "balance": "500000000000000000000" + "0x4b762166dd1118e84369f804c75f9cd657bf730c": { + "balance": "0x1b1ae4d6e2ef500000" }, - "a76d3f156251b72c0ccf4b47a3393cbd6f49a9c5": { - "balance": "1337000000000000000000" + "0xa76d3f156251b72c0ccf4b47a3393cbd6f49a9c5": { + "balance": "0x487a9a304539440000" }, - "c5eb42295e9cadeaf2af12dede8a8d53c579c469": { - "balance": "3820000000000000000000" + "0xc5eb42295e9cadeaf2af12dede8a8d53c579c469": { + "balance": "0xcf152640c5c8300000" }, - "db9371b30c4c844e59e03e924be606a938d1d310": { - "balance": "2000000000000000000000" + "0xdb9371b30c4c844e59e03e924be606a938d1d310": { + "balance": "0x6c6b935b8bbd400000" }, - "2cd39334ac7eac797257abe3736195f5b4b5ce0f": { - "balance": "99964000000000000000" + "0x2cd39334ac7eac797257abe3736195f5b4b5ce0f": { + "balance": "0x56b47785e37260000" }, - "ad44357e017e244f476931c7b8189efee80a5d0a": { - "balance": "300000000000000000000" + "0xad44357e017e244f476931c7b8189efee80a5d0a": { + "balance": "0x1043561a8829300000" }, - "4ca7b717d9bc8793b04e051a8d23e1640f5ba5e3": { - "balance": "1248980000000000000000" + "0x4ca7b717d9bc8793b04e051a8d23e1640f5ba5e3": { + "balance": "0x43b514549ecf620000" }, - "73e4a2b60cf48e8baf2b777e175a5b1e4d0c2d8f": { - "balance": "100000000000000000000" + "0x73e4a2b60cf48e8baf2b777e175a5b1e4d0c2d8f": { + "balance": "0x56bc75e2d63100000" }, - "5a1d2d2d1d520304b6208849570437eb3091bb9f": { - "balance": "1970000000000000000000" + "0x5a1d2d2d1d520304b6208849570437eb3091bb9f": { + "balance": "0x6acb3df27e1f880000" }, - "53047dc8ac9083d90672e8b3473c100ccd278323": { - "balance": "40000000000000000000" + "0x53047dc8ac9083d90672e8b3473c100ccd278323": { + "balance": "0x22b1c8c1227a00000" }, - "26fe174cbf526650e0cd009bd6126502ce8e684d": { - "balance": "11640000000000000000000" + "0x26fe174cbf526650e0cd009bd6126502ce8e684d": { + "balance": "0x277017338a30ae00000" }, - "e2df23f6ea04becf4ab701748dc0963184555cdb": { - "balance": "2000000000000000000000" + "0xe2df23f6ea04becf4ab701748dc0963184555cdb": { + "balance": "0x6c6b935b8bbd400000" }, - "c1170dbaadb3dee6198ea544baec93251860fda5": { - "balance": "1200000000000000000000" + "0xc1170dbaadb3dee6198ea544baec93251860fda5": { + "balance": "0x410d586a20a4c00000" }, - "8bbeacfc29cfe93402db3c41d99ab759662e73ec": { - "balance": "2000000000000000000000" + "0x8bbeacfc29cfe93402db3c41d99ab759662e73ec": { + "balance": "0x6c6b935b8bbd400000" }, - "165305b787322e25dc6ad0cefe6c6f334678d569": { - "balance": "2000000000000000000000" + "0x165305b787322e25dc6ad0cefe6c6f334678d569": { + "balance": "0x6c6b935b8bbd400000" }, - "095457f8ef8e2bdc362196b9a9125da09c67e3ab": { - "balance": "200000000000000000000" + "0x095457f8ef8e2bdc362196b9a9125da09c67e3ab": { + "balance": "0xad78ebc5ac6200000" }, - "702802f36d00250fab53adbcd696f0176f638a49": { - "balance": "2000000000000000000000" + "0x702802f36d00250fab53adbcd696f0176f638a49": { + "balance": "0x6c6b935b8bbd400000" }, - "489334c2b695c8ee0794bd864217fb9fd8f8b135": { - "balance": "18200000000000000000" + "0x489334c2b695c8ee0794bd864217fb9fd8f8b135": { + "balance": "0xfc936392801c0000" }, - "fa8cf4e627698c5d5788abb7880417e750231399": { - "balance": "4244640000000000000000" + "0xfa8cf4e627698c5d5788abb7880417e750231399": { + "balance": "0xe61a3696eef6100000" }, - "3329eb3baf4345d600ced40e6e9975656f113742": { - "balance": "4999711000000000000000" + "0x3329eb3baf4345d600ced40e6e9975656f113742": { + "balance": "0x10f08eda8e555098000" }, - "b4dd5499daeb2507fb2de12297731d4c72b16bb0": { - "balance": "20000000000000000000" + "0xb4dd5499daeb2507fb2de12297731d4c72b16bb0": { + "balance": "0x1158e460913d00000" }, - "88c2516a7cdb09a6276d7297d30f5a4db1e84b86": { - "balance": "4000000000000000000000" + "0x88c2516a7cdb09a6276d7297d30f5a4db1e84b86": { + "balance": "0xd8d726b7177a800000" }, - "612ced8dc0dc9e899ee46f7962333315f3f55e44": { - "balance": "338830000000000000000" + "0x612ced8dc0dc9e899ee46f7962333315f3f55e44": { + "balance": "0x125e35f9cd3d9b0000" }, - "d71e43a45177ad51cbe0f72184a5cb503917285a": { - "balance": "200000000000000000000" + "0xd71e43a45177ad51cbe0f72184a5cb503917285a": { + "balance": "0xad78ebc5ac6200000" }, - "2fb566c94bbba4e3cb67cdda7d5fad7131539102": { - "balance": "2000000000000000000000" + "0x2fb566c94bbba4e3cb67cdda7d5fad7131539102": { + "balance": "0x6c6b935b8bbd400000" }, - "03be5b4629aefbbcab9de26d39576cb7f691d764": { - "balance": "200550000000000000000" + "0x03be5b4629aefbbcab9de26d39576cb7f691d764": { + "balance": "0xadf30ba70c8970000" }, - "025367960304beee34591118e9ac2d1358d8021a": { - "balance": "2000000000000000000000" + "0x025367960304beee34591118e9ac2d1358d8021a": { + "balance": "0x6c6b935b8bbd400000" }, - "a5d5b8b62d002def92413710d13b6ff8d4fc7dd3": { - "balance": "400000000000000000000" + "0xa5d5b8b62d002def92413710d13b6ff8d4fc7dd3": { + "balance": "0x15af1d78b58c400000" }, - "df3b72c5bd71d4814e88a62321a93d4011e3578b": { - "balance": "4000000000000000000000" + "0xdf3b72c5bd71d4814e88a62321a93d4011e3578b": { + "balance": "0xd8d726b7177a800000" }, - "3588895ac9fbafec012092dc05c0c302d90740fa": { - "balance": "3000000000000000000000" + "0x3588895ac9fbafec012092dc05c0c302d90740fa": { + "balance": "0xa2a15d09519be00000" }, - "6021e85a8814fce1e82a41abd1d3b2dad2faefe0": { - "balance": "2000000000000000000000" + "0x6021e85a8814fce1e82a41abd1d3b2dad2faefe0": { + "balance": "0x6c6b935b8bbd400000" }, - "17ee9f54d4ddc84d670eff11e54a659fd72f4455": { - "balance": "16000000000000000000000" + "0x17ee9f54d4ddc84d670eff11e54a659fd72f4455": { + "balance": "0x3635c9adc5dea000000" }, - "873c6f70efb6b1d0f2bbc57eebcd70617c6ce662": { - "balance": "1013478000000000000000" + "0x873c6f70efb6b1d0f2bbc57eebcd70617c6ce662": { + "balance": "0x36f0d5275d09570000" }, - "1fcc7ce6a8485895a3199e16481f72e1f762defe": { - "balance": "1000000000000000000000" + "0x1fcc7ce6a8485895a3199e16481f72e1f762defe": { + "balance": "0x3635c9adc5dea00000" }, - "d0a7209b80cf60db62f57d0a5d7d521a69606655": { - "balance": "160000000000000000000" + "0xd0a7209b80cf60db62f57d0a5d7d521a69606655": { + "balance": "0x8ac7230489e800000" }, - "a514d00edd7108a6be839a638db2415418174196": { - "balance": "30000000000000000000000" + "0xa514d00edd7108a6be839a638db2415418174196": { + "balance": "0x65a4da25d3016c00000" }, - "046377f864b0143f282174a892a73d3ec8ec6132": { - "balance": "191000000000000000000" + "0x046377f864b0143f282174a892a73d3ec8ec6132": { + "balance": "0xa5aa85009e39c0000" }, - "c126573d87b0175a5295f1dd07c575cf8cfa15f2": { - "balance": "10000000000000000000000" + "0xc126573d87b0175a5295f1dd07c575cf8cfa15f2": { + "balance": "0x21e19e0c9bab2400000" }, - "0e123d7da6d1e6fac2dcadd27029240bb39052fe": { - "balance": "1000000000000000000000" + "0x0e123d7da6d1e6fac2dcadd27029240bb39052fe": { + "balance": "0x3635c9adc5dea00000" }, - "ad5a8d3c6478b69f657db3837a2575ef8e1df931": { - "balance": "36990000000000000000" + "0xad5a8d3c6478b69f657db3837a2575ef8e1df931": { + "balance": "0x20156e104c1b30000" }, - "db882eacedd0eff263511b312adbbc59c6b8b25b": { - "balance": "9100000000000000000000" + "0xdb882eacedd0eff263511b312adbbc59c6b8b25b": { + "balance": "0x1ed4fde7a2236b00000" }, - "0b43bd2391025581d8956ce42a072579cbbfcb14": { - "balance": "18800000000000000000" + "0x0b43bd2391025581d8956ce42a072579cbbfcb14": { + "balance": "0x104e70464b1580000" }, - "affea0473722cb7f0e0e86b9e11883bf428d8d54": { - "balance": "1940000000000000000000" + "0xaffea0473722cb7f0e0e86b9e11883bf428d8d54": { + "balance": "0x692ae8897081d00000" }, - "e32b1c4725a1875449e98f970eb3e54062d15800": { - "balance": "200000000000000000000" + "0xe32b1c4725a1875449e98f970eb3e54062d15800": { + "balance": "0xad78ebc5ac6200000" }, - "98f4af3af0aede5fafdc42a081ecc1f89e3ccf20": { - "balance": "9400000000000000000000" + "0x98f4af3af0aede5fafdc42a081ecc1f89e3ccf20": { + "balance": "0x1fd933494aa5fe00000" }, - "3b4768fd71e2db2cbe7fa050483c27b4eb931df3": { - "balance": "2000000000000000000000" + "0x3b4768fd71e2db2cbe7fa050483c27b4eb931df3": { + "balance": "0x6c6b935b8bbd400000" }, - "d5f7c41e07729dfa6dfc64c4423160a22c609fd3": { - "balance": "1790000000000000000000" + "0xd5f7c41e07729dfa6dfc64c4423160a22c609fd3": { + "balance": "0x61093d7c2c6d380000" }, - "d944c8a69ff2ca1249690c1229c7192f36251062": { - "balance": "1970000000000000000000" + "0xd944c8a69ff2ca1249690c1229c7192f36251062": { + "balance": "0x6acb3df27e1f880000" }, - "5ae64e853ba0a51282cb8db52e41615e7c9f733f": { - "balance": "2000000000000000000000" + "0x5ae64e853ba0a51282cb8db52e41615e7c9f733f": { + "balance": "0x6c6b935b8bbd400000" }, - "b13f93af30e8d7667381b2b95bc1a699d5e3e129": { - "balance": "420000000000000000000" + "0xb13f93af30e8d7667381b2b95bc1a699d5e3e129": { + "balance": "0x16c4abbebea0100000" }, - "8a20e5b5cee7cd1f5515bace3bf4f77ffde5cc07": { - "balance": "80000000000000000000" + "0x8a20e5b5cee7cd1f5515bace3bf4f77ffde5cc07": { + "balance": "0x4563918244f400000" }, - "2448596f91c09baa30bc96106a2d37b5705e5d28": { - "balance": "2000000000000000000000" + "0x2448596f91c09baa30bc96106a2d37b5705e5d28": { + "balance": "0x6c6b935b8bbd400000" }, - "ccca24d8c56d6e2c07db086ec07e585be267ac8d": { - "balance": "200000000000000000000" + "0xccca24d8c56d6e2c07db086ec07e585be267ac8d": { + "balance": "0xad78ebc5ac6200000" }, - "f67bb8e2118bbcd59027666eedf6943ec9f880a5": { - "balance": "4000000000000000000000" + "0xf67bb8e2118bbcd59027666eedf6943ec9f880a5": { + "balance": "0xd8d726b7177a800000" }, - "7ae659eb3bc46852fa86fac4e21c768d50388945": { - "balance": "286000000000000000000" + "0x7ae659eb3bc46852fa86fac4e21c768d50388945": { + "balance": "0xf810c1cb501b80000" }, - "467e0ed54f3b76ae0636176e07420815a021736e": { - "balance": "2000000000000000000000" + "0x467e0ed54f3b76ae0636176e07420815a021736e": { + "balance": "0x6c6b935b8bbd400000" }, - "a46cd237b63eea438c8e3b6585f679e4860832ac": { - "balance": "1000000000000000000000" + "0xa46cd237b63eea438c8e3b6585f679e4860832ac": { + "balance": "0x3635c9adc5dea00000" }, - "6b760d4877e6a627c1c967bee451a8507ddddbab": { - "balance": "910000000000000000000" + "0x6b760d4877e6a627c1c967bee451a8507ddddbab": { + "balance": "0x3154c9729d05780000" }, - "593044670faeff00a55b5ae051eb7be870b11694": { - "balance": "133700000000000000000" + "0x593044670faeff00a55b5ae051eb7be870b11694": { + "balance": "0x73f75d1a085ba0000" }, - "533c06928f19d0a956cc28866bf6c8d8f4191a94": { - "balance": "292320000000000000000" + "0x533c06928f19d0a956cc28866bf6c8d8f4191a94": { + "balance": "0xfd8c14338e6300000" }, - "262dc1364ccf6df85c43268ee182554dae692e29": { - "balance": "4927600000000000000000" + "0x262dc1364ccf6df85c43268ee182554dae692e29": { + "balance": "0x10b202fec74ced80000" }, - "e4368bc1420b35efda95fafbc73090521916aa34": { - "balance": "4000000000000000000000" + "0xe4368bc1420b35efda95fafbc73090521916aa34": { + "balance": "0xd8d726b7177a800000" }, - "feb92d30bf01ff9a1901666c5573532bfa07eeec": { - "balance": "1000000000000000000000" + "0xfeb92d30bf01ff9a1901666c5573532bfa07eeec": { + "balance": "0x3635c9adc5dea00000" }, - "ee25b9a7032679b113588ed52c137d1a053a1e94": { - "balance": "199820000000000000000" + "0xee25b9a7032679b113588ed52c137d1a053a1e94": { + "balance": "0xad50f3f4eea8e0000" }, - "20134cbff88bfadc466b52eceaa79857891d831e": { - "balance": "1000000000000000000000" + "0x20134cbff88bfadc466b52eceaa79857891d831e": { + "balance": "0x3635c9adc5dea00000" }, - "07b1a306cb4312df66482c2cae72d1e061400fcd": { - "balance": "20000000000000000000000" + "0x07b1a306cb4312df66482c2cae72d1e061400fcd": { + "balance": "0x43c33c1937564800000" }, - "e791d585b89936b25d298f9d35f9f9edc25a2932": { - "balance": "2000000000000000000000" + "0xe791d585b89936b25d298f9d35f9f9edc25a2932": { + "balance": "0x6c6b935b8bbd400000" }, - "2e6933543d4f2cc00b5350bd8068ba9243d6beb0": { - "balance": "2000000000000000000000" + "0x2e6933543d4f2cc00b5350bd8068ba9243d6beb0": { + "balance": "0x6c6b935b8bbd400000" }, - "dae0d33eaa341569fa9ff5982684854a4a328a6e": { - "balance": "1000000000000000000000" + "0xdae0d33eaa341569fa9ff5982684854a4a328a6e": { + "balance": "0x3635c9adc5dea00000" }, - "125cc5e4d56b2bcc2ee1c709fb9e68fb177440bd": { - "balance": "2000000000000000000000" + "0x125cc5e4d56b2bcc2ee1c709fb9e68fb177440bd": { + "balance": "0x6c6b935b8bbd400000" }, - "ec99e95dece46ffffb175eb6400fbebb08ee9b95": { - "balance": "100000000000000000000" + "0xec99e95dece46ffffb175eb6400fbebb08ee9b95": { + "balance": "0x56bc75e2d63100000" }, - "c538a0ff282aaa5f4b75cfb62c70037ee67d4fb5": { - "balance": "2000000000000000000000" + "0xc538a0ff282aaa5f4b75cfb62c70037ee67d4fb5": { + "balance": "0x6c6b935b8bbd400000" }, - "60676d1fa21fca052297e24bf96389c5b12a70d7": { - "balance": "241500000000000000000" + "0x60676d1fa21fca052297e24bf96389c5b12a70d7": { + "balance": "0xd177c5a7a68d60000" }, - "4b3dfbdb454be5279a3b8addfd0ed1cd37a9420d": { - "balance": "2000000000000000000000" + "0x4b3dfbdb454be5279a3b8addfd0ed1cd37a9420d": { + "balance": "0x6c6b935b8bbd400000" }, - "cdb597299030183f6e2d238533f4642aa58754b6": { - "balance": "400000000000000000000" + "0xcdb597299030183f6e2d238533f4642aa58754b6": { + "balance": "0x15af1d78b58c400000" }, - "1ef2dcbfe0a500411d956eb8c8939c3d6cfe669d": { - "balance": "776000000000000000000" + "0x1ef2dcbfe0a500411d956eb8c8939c3d6cfe669d": { + "balance": "0x2a1129d09367200000" }, - "a7247c53d059eb7c9310f628d7fc6c6a0a773f08": { - "balance": "500000000000000000000" + "0xa7247c53d059eb7c9310f628d7fc6c6a0a773f08": { + "balance": "0x1b1ae4d6e2ef500000" }, - "9799ca21dbcf69bfa1b3f72bac51b9e3ca587cf9": { - "balance": "1700000000000000000000" + "0x9799ca21dbcf69bfa1b3f72bac51b9e3ca587cf9": { + "balance": "0x5c283d410394100000" }, - "ddf95c1e99ce2f9f5698057c19d5c94027ee4a6e": { - "balance": "6000000000000000000000" + "0xddf95c1e99ce2f9f5698057c19d5c94027ee4a6e": { + "balance": "0x14542ba12a337c00000" }, - "83563bc364ed81a0c6da3b56ff49bbf267827a9c": { - "balance": "17332000000000000000000" + "0x83563bc364ed81a0c6da3b56ff49bbf267827a9c": { + "balance": "0x3ab91d17b20de500000" }, - "a192698007cc11aa603d221d5feea076bcf7c30d": { - "balance": "2000000000000000000000" + "0xa192698007cc11aa603d221d5feea076bcf7c30d": { + "balance": "0x6c6b935b8bbd400000" }, - "0134ff38155fabae94fd35c4ffe1d79de7ef9c59": { - "balance": "985000000000000000000" + "0x0134ff38155fabae94fd35c4ffe1d79de7ef9c59": { + "balance": "0x35659ef93f0fc40000" }, - "80977316944e5942e79b0e3abad38da746086519": { - "balance": "38800000000000000000" + "0x80977316944e5942e79b0e3abad38da746086519": { + "balance": "0x21a754a6dc5280000" }, - "193d37ed347d1c2f4e35350d9a444bc57ca4db43": { - "balance": "60000000000000000000" + "0x193d37ed347d1c2f4e35350d9a444bc57ca4db43": { + "balance": "0x340aad21b3b700000" }, - "009a6d7db326679b77c90391a7476d238f3ba33e": { - "balance": "200200000000000000000" + "0x009a6d7db326679b77c90391a7476d238f3ba33e": { + "balance": "0xada55474b81340000" }, - "337b3bdf86d713dbd07b5dbfcc022b7a7b1946ae": { - "balance": "3980000000000000000000" + "0x337b3bdf86d713dbd07b5dbfcc022b7a7b1946ae": { + "balance": "0xd7c198710e66b00000" }, - "7de7fe419cc61f91f408d234cc80d5ca3d054d99": { - "balance": "20000000000000000000" + "0x7de7fe419cc61f91f408d234cc80d5ca3d054d99": { + "balance": "0x1158e460913d00000" }, - "f47bb134da30a812d003af8dccb888f44bbf5724": { - "balance": "5190000000000000000000" + "0xf47bb134da30a812d003af8dccb888f44bbf5724": { + "balance": "0x11959b7fe3395580000" }, - "fd920f722682afb5af451b0544d4f41b3b9d5742": { - "balance": "2330200000000000000000" + "0xfd920f722682afb5af451b0544d4f41b3b9d5742": { + "balance": "0x7e52056a123f3c0000" }, - "0a917f3b5cb0b883047fd9b6593dbcd557f453b9": { - "balance": "1000000000000000000000" + "0x0a917f3b5cb0b883047fd9b6593dbcd557f453b9": { + "balance": "0x3635c9adc5dea00000" }, - "ce9786d3712fa200e9f68537eeaa1a06a6f45a4b": { - "balance": "1790000000000000000000" + "0xce9786d3712fa200e9f68537eeaa1a06a6f45a4b": { + "balance": "0x61093d7c2c6d380000" }, - "9ab98d6dbb1eaae16d45a04568541ad3d8fe06cc": { - "balance": "272451000000000000000" + "0x9ab98d6dbb1eaae16d45a04568541ad3d8fe06cc": { + "balance": "0xec50464fe23f38000" }, - "0b7bb342f01bc9888e6a9af4a887cbf4c2dd2caf": { - "balance": "16000000000000000000000" + "0x0b7bb342f01bc9888e6a9af4a887cbf4c2dd2caf": { + "balance": "0x3635c9adc5dea000000" }, - "4c0b1515dfced7a13e13ee12c0f523ae504f032b": { - "balance": "50000000000000000000000" + "0x4c0b1515dfced7a13e13ee12c0f523ae504f032b": { + "balance": "0xa968163f0a57b400000" }, - "ac2889b5966f0c7f9edb42895cb69d1c04f923a2": { - "balance": "5000000000000000000000" + "0xac2889b5966f0c7f9edb42895cb69d1c04f923a2": { + "balance": "0x10f0cf064dd59200000" }, - "d008513b27604a89ba1763b6f84ce688b346945b": { - "balance": "1000000000000000000000" + "0xd008513b27604a89ba1763b6f84ce688b346945b": { + "balance": "0x3635c9adc5dea00000" }, - "a4b09de6e713dc69546e76ef0acf40b94f0241e6": { - "balance": "322656000000000000000" + "0xa4b09de6e713dc69546e76ef0acf40b94f0241e6": { + "balance": "0x117dc0627ec8700000" }, - "b153f828dd076d4a7c1c2574bb2dee1a44a318a8": { - "balance": "400000000000000000000" + "0xb153f828dd076d4a7c1c2574bb2dee1a44a318a8": { + "balance": "0x15af1d78b58c400000" }, - "02ade5db22f8b758ee1443626c64ec2f32aa0a15": { - "balance": "20000000000000000000000" + "0x02ade5db22f8b758ee1443626c64ec2f32aa0a15": { + "balance": "0x43c33c1937564800000" }, - "0a0650861f785ed8e4bf1005c450bbd06eb48fb6": { - "balance": "3066860000000000000000" + "0x0a0650861f785ed8e4bf1005c450bbd06eb48fb6": { + "balance": "0xa6413b79144e7e0000" }, - "b75149e185f6e3927057739073a1822ae1cf0df2": { - "balance": "4000086000000000000000" + "0xb75149e185f6e3927057739073a1822ae1cf0df2": { + "balance": "0xd8d8583fa2d52f0000" }, - "84cb7da0502df45cf561817bbd2362f451be02da": { - "balance": "1337000000000000000000" + "0x84cb7da0502df45cf561817bbd2362f451be02da": { + "balance": "0x487a9a304539440000" }, - "c91bb562e42bd46130e2d3ae4652b6a4eb86bc0f": { - "balance": "540000000000000000000" + "0xc91bb562e42bd46130e2d3ae4652b6a4eb86bc0f": { + "balance": "0x1d460162f516f00000" }, - "b234035f7544463ce1e22bc553064684c513cd51": { - "balance": "249750000000000000000" + "0xb234035f7544463ce1e22bc553064684c513cd51": { + "balance": "0xd89fa3dc48dcf0000" }, - "e5e33800a1b2e96bde1031630a959aa007f26e51": { - "balance": "1337000000000000000000" + "0xe5e33800a1b2e96bde1031630a959aa007f26e51": { + "balance": "0x487a9a304539440000" }, - "ae5ce3355a7ba9b332760c0950c2bc45a85fa9a0": { - "balance": "400000000000000000000" + "0xae5ce3355a7ba9b332760c0950c2bc45a85fa9a0": { + "balance": "0x15af1d78b58c400000" }, - "e6f5eb649afb99599c414b27a9c9c855357fa878": { - "balance": "2674000000000000000000" + "0xe6f5eb649afb99599c414b27a9c9c855357fa878": { + "balance": "0x90f534608a72880000" }, - "7010be2df57bd0ab9ae8196cd50ab0c521aba9f9": { - "balance": "1970000000000000000000" + "0x7010be2df57bd0ab9ae8196cd50ab0c521aba9f9": { + "balance": "0x6acb3df27e1f880000" }, - "ca4288014eddc5632f5facb5e38517a8f8bc5d98": { - "balance": "340000000000000000000" + "0xca4288014eddc5632f5facb5e38517a8f8bc5d98": { + "balance": "0x126e72a69a50d00000" }, - "2784903f1d7c1b5cd901f8875d14a79b3cbe2a56": { - "balance": "22388000000000000000000" + "0x2784903f1d7c1b5cd901f8875d14a79b3cbe2a56": { + "balance": "0x4bda7e9d74ad5500000" }, - "f8dce867f0a39c5bef9eeba609229efa02678b6c": { - "balance": "2000000000000000000000" + "0xf8dce867f0a39c5bef9eeba609229efa02678b6c": { + "balance": "0x6c6b935b8bbd400000" }, - "e020e86362b487752836a6de0bc02cd8d89a8b6a": { - "balance": "6000000000000000000000" + "0xe020e86362b487752836a6de0bc02cd8d89a8b6a": { + "balance": "0x14542ba12a337c00000" }, - "c4088c025f3e85013f5439fb3440a17301e544fe": { - "balance": "2325000000000000000000" + "0xc4088c025f3e85013f5439fb3440a17301e544fe": { + "balance": "0x7e09db4d9f3f340000" }, - "befb448c0c5f683fb67ee570baf0db5686599751": { - "balance": "1970000000000000000000" + "0xbefb448c0c5f683fb67ee570baf0db5686599751": { + "balance": "0x6acb3df27e1f880000" }, - "2f187d5a704d5a338c5b2876a090dce964284e29": { - "balance": "4000000000000000000000" + "0x2f187d5a704d5a338c5b2876a090dce964284e29": { + "balance": "0xd8d726b7177a800000" }, - "ec0e18a01dc4dc5daae567c3fa4c7f8f9b590205": { - "balance": "315900000000000000000" + "0xec0e18a01dc4dc5daae567c3fa4c7f8f9b590205": { + "balance": "0x111ffe404a41e60000" }, - "637f5869d6e4695f0eb9e27311c4878aff333380": { - "balance": "1969212000000000000000" + "0x637f5869d6e4695f0eb9e27311c4878aff333380": { + "balance": "0x6ac04e68aaec860000" }, - "d1100dd00fe2ddf18163ad964d0b69f1f2e9658a": { - "balance": "5959598000000000000000" + "0xd1100dd00fe2ddf18163ad964d0b69f1f2e9658a": { + "balance": "0x143120955b2506b0000" }, - "17ef4acc1bf147e326749d10e677dcffd76f9e06": { - "balance": "39980000000000000000000" + "0x17ef4acc1bf147e326749d10e677dcffd76f9e06": { + "balance": "0x87751f4e0e1b5300000" }, - "200dfc0b71e359b2b465440a36a6cdc352773007": { - "balance": "1500000000000000000000" + "0x200dfc0b71e359b2b465440a36a6cdc352773007": { + "balance": "0x5150ae84a8cdf00000" }, - "efe0675da98a5dda70cd96196b87f4e726b43348": { - "balance": "1164000000000000000000" + "0xefe0675da98a5dda70cd96196b87f4e726b43348": { + "balance": "0x3f19beb8dd1ab00000" }, - "d5bd5e8455c130169357c471e3e681b7996a7276": { - "balance": "841500000000000000000" + "0xd5bd5e8455c130169357c471e3e681b7996a7276": { + "balance": "0x2d9e288f8abb360000" }, - "9c7b6dc5190fe2912963fcd579683ec7395116b0": { - "balance": "776000000000000000000" + "0x9c7b6dc5190fe2912963fcd579683ec7395116b0": { + "balance": "0x2a1129d09367200000" }, - "b105dd3d987cffd813e9c8500a80a1ad257d56c6": { - "balance": "1999944000000000000000" + "0xb105dd3d987cffd813e9c8500a80a1ad257d56c6": { + "balance": "0x6c6acc67d7b1d40000" }, - "145250b06e4fa7cb2749422eb817bdda8b54de5f": { - "balance": "219000000000000000000" + "0x145250b06e4fa7cb2749422eb817bdda8b54de5f": { + "balance": "0xbdf3c4bb0328c0000" }, - "d96db33b7b5a950c3efa2dc31b10ba10a532ef87": { - "balance": "2000000000000000000000" + "0xd96db33b7b5a950c3efa2dc31b10ba10a532ef87": { + "balance": "0x6c6b935b8bbd400000" }, - "af529bdb459cc185bee5a1c58bf7e8cce25c150d": { - "balance": "197000000000000000000" + "0xaf529bdb459cc185bee5a1c58bf7e8cce25c150d": { + "balance": "0xaadec983fcff40000" }, - "185546e8768d506873818ac9751c1f12116a3bef": { - "balance": "200000000000000000000" + "0x185546e8768d506873818ac9751c1f12116a3bef": { + "balance": "0xad78ebc5ac6200000" }, - "51d24bc3736f88dd63b7222026886630b6eb878d": { - "balance": "2000000000000000000000" + "0x51d24bc3736f88dd63b7222026886630b6eb878d": { + "balance": "0x6c6b935b8bbd400000" }, - "69af28b0746cac0da17084b9398c5e36bb3a0df2": { - "balance": "1004700000000000000000" + "0x69af28b0746cac0da17084b9398c5e36bb3a0df2": { + "balance": "0x3677036edf0af60000" }, - "76f83ac3da30f7092628c7339f208bfc142cb1ee": { - "balance": "2842600000000000000000" + "0x76f83ac3da30f7092628c7339f208bfc142cb1ee": { + "balance": "0x9a18ffe7427d640000" }, - "00f463e137dcf625fbf3bca39eca98d2b968cf7f": { - "balance": "5910000000000000000000" + "0x00f463e137dcf625fbf3bca39eca98d2b968cf7f": { + "balance": "0x14061b9d77a5e980000" }, - "2084fce505d97bebf1ad8c5ff6826fc645371fb2": { - "balance": "30000000000000000000" + "0x2084fce505d97bebf1ad8c5ff6826fc645371fb2": { + "balance": "0x1a055690d9db80000" }, - "53a714f99fa00fef758e23a2e746326dad247ca7": { - "balance": "1490000000000000000000" + "0x53a714f99fa00fef758e23a2e746326dad247ca7": { + "balance": "0x50c5e761a444080000" }, - "0bf064428f83626722a7b5b26a9ab20421a7723e": { - "balance": "133700000000000000000" + "0x0bf064428f83626722a7b5b26a9ab20421a7723e": { + "balance": "0x73f75d1a085ba0000" }, - "ac6f68e837cf1961cb14ab47446da168a16dde89": { - "balance": "1337000000000000000000" + "0xac6f68e837cf1961cb14ab47446da168a16dde89": { + "balance": "0x487a9a304539440000" }, - "4b3c7388cc76da3d62d40067dabccd7ef0433d23": { - "balance": "100076000000000000000" + "0x4b3c7388cc76da3d62d40067dabccd7ef0433d23": { + "balance": "0x56cd55fc64dfe0000" }, - "deb9a49a43873020f0759185e20bbb4cf381bb8f": { - "balance": "211628000000000000000" + "0xdeb9a49a43873020f0759185e20bbb4cf381bb8f": { + "balance": "0xb78edb0bf2e5e0000" }, - "5bf9f2226e5aeacf1d80ae0a59c6e38038bc8db5": { - "balance": "6000000000000000000000" + "0x5bf9f2226e5aeacf1d80ae0a59c6e38038bc8db5": { + "balance": "0x14542ba12a337c00000" }, - "9d0e7d92fb305853d798263bf15e97c72bf9d7e0": { - "balance": "1000000000000000000000" + "0x9d0e7d92fb305853d798263bf15e97c72bf9d7e0": { + "balance": "0x3635c9adc5dea00000" }, - "2b5c60e84535eeb4d580de127a12eb2677ccb392": { - "balance": "20000000000000000000000" + "0x2b5c60e84535eeb4d580de127a12eb2677ccb392": { + "balance": "0x43c33c1937564800000" }, - "d8d65420c18c2327cc5af97425f857e4a9fd51b3": { - "balance": "1760000000000000000000" + "0xd8d65420c18c2327cc5af97425f857e4a9fd51b3": { + "balance": "0x5f68e8131ecf800000" }, - "30ec9392244a2108c987bc5cdde0ed9f837a817b": { - "balance": "1560562000000000000000" + "0x30ec9392244a2108c987bc5cdde0ed9f837a817b": { + "balance": "0x549925f6c9c5250000" }, - "56a1d60d40f57f308eebf087dee3b37f1e7c2cba": { - "balance": "1159600000000000000000" + "0x56a1d60d40f57f308eebf087dee3b37f1e7c2cba": { + "balance": "0x3edcaec82d06f80000" }, - "a9a1cdc33bfd376f1c0d76fb6c84b6b4ac274d68": { - "balance": "5000000000000000000000" + "0xa9a1cdc33bfd376f1c0d76fb6c84b6b4ac274d68": { + "balance": "0x10f0cf064dd59200000" }, - "a67f38819565423aa85f3e3ab61bc763cbab89dd": { - "balance": "2130000000000000000000" + "0xa67f38819565423aa85f3e3ab61bc763cbab89dd": { + "balance": "0x7377b022c6be080000" }, - "62d5cc7117e18500ac2f9e3c26c86b0a94b0de15": { - "balance": "105000000000000000000" + "0x62d5cc7117e18500ac2f9e3c26c86b0a94b0de15": { + "balance": "0x5b12aefafa8040000" }, - "4970d3acf72b5b1f32a7003cf102c64ee0547941": { - "balance": "140000000000000000000000" + "0x4970d3acf72b5b1f32a7003cf102c64ee0547941": { + "balance": "0x1da56a4b0835bf800000" }, - "76628150e2995b5b279fc83e0dd5f102a671dd1c": { - "balance": "40000000000000000000000" + "0x76628150e2995b5b279fc83e0dd5f102a671dd1c": { + "balance": "0x878678326eac9000000" }, - "3d8f39881b9edfe91227c33fa4cdd91e678544b0": { - "balance": "86111000000000000000" + "0x3d8f39881b9edfe91227c33fa4cdd91e678544b0": { + "balance": "0x4ab07ba43ada98000" }, - "ff0b7cb71da9d4c1ea6ecc28ebda504c63f82fd1": { - "balance": "1043000000000000000000" + "0xff0b7cb71da9d4c1ea6ecc28ebda504c63f82fd1": { + "balance": "0x388a885df2fc6c0000" }, - "8d795c5f4a5689ad62da961671f028065286d554": { - "balance": "2048000000000000000000" + "0x8d795c5f4a5689ad62da961671f028065286d554": { + "balance": "0x6f05b59d3b20000000" }, - "be2346a27ff9b702044f500deff2e7ffe6824541": { - "balance": "20000000000000000000" + "0xbe2346a27ff9b702044f500deff2e7ffe6824541": { + "balance": "0x1158e460913d00000" }, - "0dbd417c372b8b0d01bcd944706bd32e60ae28d1": { - "balance": "340000000000000000000" + "0x0dbd417c372b8b0d01bcd944706bd32e60ae28d1": { + "balance": "0x126e72a69a50d00000" }, - "467fbf41441600757fe15830c8cd5f4ffbbbd560": { - "balance": "10000000000000000000000" + "0x467fbf41441600757fe15830c8cd5f4ffbbbd560": { + "balance": "0x21e19e0c9bab2400000" }, - "090cd67b60e81d54e7b5f6078f3e021ba65b9a1e": { - "balance": "1000000000000000000000" + "0x090cd67b60e81d54e7b5f6078f3e021ba65b9a1e": { + "balance": "0x3635c9adc5dea00000" }, - "55a4cac0cb8b582d9fef38c5c9fff9bd53093d1f": { - "balance": "1970000000000000000000" + "0x55a4cac0cb8b582d9fef38c5c9fff9bd53093d1f": { + "balance": "0x6acb3df27e1f880000" }, - "3b7b4f53c45655f3dc5f017edc23b16f9bc536fa": { - "balance": "100000000000000000000" + "0x3b7b4f53c45655f3dc5f017edc23b16f9bc536fa": { + "balance": "0x56bc75e2d63100000" }, - "d508d39c70916f6abc4cc7f999f011f077105802": { - "balance": "100470000000000000000" + "0xd508d39c70916f6abc4cc7f999f011f077105802": { + "balance": "0x5724d24afe77f0000" }, - "037dd056e7fdbd641db5b6bea2a8780a83fae180": { - "balance": "140000000000000000000" + "0x037dd056e7fdbd641db5b6bea2a8780a83fae180": { + "balance": "0x796e3ea3f8ab00000" }, - "660557bb43f4be3a1b8b85e7df7b3c5bcd548057": { - "balance": "6000000000000000000000" + "0x660557bb43f4be3a1b8b85e7df7b3c5bcd548057": { + "balance": "0x14542ba12a337c00000" }, - "02089361a3fe7451fb1f87f01a2d866653dc0b07": { - "balance": "39976000000000000000" + "0x02089361a3fe7451fb1f87f01a2d866653dc0b07": { + "balance": "0x22ac74832b5040000" }, - "c4bec96308a20f90cab18399c493fd3d065abf45": { - "balance": "14000000000000000000000" + "0xc4bec96308a20f90cab18399c493fd3d065abf45": { + "balance": "0x2f6f10780d22cc00000" }, - "cca07bb794571d4acf041dad87f0d1ef3185b319": { - "balance": "2000000000000000000000" + "0xcca07bb794571d4acf041dad87f0d1ef3185b319": { + "balance": "0x6c6b935b8bbd400000" }, - "f2d0e986d814ea13c8f466a0538c53dc922651f0": { - "balance": "1380000000000000000000" + "0xf2d0e986d814ea13c8f466a0538c53dc922651f0": { + "balance": "0x4acf58e07257100000" }, - "662cfa038fab37a01745a364e1b98127c503746d": { - "balance": "3940000000000000000000" + "0x662cfa038fab37a01745a364e1b98127c503746d": { + "balance": "0xd5967be4fc3f100000" }, - "3336c3ef6e8b50ee90e037b164b7a8ea5faac65d": { - "balance": "272712000000000000000" + "0x3336c3ef6e8b50ee90e037b164b7a8ea5faac65d": { + "balance": "0xec8a3a71c22540000" }, - "30e33358fc21c85006e40f32357dc8895940aaf0": { - "balance": "1910000000000000000000" + "0x30e33358fc21c85006e40f32357dc8895940aaf0": { + "balance": "0x678a932062e4180000" }, - "41a9a404fc9f5bfee48ec265b12523338e29a8bf": { - "balance": "388000000000000000000" + "0x41a9a404fc9f5bfee48ec265b12523338e29a8bf": { + "balance": "0x150894e849b3900000" }, - "6af235d2bbe050e6291615b71ca5829658810142": { - "balance": "3000000000000000000000" + "0x6af235d2bbe050e6291615b71ca5829658810142": { + "balance": "0xa2a15d09519be00000" }, - "fd5a63157f914fd398eab19c137dd9550bb7715c": { - "balance": "100000000000000000000" + "0xfd5a63157f914fd398eab19c137dd9550bb7715c": { + "balance": "0x56bc75e2d63100000" }, - "8a4314fb61cd938fc33e15e816b113f2ac89a7fb": { - "balance": "432800000000000000000" + "0x8a4314fb61cd938fc33e15e816b113f2ac89a7fb": { + "balance": "0x17764e7aed65100000" }, - "b216dc59e27c3d7279f5cd5bb2becfb2606e14d9": { - "balance": "400000000000000000000" + "0xb216dc59e27c3d7279f5cd5bb2becfb2606e14d9": { + "balance": "0x15af1d78b58c400000" }, - "f5a5459fcdd5e5b273830df88eea4cb77ddadfb9": { - "balance": "74500000000000000000" + "0xf5a5459fcdd5e5b273830df88eea4cb77ddadfb9": { + "balance": "0x409e52b48369a0000" }, - "df31025f5649d2c6eea41ed3bdd3471a790f759a": { - "balance": "20000000000000000000" + "0xdf31025f5649d2c6eea41ed3bdd3471a790f759a": { + "balance": "0x1158e460913d00000" }, - "721f9d17e5a0e74205947aeb9bc6a7938961038f": { - "balance": "51900000000000000000" + "0x721f9d17e5a0e74205947aeb9bc6a7938961038f": { + "balance": "0x2d041d705a2c60000" }, - "08d0864dc32f9acb36bf4ea447e8dd6726906a15": { - "balance": "2000200000000000000000" + "0x08d0864dc32f9acb36bf4ea447e8dd6726906a15": { + "balance": "0x6c6e59e67c78540000" }, - "54575c3114751e3c631971da6a2a02fd3ffbfcc8": { - "balance": "1940000000000000000000" + "0x54575c3114751e3c631971da6a2a02fd3ffbfcc8": { + "balance": "0x692ae8897081d00000" }, - "8f60895fbebbb5017fcbff3cdda397292bf25ba6": { - "balance": "429177000000000000000" + "0x8f60895fbebbb5017fcbff3cdda397292bf25ba6": { + "balance": "0x174406ff9f6fd28000" }, - "91fe8a4c6164df8fa606995d6ba7adcaf1c893ce": { - "balance": "17000000000000000000000" + "0x91fe8a4c6164df8fa606995d6ba7adcaf1c893ce": { + "balance": "0x39992648a23c8a00000" }, - "889087f66ff284f8b5efbd29493b706733ab1447": { - "balance": "9850000000000000000000" + "0x889087f66ff284f8b5efbd29493b706733ab1447": { + "balance": "0x215f835bc769da80000" }, - "051633080d07a557adde319261b074997f14692d": { - "balance": "5800000000000000000000" + "0x051633080d07a557adde319261b074997f14692d": { + "balance": "0x13a6b2b564871a00000" }, - "59a12df2e3ef857aceff9306b309f6a500f70134": { - "balance": "1000000000000000000000" + "0x59a12df2e3ef857aceff9306b309f6a500f70134": { + "balance": "0x3635c9adc5dea00000" }, - "9f64a8e8dacf4ade30d10f4d59b0a3d5abfdbf74": { - "balance": "1000060000000000000000" + "0x9f64a8e8dacf4ade30d10f4d59b0a3d5abfdbf74": { + "balance": "0x36369ed7747d260000" }, - "8846928d683289a2d11df8db7a9474988ef01348": { - "balance": "10000000000000000000000" + "0x8846928d683289a2d11df8db7a9474988ef01348": { + "balance": "0x21e19e0c9bab2400000" }, - "dff1b220de3d8e9ca4c1b5be34a799bcded4f61c": { - "balance": "385428000000000000000" + "0xdff1b220de3d8e9ca4c1b5be34a799bcded4f61c": { + "balance": "0x14e4e353ea39420000" }, - "7e7c1e9a61a08a83984835c70ec31d34d3eaa87f": { - "balance": "191000000000000000000" + "0x7e7c1e9a61a08a83984835c70ec31d34d3eaa87f": { + "balance": "0xa5aa85009e39c0000" }, - "fe210b8f04dc6d4f76216acfcbd59ba83be9b630": { - "balance": "20000000000000000000" + "0xfe210b8f04dc6d4f76216acfcbd59ba83be9b630": { + "balance": "0x1158e460913d00000" }, - "dc8c2912f084a6d184aa73638513ccbc326e0102": { - "balance": "1295000000000000000000" + "0xdc8c2912f084a6d184aa73638513ccbc326e0102": { + "balance": "0x4633bc36cbc2dc0000" }, - "dddd7b9e6eab409b92263ac272da801b664f8a57": { - "balance": "500000000000000000000000" + "0xdddd7b9e6eab409b92263ac272da801b664f8a57": { + "balance": "0x69e10de76676d0800000" }, - "86a5f8259ed5b09e188ce346ee92d34aa5dd93fa": { - "balance": "200000000000000000000" + "0x86a5f8259ed5b09e188ce346ee92d34aa5dd93fa": { + "balance": "0xad78ebc5ac6200000" }, - "dc1f1979615f082140b8bb78c67b27a1942713b1": { - "balance": "60000000000000000000" + "0xdc1f1979615f082140b8bb78c67b27a1942713b1": { + "balance": "0x340aad21b3b700000" }, - "ea66e7b84dcdbf36eea3e75b85382a75f1a15d96": { - "balance": "1729135000000000000000" + "0xea66e7b84dcdbf36eea3e75b85382a75f1a15d96": { + "balance": "0x5dbc9191266f118000" }, - "039e7a4ebc284e2ccd42b1bdd60bd6511c0f7706": { - "balance": "17300000000000000000" + "0x039e7a4ebc284e2ccd42b1bdd60bd6511c0f7706": { + "balance": "0xf015f25736420000" }, - "36bfe1fa3b7b70c172eb042f6819a8972595413e": { - "balance": "1000000000000000000000" + "0x36bfe1fa3b7b70c172eb042f6819a8972595413e": { + "balance": "0x3635c9adc5dea00000" }, - "039ef1ce52fe7963f166d5a275c4b1069fe3a832": { - "balance": "400008000000000000000" + "0x039ef1ce52fe7963f166d5a275c4b1069fe3a832": { + "balance": "0x15af39e4aab2740000" }, - "f1df55dcc34a051012b575cb968bc9c458ea09c9": { - "balance": "4000000000000000000000" + "0xf1df55dcc34a051012b575cb968bc9c458ea09c9": { + "balance": "0xd8d726b7177a800000" }, - "168b5019b818691644835fe69bf229e17112d52c": { - "balance": "28000000000000000000000" + "0x168b5019b818691644835fe69bf229e17112d52c": { + "balance": "0x5ede20f01a459800000" }, - "f60bd735543e6bfd2ea6f11bff627340bc035a23": { - "balance": "2000000000000000000000" + "0xf60bd735543e6bfd2ea6f11bff627340bc035a23": { + "balance": "0x6c6b935b8bbd400000" }, - "2cbb0c73df91b91740b6693b774a7d05177e8e58": { - "balance": "1850000000000000000000" + "0x2cbb0c73df91b91740b6693b774a7d05177e8e58": { + "balance": "0x6449e84e47a8a80000" }, - "9ffcf5ef46d933a519d1d16c6ba3189b27496224": { - "balance": "1000000000000000000000" + "0x9ffcf5ef46d933a519d1d16c6ba3189b27496224": { + "balance": "0x3635c9adc5dea00000" }, - "0e11d77a8977fac30d268445e531149b31541a24": { - "balance": "2000000000000000000000" + "0x0e11d77a8977fac30d268445e531149b31541a24": { + "balance": "0x6c6b935b8bbd400000" }, - "dfb1626ef48a1d7d7552a5e0298f1fc23a3b482d": { - "balance": "1713860000000000000000" + "0xdfb1626ef48a1d7d7552a5e0298f1fc23a3b482d": { + "balance": "0x5ce895dd949efa0000" }, - "cc943be1222cd1400a2399dd1b459445cf6d54a9": { - "balance": "12530000000000000000000" + "0xcc943be1222cd1400a2399dd1b459445cf6d54a9": { + "balance": "0x2a740ae6536fc880000" }, - "b37c2b9f50637bece0ca959208aefee6463ba720": { - "balance": "400000000000000000000" + "0xb37c2b9f50637bece0ca959208aefee6463ba720": { + "balance": "0x15af1d78b58c400000" }, - "96b906ea729f4655afe3e57d35277c967dfa1577": { - "balance": "1000000000000000000000" + "0x96b906ea729f4655afe3e57d35277c967dfa1577": { + "balance": "0x3635c9adc5dea00000" }, - "7995bd8ce2e0c67bf1c7a531d477bca1b2b97561": { - "balance": "5945100000000000000000" + "0x7995bd8ce2e0c67bf1c7a531d477bca1b2b97561": { + "balance": "0x14248d617829ece0000" }, - "96f820500b70f4a3e3239d619cff8f222075b135": { - "balance": "200000000000000000000" + "0x96f820500b70f4a3e3239d619cff8f222075b135": { + "balance": "0xad78ebc5ac6200000" }, - "ad3565d52b688added08168b2d3872d17d0a26ae": { - "balance": "100000000000000000000" + "0xad3565d52b688added08168b2d3872d17d0a26ae": { + "balance": "0x56bc75e2d63100000" }, - "9e7c2050a227bbfd60937e268cea3e68fea8d1fe": { - "balance": "100000000000000000000" + "0x9e7c2050a227bbfd60937e268cea3e68fea8d1fe": { + "balance": "0x56bc75e2d63100000" }, - "7e59dc60be8b2fc19abd0a5782c52c28400bce97": { - "balance": "1000000000000000000000" + "0x7e59dc60be8b2fc19abd0a5782c52c28400bce97": { + "balance": "0x3635c9adc5dea00000" }, - "01ed5fba8d2eab673aec042d30e4e8a611d8c55a": { - "balance": "2000000000000000000000" + "0x01ed5fba8d2eab673aec042d30e4e8a611d8c55a": { + "balance": "0x6c6b935b8bbd400000" }, - "59a087b9351ca42f58f36e021927a22988284f38": { - "balance": "18500000000000000000" + "0x59a087b9351ca42f58f36e021927a22988284f38": { + "balance": "0x100bd33fb98ba0000" }, - "2fe0023f5722650f3a8ac01009125e74e3f82e9b": { - "balance": "3000000000000000000000" + "0x2fe0023f5722650f3a8ac01009125e74e3f82e9b": { + "balance": "0xa2a15d09519be00000" }, - "bd1803370bddb129d239fd16ea8526a6188ae58e": { - "balance": "500000000000000000000" + "0xbd1803370bddb129d239fd16ea8526a6188ae58e": { + "balance": "0x1b1ae4d6e2ef500000" }, - "c70527d444c490e9fc3f5cc44e66eb4f306b380f": { - "balance": "4000000000000000000000" + "0xc70527d444c490e9fc3f5cc44e66eb4f306b380f": { + "balance": "0xd8d726b7177a800000" }, - "0f206e1a1da7207ea518b112418baa8b06260328": { - "balance": "600000000000000000000" + "0x0f206e1a1da7207ea518b112418baa8b06260328": { + "balance": "0x2086ac351052600000" }, - "6e1a046caf5b4a57f4fd4bc173622126b4e2fd86": { - "balance": "1790000000000000000000" + "0x6e1a046caf5b4a57f4fd4bc173622126b4e2fd86": { + "balance": "0x61093d7c2c6d380000" }, - "84008a72f8036f3feba542e35078c057f32a8825": { - "balance": "100000000000000000000" + "0x84008a72f8036f3feba542e35078c057f32a8825": { + "balance": "0x56bc75e2d63100000" }, - "246291165b59332df5f18ce5c98856fae95897d6": { - "balance": "1700000000000000000000" + "0x246291165b59332df5f18ce5c98856fae95897d6": { + "balance": "0x5c283d410394100000" }, - "7e99dfbe989d3ba529d19751b7f4317f8953a3e2": { - "balance": "400000000000000000000" + "0x7e99dfbe989d3ba529d19751b7f4317f8953a3e2": { + "balance": "0x15af1d78b58c400000" }, - "748c285ef1233fe4d31c8fb1378333721c12e27a": { - "balance": "2000000000000000000000" + "0x748c285ef1233fe4d31c8fb1378333721c12e27a": { + "balance": "0x6c6b935b8bbd400000" }, - "3dd12e556a603736feba4a6fa8bd4ac45d662a04": { - "balance": "167450000000000000000000" + "0x3dd12e556a603736feba4a6fa8bd4ac45d662a04": { + "balance": "0x23757b9183e078280000" }, - "d0ae735d915e946866e1fea77e5ea466b5cadd16": { - "balance": "2000000000000000000000" + "0xd0ae735d915e946866e1fea77e5ea466b5cadd16": { + "balance": "0x6c6b935b8bbd400000" }, - "4f767bc8794aef9a0a38fea5c81f14694ff21a13": { - "balance": "512200000000000000000" + "0x4f767bc8794aef9a0a38fea5c81f14694ff21a13": { + "balance": "0x1bc433f23f83140000" }, - "0e2f8e28a681f77c583bd0ecde16634bdd7e00cd": { - "balance": "95060000000000000000" + "0x0e2f8e28a681f77c583bd0ecde16634bdd7e00cd": { + "balance": "0x52738f659bca20000" }, - "d74a6e8d6aab34ce85976814c1327bd6ea0784d2": { - "balance": "100000000000000000000000" + "0xd74a6e8d6aab34ce85976814c1327bd6ea0784d2": { + "balance": "0x152d02c7e14af6800000" }, - "629be7ab126a5398edd6da9f18447e78c692a4fd": { - "balance": "2000000000000000000000" + "0x629be7ab126a5398edd6da9f18447e78c692a4fd": { + "balance": "0x6c6b935b8bbd400000" }, - "2e46fcee6a3bb145b594a243a3913fce5dad6fba": { - "balance": "10000000000000000000000" + "0x2e46fcee6a3bb145b594a243a3913fce5dad6fba": { + "balance": "0x21e19e0c9bab2400000" }, - "e39b11a8ab1ff5e22e5ae6517214f73c5b9b55dc": { - "balance": "2000000000000000000000" + "0xe39b11a8ab1ff5e22e5ae6517214f73c5b9b55dc": { + "balance": "0x6c6b935b8bbd400000" }, - "119aa64d5b7d181dae9d3cb449955c89c1f963fa": { - "balance": "700000000000000000000" + "0x119aa64d5b7d181dae9d3cb449955c89c1f963fa": { + "balance": "0x25f273933db5700000" }, - "ce079f51887774d8021cb3b575f58f18e9acf984": { - "balance": "180000000000000000000" + "0xce079f51887774d8021cb3b575f58f18e9acf984": { + "balance": "0x9c2007651b2500000" }, - "550c306f81ef5d9580c06cb1ab201b95c748a691": { - "balance": "665800000000000000000" + "0x550c306f81ef5d9580c06cb1ab201b95c748a691": { + "balance": "0x2417d4c470bf140000" }, - "06dc7f18cee7edab5b795337b1df6a9e8bd8ae59": { - "balance": "400000000000000000000" + "0x06dc7f18cee7edab5b795337b1df6a9e8bd8ae59": { + "balance": "0x15af1d78b58c400000" }, - "e21c778ef2a0d7f751ea8c074d1f812243863e4e": { - "balance": "5308559000000000000000" + "0xe21c778ef2a0d7f751ea8c074d1f812243863e4e": { + "balance": "0x11fc70e2c8c8ae18000" }, - "45d4b54d37a8cf599821235f062fa9d170ede8a4": { - "balance": "324000000000000000000" + "0x45d4b54d37a8cf599821235f062fa9d170ede8a4": { + "balance": "0x1190673b5fda900000" }, - "893a6c2eb8b40ab096b4f67e74a897b840746e86": { - "balance": "1730000000000000000000" + "0x893a6c2eb8b40ab096b4f67e74a897b840746e86": { + "balance": "0x5dc892aa1131c80000" }, - "d44d81e18f46e2cfb5c1fcf5041bc8569767d100": { - "balance": "36381800000000000000000" + "0xd44d81e18f46e2cfb5c1fcf5041bc8569767d100": { + "balance": "0x7b442e684f65aa40000" }, - "c5de1203d3cc2cea31c82ee2de5916880799eafd": { - "balance": "5000000000000000000000" + "0xc5de1203d3cc2cea31c82ee2de5916880799eafd": { + "balance": "0x10f0cf064dd59200000" }, - "7f0f04fcf37a53a4e24ede6e93104e78be1d3c9e": { - "balance": "2000000000000000000000" + "0x7f0f04fcf37a53a4e24ede6e93104e78be1d3c9e": { + "balance": "0x6c6b935b8bbd400000" }, - "3ce1dc97fcd7b7c4d3a18a49d6f2a5c1b1a906d7": { - "balance": "200000000000000000000" + "0x3ce1dc97fcd7b7c4d3a18a49d6f2a5c1b1a906d7": { + "balance": "0xad78ebc5ac6200000" }, - "ac4ee9d502e7d2d2e99e59d8ca7d5f00c94b4dd6": { - "balance": "1000000000000000000000" + "0xac4ee9d502e7d2d2e99e59d8ca7d5f00c94b4dd6": { + "balance": "0x3635c9adc5dea00000" }, - "7640a37f8052981515bce078da93afa4789b5734": { - "balance": "2000000000000000000000" + "0x7640a37f8052981515bce078da93afa4789b5734": { + "balance": "0x6c6b935b8bbd400000" }, - "76cac488111a4fd595f568ae3a858770fc915d5f": { - "balance": "200000000000000000000" + "0x76cac488111a4fd595f568ae3a858770fc915d5f": { + "balance": "0xad78ebc5ac6200000" }, - "ff4a408f50e9e72146a28ce4fc8d90271f116e84": { - "balance": "1970000000000000000000" + "0xff4a408f50e9e72146a28ce4fc8d90271f116e84": { + "balance": "0x6acb3df27e1f880000" }, - "249db29dbc19d1235da7298a04081c315742e9ac": { - "balance": "1801800000000000000000" + "0x249db29dbc19d1235da7298a04081c315742e9ac": { + "balance": "0x61acff81a78ad40000" }, - "3a04572847d31e81f7765ca5bfc9d557159f3683": { - "balance": "133031000000000000000" + "0x3a04572847d31e81f7765ca5bfc9d557159f3683": { + "balance": "0x7362d0dabeafd8000" }, - "b6771b0bf3427f9ae7a93e7c2e61ee63941fdb08": { - "balance": "18800000000000000000000" + "0xb6771b0bf3427f9ae7a93e7c2e61ee63941fdb08": { + "balance": "0x3fb26692954bfc00000" }, - "30c26a8e971baa1855d633ba703f028cc7873140": { - "balance": "10000000000000000000000" + "0x30c26a8e971baa1855d633ba703f028cc7873140": { + "balance": "0x21e19e0c9bab2400000" }, - "167e3e3ae2003348459392f7dfce44af7c21ad59": { - "balance": "500000000000000000000" + "0x167e3e3ae2003348459392f7dfce44af7c21ad59": { + "balance": "0x1b1ae4d6e2ef500000" }, - "43f16f1e75c3c06a9478e8c597a40a3cb0bf04cc": { - "balance": "2914000000000000000000" + "0x43f16f1e75c3c06a9478e8c597a40a3cb0bf04cc": { + "balance": "0x9df7dfa8f760480000" }, - "056b1546894f9a85e203fb336db569b16c25e04f": { - "balance": "169397000000000000000" + "0x056b1546894f9a85e203fb336db569b16c25e04f": { + "balance": "0x92edb09ff08d88000" }, - "70616e2892fa269705b2046b8fe3e72fa55816d3": { - "balance": "20000000000000000000000" + "0x70616e2892fa269705b2046b8fe3e72fa55816d3": { + "balance": "0x43c33c1937564800000" }, - "8f4d1d41693e462cf982fd81d0aa701d3a5374c9": { - "balance": "4000000000000000000000" + "0x8f4d1d41693e462cf982fd81d0aa701d3a5374c9": { + "balance": "0xd8d726b7177a800000" }, - "c518799a5925576213e21896e0539abb85b05ae3": { - "balance": "1000000000000000000000" + "0xc518799a5925576213e21896e0539abb85b05ae3": { + "balance": "0x3635c9adc5dea00000" }, - "0e3a28c1dfafb0505bdce19fe025f506a6d01ceb": { - "balance": "2000000000000000000000" + "0x0e3a28c1dfafb0505bdce19fe025f506a6d01ceb": { + "balance": "0x6c6b935b8bbd400000" }, - "e4a47e3933246c3fd62979a1ea19ffdf8c72ef37": { - "balance": "148273000000000000000" + "0xe4a47e3933246c3fd62979a1ea19ffdf8c72ef37": { + "balance": "0x809b383ea7d7e8000" }, - "d231929735132102471ba59007b6644cc0c1de3e": { - "balance": "1000090000000000000000" + "0xd231929735132102471ba59007b6644cc0c1de3e": { + "balance": "0x3637096c4bcc690000" }, - "555d8d3ce1798aca902754f164b8be2a02329c6c": { - "balance": "10000000000000000000000" + "0x555d8d3ce1798aca902754f164b8be2a02329c6c": { + "balance": "0x21e19e0c9bab2400000" }, - "5ab1a5615348001c7c775dc75748669b8be4de14": { - "balance": "690200000000000000000" + "0x5ab1a5615348001c7c775dc75748669b8be4de14": { + "balance": "0x256a72fb29e69c0000" }, - "2fee36a49ee50ecf716f1047915646779f8ba03f": { - "balance": "1056230000000000000000" + "0x2fee36a49ee50ecf716f1047915646779f8ba03f": { + "balance": "0x394222c4da86d70000" }, - "54db5e06b4815d31cb56a8719ba33af2d73e7252": { - "balance": "670000000000000000000" + "0x54db5e06b4815d31cb56a8719ba33af2d73e7252": { + "balance": "0x24521e2a3017b80000" }, - "7c8bb65a6fbb49bd413396a9d7e31053bbb37aa9": { - "balance": "6000000000000000000000" + "0x7c8bb65a6fbb49bd413396a9d7e31053bbb37aa9": { + "balance": "0x14542ba12a337c00000" }, - "c1384c6e717ebe4b23014e51f31c9df7e4e25b31": { - "balance": "500000000000000000000" + "0xc1384c6e717ebe4b23014e51f31c9df7e4e25b31": { + "balance": "0x1b1ae4d6e2ef500000" }, - "474158a1a9dc693c133f65e47b5c3ae2f773a86f": { - "balance": "200200000000000000000" + "0x474158a1a9dc693c133f65e47b5c3ae2f773a86f": { + "balance": "0xada55474b81340000" }, - "2934c0df7bbc172b6c186b0b72547ace8bf75454": { - "balance": "60000000000000000000" + "0x2934c0df7bbc172b6c186b0b72547ace8bf75454": { + "balance": "0x340aad21b3b700000" }, - "6966063aa5de1db5c671f3dd699d5abe213ee902": { - "balance": "8000000000000000000000" + "0x6966063aa5de1db5c671f3dd699d5abe213ee902": { + "balance": "0x1b1ae4d6e2ef5000000" }, - "9225d46a5a80943924a39e5b84b96da0ac450581": { - "balance": "40000000000000000000000" + "0x9225d46a5a80943924a39e5b84b96da0ac450581": { + "balance": "0x878678326eac9000000" }, - "671bbca099ff899bab07ea1cf86965c3054c8960": { - "balance": "50000000000000000000" + "0x671bbca099ff899bab07ea1cf86965c3054c8960": { + "balance": "0x2b5e3af16b1880000" }, - "f1f766b0e46d73fcd4d52e7a72e1b9190cc632b3": { - "balance": "8000000000000000000000" + "0xf1f766b0e46d73fcd4d52e7a72e1b9190cc632b3": { + "balance": "0x1b1ae4d6e2ef5000000" }, - "ef0dc7dd7a53d612728bcbd2b27c19dd4d7d666f": { - "balance": "705668000000000000000" + "0xef0dc7dd7a53d612728bcbd2b27c19dd4d7d666f": { + "balance": "0x26411c5b35f05a0000" }, - "38d2e9154964b41c8d50a7487d391e7ee2c3d3c2": { - "balance": "3500000000000000000000" + "0x38d2e9154964b41c8d50a7487d391e7ee2c3d3c2": { + "balance": "0xbdbc41e0348b300000" }, - "352a785f4a921632504ce5d015f83c49aa838d6d": { - "balance": "4314800000000000000000" + "0x352a785f4a921632504ce5d015f83c49aa838d6d": { + "balance": "0xe9e7e0fb35b7780000" }, - "743de50026ca67c94df54f066260e1d14acc11ac": { - "balance": "2000000000000000000000" + "0x743de50026ca67c94df54f066260e1d14acc11ac": { + "balance": "0x6c6b935b8bbd400000" }, - "b188078444027e386798a8ae68698919d5cc230d": { - "balance": "267400000000000000000" + "0xb188078444027e386798a8ae68698919d5cc230d": { + "balance": "0xe7eeba3410b740000" }, - "53608105ce4b9e11f86bf497ffca3b78967b5f96": { - "balance": "20000000000000000000000" + "0x53608105ce4b9e11f86bf497ffca3b78967b5f96": { + "balance": "0x43c33c1937564800000" }, - "3b159099075207c6807663b1f0f7eda54ac8cce3": { - "balance": "1969543000000000000000" + "0x3b159099075207c6807663b1f0f7eda54ac8cce3": { + "balance": "0x6ac4e65b69f92d8000" }, - "141a5e39ee2f680a600fbf6fa297de90f3225cdd": { - "balance": "10000000000000000000000" + "0x141a5e39ee2f680a600fbf6fa297de90f3225cdd": { + "balance": "0x21e19e0c9bab2400000" }, - "44fff37be01a3888d3b8b8e18880a7ddefeeead3": { - "balance": "259145000000000000000" + "0x44fff37be01a3888d3b8b8e18880a7ddefeeead3": { + "balance": "0xe0c5bfc7dae9a8000" }, - "c5a629a3962552cb8eded889636aafbd0c18ce65": { - "balance": "10000000000000000000000" + "0xc5a629a3962552cb8eded889636aafbd0c18ce65": { + "balance": "0x21e19e0c9bab2400000" }, - "fdba5359f7ec3bc770ac49975d844ec9716256f1": { - "balance": "1000000000000000000000" + "0xfdba5359f7ec3bc770ac49975d844ec9716256f1": { + "balance": "0x3635c9adc5dea00000" }, - "7c1df24a4f7fb2c7b472e0bb006cb27dcd164156": { - "balance": "1000000000000000000000" + "0x7c1df24a4f7fb2c7b472e0bb006cb27dcd164156": { + "balance": "0x3635c9adc5dea00000" }, - "ab7d54c7c6570efca5b4b8ce70f52a5773e5d53b": { - "balance": "279600000000000000000" + "0xab7d54c7c6570efca5b4b8ce70f52a5773e5d53b": { + "balance": "0xf283abe9d9f380000" }, - "3f173aa6edf469d185e59bd26ae4236b92b4d8e1": { - "balance": "320000000000000000000" + "0x3f173aa6edf469d185e59bd26ae4236b92b4d8e1": { + "balance": "0x1158e460913d000000" }, - "a3f4ad14e0bb44e2ce2c14359c75b8e732d37054": { - "balance": "200000000000000000000" + "0xa3f4ad14e0bb44e2ce2c14359c75b8e732d37054": { + "balance": "0xad78ebc5ac6200000" }, - "ac5f627231480d0d95302e6d89fc32cb1d4fe7e3": { - "balance": "200000000000000000000" + "0xac5f627231480d0d95302e6d89fc32cb1d4fe7e3": { + "balance": "0xad78ebc5ac6200000" }, - "d0775dba2af4c30a3a78365939cd71c2f9de95d2": { - "balance": "1940000000000000000000" + "0xd0775dba2af4c30a3a78365939cd71c2f9de95d2": { + "balance": "0x692ae8897081d00000" }, - "ad94235fc3b3f47a2413af31e884914908ef0c45": { - "balance": "500008000000000000000" + "0xad94235fc3b3f47a2413af31e884914908ef0c45": { + "balance": "0x1b1b0142d815840000" }, - "eaedcc6b8b6962d5d9288c156c579d47c0a9fcff": { - "balance": "85000000000000000000" + "0xeaedcc6b8b6962d5d9288c156c579d47c0a9fcff": { + "balance": "0x49b9ca9a694340000" }, - "7ac48d40c664cc9a6d89f1c5f5c80a1c70e744e6": { - "balance": "3008000000000000000000" + "0x7ac48d40c664cc9a6d89f1c5f5c80a1c70e744e6": { + "balance": "0xa31062beeed7000000" }, - "ec73114c5e406fdbbe09b4fa621bd70ed54ea1ef": { - "balance": "24500000000000000000000" + "0xec73114c5e406fdbbe09b4fa621bd70ed54ea1ef": { + "balance": "0x53025cd216fce500000" }, - "a690f1a4b20ab7ba34628620de9ca040c43c1963": { - "balance": "4000000000000000000000" + "0xa690f1a4b20ab7ba34628620de9ca040c43c1963": { + "balance": "0xd8d726b7177a800000" }, - "cad14f9ebba76680eb836b079c7f7baaf481ed6d": { - "balance": "238600000000000000000" + "0xcad14f9ebba76680eb836b079c7f7baaf481ed6d": { + "balance": "0xcef3d7bd7d0340000" }, - "6c714a58fff6e97d14b8a5e305eb244065688bbd": { - "balance": "4000000000000000000000" + "0x6c714a58fff6e97d14b8a5e305eb244065688bbd": { + "balance": "0xd8d726b7177a800000" }, - "3e618350fa01657ab0ef3ebac8e37012f8fc2b6f": { - "balance": "2804400000000000000000" + "0x3e618350fa01657ab0ef3ebac8e37012f8fc2b6f": { + "balance": "0x9806de3da6e9780000" }, - "c946d5acc1346eba0a7279a0ac1d465c996d827e": { - "balance": "16385128000000000000000" + "0xc946d5acc1346eba0a7279a0ac1d465c996d827e": { + "balance": "0x3783d545fdf0aa40000" }, - "1164caaa8cc5977afe1fad8a7d6028ce2d57299b": { - "balance": "400000000000000000000" + "0x1164caaa8cc5977afe1fad8a7d6028ce2d57299b": { + "balance": "0x15af1d78b58c400000" }, - "7917e5bd82a9790fd650d043cdd930f7799633db": { - "balance": "3999800000000000000000" + "0x7917e5bd82a9790fd650d043cdd930f7799633db": { + "balance": "0xd8d4602c26bf6c0000" }, - "d52aecc6493938a28ca1c367b701c21598b6a02e": { - "balance": "1100000000000000000000" + "0xd52aecc6493938a28ca1c367b701c21598b6a02e": { + "balance": "0x3ba1910bf341b00000" }, - "98bed3a72eccfbafb923489293e429e703c7e25b": { - "balance": "2000000000000000000000" + "0x98bed3a72eccfbafb923489293e429e703c7e25b": { + "balance": "0x6c6b935b8bbd400000" }, - "42db0b902559e04087dd5c441bc7611934184b89": { - "balance": "2014420000000000000000" + "0x42db0b902559e04087dd5c441bc7611934184b89": { + "balance": "0x6d33b17d253a620000" }, - "43bc2d4ddcd6583be2c7bc094b28fb72e62ba83b": { - "balance": "2000000000000000000000" + "0x43bc2d4ddcd6583be2c7bc094b28fb72e62ba83b": { + "balance": "0x6c6b935b8bbd400000" }, - "85f0e7c1e3aff805a627a2aaf2cff6b4c0dbe9cb": { - "balance": "20000000000000000000" + "0x85f0e7c1e3aff805a627a2aaf2cff6b4c0dbe9cb": { + "balance": "0x1158e460913d00000" }, - "581b9fd6eae372f3501f42eb9619eec820b78a84": { - "balance": "19699015000000000000000" + "0x581b9fd6eae372f3501f42eb9619eec820b78a84": { + "balance": "0x42be2c00ca53b8d8000" }, - "541db20a80cf3b17f1621f1b3ff79b882f50def3": { - "balance": "1000000000000000000000" + "0x541db20a80cf3b17f1621f1b3ff79b882f50def3": { + "balance": "0x3635c9adc5dea00000" }, - "4e8a6d63489ccc10a57f885f96eb04ecbb546024": { - "balance": "18500000000000000000000" + "0x4e8a6d63489ccc10a57f885f96eb04ecbb546024": { + "balance": "0x3eae3130ecc96900000" }, - "28349f7ef974ea55fe36a1583b34cec3c45065f0": { - "balance": "234490000000000000000" + "0x28349f7ef974ea55fe36a1583b34cec3c45065f0": { + "balance": "0xcb633d49e65590000" }, - "a3241d890a92baf52908dc4aa049726be426ebd3": { - "balance": "19999560000000000000000" + "0xa3241d890a92baf52908dc4aa049726be426ebd3": { + "balance": "0x43c2da661ca2f540000" }, - "b4b11d109f608fa8edd3fea9f8c315649aeb3d11": { - "balance": "5000000000000000000000" + "0xb4b11d109f608fa8edd3fea9f8c315649aeb3d11": { + "balance": "0x10f0cf064dd59200000" }, - "5f321b3daaa296cadf29439f9dab062a4bffedd6": { - "balance": "81868000000000000000" + "0x5f321b3daaa296cadf29439f9dab062a4bffedd6": { + "balance": "0x47025903ea7ae0000" }, - "c5ae86b0c6c7e3900f1368105c56537faf8d743e": { - "balance": "188000000000000000000" + "0xc5ae86b0c6c7e3900f1368105c56537faf8d743e": { + "balance": "0xa31062beeed700000" }, - "9a8eca4189ff4aa8ff7ed4b6b7039f0902219b15": { - "balance": "20000000000000000000" + "0x9a8eca4189ff4aa8ff7ed4b6b7039f0902219b15": { + "balance": "0x1158e460913d00000" }, - "a3facc50195c0b4933c85897fecc5bbd995c34b8": { - "balance": "20000000000000000000" + "0xa3facc50195c0b4933c85897fecc5bbd995c34b8": { + "balance": "0x1158e460913d00000" }, - "f07bd0e5c2ce69c7c4a724bd26bbfa9d2a17ca03": { - "balance": "5910000000000000000000" + "0xf07bd0e5c2ce69c7c4a724bd26bbfa9d2a17ca03": { + "balance": "0x14061b9d77a5e980000" }, - "640aba6de984d94517377803705eaea7095f4a11": { - "balance": "10000000000000000000000" + "0x640aba6de984d94517377803705eaea7095f4a11": { + "balance": "0x21e19e0c9bab2400000" }, - "204ac98867a7c9c7ed711cb82f28a878caf69b48": { - "balance": "6000000000000000000000" + "0x204ac98867a7c9c7ed711cb82f28a878caf69b48": { + "balance": "0x14542ba12a337c00000" }, - "9d34dac25bd15828faefaaf28f710753b39e89dc": { - "balance": "1090400000000000000000" + "0x9d34dac25bd15828faefaaf28f710753b39e89dc": { + "balance": "0x3b1c56fed02df00000" }, - "fe418b421a9c6d373602790475d2303e11a75930": { - "balance": "1015200000000000000000" + "0xfe418b421a9c6d373602790475d2303e11a75930": { + "balance": "0x3708baed3d68900000" }, - "3f472963197883bbda5a9b7dfcb22db11440ad31": { - "balance": "481445000000000000000" + "0x3f472963197883bbda5a9b7dfcb22db11440ad31": { + "balance": "0x1a19643cb1eff08000" }, - "1578bdbc371b4d243845330556fff2d5ef4dff67": { - "balance": "100000000000000000000" + "0x1578bdbc371b4d243845330556fff2d5ef4dff67": { + "balance": "0x56bc75e2d63100000" }, - "dba4796d0ceb4d3a836b84c96f910afc103f5ba0": { - "balance": "166666000000000000000" + "0xdba4796d0ceb4d3a836b84c96f910afc103f5ba0": { + "balance": "0x908f493f737410000" }, - "466fda6b9b58c5532750306a10a2a8c768103b07": { - "balance": "199955000000000000000" + "0x466fda6b9b58c5532750306a10a2a8c768103b07": { + "balance": "0xad6eedd17cf3b8000" }, - "2770f14efb165ddeba79c10bb0af31c31e59334c": { - "balance": "3000000000000000000000" + "0x2770f14efb165ddeba79c10bb0af31c31e59334c": { + "balance": "0xa2a15d09519be00000" }, - "7c382c0296612e4e97e440e02d3871273b55f53b": { - "balance": "197600000000000000000" + "0x7c382c0296612e4e97e440e02d3871273b55f53b": { + "balance": "0xab640391201300000" }, - "1fb7bd310d95f2a6d9baaf8a8a430a9a04453a8b": { - "balance": "3000000000000000000000" + "0x1fb7bd310d95f2a6d9baaf8a8a430a9a04453a8b": { + "balance": "0xa2a15d09519be00000" }, - "a9acf600081bb55bb6bfbab1815ffc4e17e85a95": { - "balance": "200000000000000000000" + "0xa9acf600081bb55bb6bfbab1815ffc4e17e85a95": { + "balance": "0xad78ebc5ac6200000" }, - "f93d5bcb0644b0cce5fcdda343f5168ffab2877d": { - "balance": "209978000000000000000" + "0xf93d5bcb0644b0cce5fcdda343f5168ffab2877d": { + "balance": "0xb6207b67d26f90000" }, - "db0cc78f74d9827bdc8a6473276eb84fdc976212": { - "balance": "2000000000000000000000" + "0xdb0cc78f74d9827bdc8a6473276eb84fdc976212": { + "balance": "0x6c6b935b8bbd400000" }, - "b66411e3a02dedb726fa79107dc90bc1cae64d48": { - "balance": "2000000000000000000000" + "0xb66411e3a02dedb726fa79107dc90bc1cae64d48": { + "balance": "0x6c6b935b8bbd400000" }, - "4d6e8fe109ccd2158e4db114132fe75fecc8be5b": { - "balance": "25019000000000000000" + "0x4d6e8fe109ccd2158e4db114132fe75fecc8be5b": { + "balance": "0x15b3557f1937f8000" }, - "6fd947d5a73b175008ae6ee8228163da289b167d": { - "balance": "30000000000000000000000" + "0x6fd947d5a73b175008ae6ee8228163da289b167d": { + "balance": "0x65a4da25d3016c00000" }, - "32d950d5e93ea1d5b48db4714f867b0320b31c0f": { - "balance": "1015200000000000000000" + "0x32d950d5e93ea1d5b48db4714f867b0320b31c0f": { + "balance": "0x3708baed3d68900000" }, - "9c99b62606281b5cefabf36156c8fe62839ef5f3": { - "balance": "4000000000000000000000" + "0x9c99b62606281b5cefabf36156c8fe62839ef5f3": { + "balance": "0xd8d726b7177a800000" }, - "86c8d0d982b539f48f9830f9891f9d607a942659": { - "balance": "13260000000000000000000" + "0x86c8d0d982b539f48f9830f9891f9d607a942659": { + "balance": "0x2ced37761824fb00000" }, - "f2127d54188fedef0f338a5f38c7ff73ad9f6f42": { - "balance": "20000000000000000000000" + "0xf2127d54188fedef0f338a5f38c7ff73ad9f6f42": { + "balance": "0x43c33c1937564800000" }, - "e864fec07ed1214a65311e11e329de040d04f0fd": { - "balance": "1656353000000000000000" + "0xe864fec07ed1214a65311e11e329de040d04f0fd": { + "balance": "0x59ca83f5c404968000" }, - "1d09ad2412691cc581c1ab36b6f9434cd4f08b54": { - "balance": "7000000000000000000000" + "0x1d09ad2412691cc581c1ab36b6f9434cd4f08b54": { + "balance": "0x17b7883c06916600000" }, - "4ea70f04313fae65c3ff224a055c3d2dab28dddf": { - "balance": "19999800000000000000000" + "0x4ea70f04313fae65c3ff224a055c3d2dab28dddf": { + "balance": "0x43c30fb0884a96c0000" }, - "e0668fa82c14d6e8d93a53113ef2862fa81581bc": { - "balance": "870400000000000000000" + "0xe0668fa82c14d6e8d93a53113ef2862fa81581bc": { + "balance": "0x2f2f39fc6c54000000" }, - "f0d858105e1b648101ac3f85a0f8222bf4f81d6a": { - "balance": "600000000000000000000" + "0xf0d858105e1b648101ac3f85a0f8222bf4f81d6a": { + "balance": "0x2086ac351052600000" }, - "0f3a1023cac04dbf44f5a5fa6a9cf8508cd4fddf": { - "balance": "1820000000000000000000" + "0x0f3a1023cac04dbf44f5a5fa6a9cf8508cd4fddf": { + "balance": "0x62a992e53a0af00000" }, - "5793abe6f1533311fd51536891783b3f9625ef1c": { - "balance": "827268000000000000000" + "0x5793abe6f1533311fd51536891783b3f9625ef1c": { + "balance": "0x2cd8a656f23fda0000" }, - "8d667637e29eca05b6bfbef1f96d460eefbf9984": { - "balance": "4000000000000000000000" + "0x8d667637e29eca05b6bfbef1f96d460eefbf9984": { + "balance": "0xd8d726b7177a800000" }, - "d76dbaebc30d4ef67b03e6e6ecc6d84e004d502d": { - "balance": "2019250000000000000000" + "0xd76dbaebc30d4ef67b03e6e6ecc6d84e004d502d": { + "balance": "0x6d76b9188e13850000" }, - "42d1a6399b3016a8597f8b640927b8afbce4b215": { - "balance": "2980000000000000000000" + "0x42d1a6399b3016a8597f8b640927b8afbce4b215": { + "balance": "0xa18bcec34888100000" }, - "21fd47c5256012198fa5abf131c06d6aa1965f75": { - "balance": "7880000000000000000000" + "0x21fd47c5256012198fa5abf131c06d6aa1965f75": { + "balance": "0x1ab2cf7c9f87e200000" }, - "2f2bba1b1796821a766fce64b84f28ec68f15aea": { - "balance": "20000000000000000000" + "0x2f2bba1b1796821a766fce64b84f28ec68f15aea": { + "balance": "0x1158e460913d00000" }, - "d24bf12d2ddf457decb17874efde2052b65cbb49": { - "balance": "14000000000000000000000" + "0xd24bf12d2ddf457decb17874efde2052b65cbb49": { + "balance": "0x2f6f10780d22cc00000" }, - "88de13b09931877c910d593165c364c8a1641bd3": { - "balance": "3000000000000000000000" + "0x88de13b09931877c910d593165c364c8a1641bd3": { + "balance": "0xa2a15d09519be00000" }, - "555ca9f05cc134ab54ae9bea1c3ff87aa85198ca": { - "balance": "100000000000000000000" + "0x555ca9f05cc134ab54ae9bea1c3ff87aa85198ca": { + "balance": "0x56bc75e2d63100000" }, - "ae9ecd6bdd952ef497c0050ae0ab8a82a91898ce": { - "balance": "30000000000000000000" + "0xae9ecd6bdd952ef497c0050ae0ab8a82a91898ce": { + "balance": "0x1a055690d9db80000" }, - "ad8bfef8c68a4816b3916f35cb7bfcd7d3040976": { - "balance": "40000000000000000000000" + "0xad8bfef8c68a4816b3916f35cb7bfcd7d3040976": { + "balance": "0x878678326eac9000000" }, - "dad136b88178b4837a6c780feba226b98569a94c": { - "balance": "200000000000000000000" + "0xdad136b88178b4837a6c780feba226b98569a94c": { + "balance": "0xad78ebc5ac6200000" }, - "800e7d631c6e573a90332f17f71f5fd19b528cb9": { - "balance": "152000000000000000000" + "0x800e7d631c6e573a90332f17f71f5fd19b528cb9": { + "balance": "0x83d6c7aab63600000" }, - "94a9a71691317c2064271b51c9353fbded3501a8": { - "balance": "3340000000000000000000" + "0x94a9a71691317c2064271b51c9353fbded3501a8": { + "balance": "0xb50fcfafebecb00000" }, - "80a0f6cc186cf6201400736e065a391f52a9df4a": { - "balance": "10000000000000000000000" + "0x80a0f6cc186cf6201400736e065a391f52a9df4a": { + "balance": "0x21e19e0c9bab2400000" }, - "712ff7370a13ed360973fedc9ff5d2c93a505e9e": { - "balance": "3940000000000000000000" + "0x712ff7370a13ed360973fedc9ff5d2c93a505e9e": { + "balance": "0xd5967be4fc3f100000" }, - "42399659aca6a5a863ea2245c933fe9a35b7880e": { - "balance": "2044000000000000000000" + "0x42399659aca6a5a863ea2245c933fe9a35b7880e": { + "balance": "0x6ece32c26c82700000" }, - "ae239acffd4ebe2e1ba5b4170572dc79cc6533ec": { - "balance": "12000000000000000000000" + "0xae239acffd4ebe2e1ba5b4170572dc79cc6533ec": { + "balance": "0x28a857425466f800000" }, - "007b9fc31905b4994b04c9e2cfdc5e2770503f42": { - "balance": "1999000000000000000000" + "0x007b9fc31905b4994b04c9e2cfdc5e2770503f42": { + "balance": "0x6c5db2a4d815dc0000" }, - "7480de62254f2ba82b578219c07ba5be430dc3cb": { - "balance": "7040000000000000000000" + "0x7480de62254f2ba82b578219c07ba5be430dc3cb": { + "balance": "0x17da3a04c7b3e000000" }, - "917b8f9f3a8d09e9202c52c29e724196b897d35e": { - "balance": "161000000000000000000" + "0x917b8f9f3a8d09e9202c52c29e724196b897d35e": { + "balance": "0x8ba52e6fc45e40000" }, - "708ea707bae4357f1ebea959c3a250acd6aa21b3": { - "balance": "500000000000000000000" + "0x708ea707bae4357f1ebea959c3a250acd6aa21b3": { + "balance": "0x1b1ae4d6e2ef500000" }, - "6dc7053a718616cfc78bee6382ee51add0c70330": { - "balance": "2000000000000000000000" + "0x6dc7053a718616cfc78bee6382ee51add0c70330": { + "balance": "0x6c6b935b8bbd400000" }, - "c4dac5a8a0264fbc1055391c509cc3ee21a6e04c": { - "balance": "6501000000000000000000" + "0xc4dac5a8a0264fbc1055391c509cc3ee21a6e04c": { + "balance": "0x1606b7fa039ce740000" }, - "c1b2a0fb9cad45cd699192cd27540b88d3384279": { - "balance": "500000000000000000000" + "0xc1b2a0fb9cad45cd699192cd27540b88d3384279": { + "balance": "0x1b1ae4d6e2ef500000" }, - "b07cb9c12405b711807543c4934465f87f98bd2d": { - "balance": "2000000000000000000000" + "0xb07cb9c12405b711807543c4934465f87f98bd2d": { + "balance": "0x6c6b935b8bbd400000" }, - "c7f72bb758016b374714d4899bce22b4aec70a31": { - "balance": "1072706000000000000000" + "0xc7f72bb758016b374714d4899bce22b4aec70a31": { + "balance": "0x3a26c9478f5e2d0000" }, - "0c480de9f7461002908b49f60fc61e2b62d3140b": { - "balance": "10000000000000000000000" + "0x0c480de9f7461002908b49f60fc61e2b62d3140b": { + "balance": "0x21e19e0c9bab2400000" }, - "83d532d38d6dee3f60adc68b936133c7a2a1b0dd": { - "balance": "500000000000000000000" + "0x83d532d38d6dee3f60adc68b936133c7a2a1b0dd": { + "balance": "0x1b1ae4d6e2ef500000" }, - "12afbcba1427a6a39e7ba4849f7ab1c4358ac31b": { - "balance": "20000000000000000000000" + "0x12afbcba1427a6a39e7ba4849f7ab1c4358ac31b": { + "balance": "0x43c33c1937564800000" }, - "f8f6645e0dee644b3dad81d571ef9baf840021ad": { - "balance": "2000000000000000000000" + "0xf8f6645e0dee644b3dad81d571ef9baf840021ad": { + "balance": "0x6c6b935b8bbd400000" }, - "40cf890591eae4a18f812a2954cb295f633327e6": { - "balance": "48132000000000000000" + "0x40cf890591eae4a18f812a2954cb295f633327e6": { + "balance": "0x29bf736fc591a0000" }, - "735b97f2fc1bd24b12076efaf3d1288073d20c8c": { - "balance": "20000000000000000000" + "0x735b97f2fc1bd24b12076efaf3d1288073d20c8c": { + "balance": "0x1158e460913d00000" }, - "47c7e5efb48b3aed4b7c6e824b435f357df4c723": { - "balance": "18200000000000000000" + "0x47c7e5efb48b3aed4b7c6e824b435f357df4c723": { + "balance": "0xfc936392801c0000" }, - "d34d708d7398024533a5a2b2309b19d3c55171bb": { - "balance": "400000000000000000000" + "0xd34d708d7398024533a5a2b2309b19d3c55171bb": { + "balance": "0x15af1d78b58c400000" }, - "64370e87202645125a35b207af1231fb6072f9a7": { - "balance": "200000000000000000000" + "0x64370e87202645125a35b207af1231fb6072f9a7": { + "balance": "0xad78ebc5ac6200000" }, - "b055af4cadfcfdb425cf65ba6431078f07ecd5ab": { - "balance": "100000000000000000000" + "0xb055af4cadfcfdb425cf65ba6431078f07ecd5ab": { + "balance": "0x56bc75e2d63100000" }, - "c7de5e8eafb5f62b1a0af2195cf793c7894c9268": { - "balance": "1000000000000000000000" + "0xc7de5e8eafb5f62b1a0af2195cf793c7894c9268": { + "balance": "0x3635c9adc5dea00000" }, - "c63cd7882118b8a91e074d4c8f4ba91851303b9a": { - "balance": "260000000000000000000" + "0xc63cd7882118b8a91e074d4c8f4ba91851303b9a": { + "balance": "0xe18398e7601900000" }, - "164d7aac3eecbaeca1ad5191b753f173fe12ec33": { - "balance": "744090000000000000000" + "0x164d7aac3eecbaeca1ad5191b753f173fe12ec33": { + "balance": "0x285652b8a468690000" }, - "e4fb26d1ca1eecba3d8298d9d148119ac2bbf580": { - "balance": "400000000000000000000" + "0xe4fb26d1ca1eecba3d8298d9d148119ac2bbf580": { + "balance": "0x15af1d78b58c400000" }, - "613ac53be565d46536b820715b9b8d3ae68a4b95": { - "balance": "3760000000000000000000" + "0x613ac53be565d46536b820715b9b8d3ae68a4b95": { + "balance": "0xcbd47b6eaa8cc00000" }, - "7f616c6f008adfa082f34da7d0650460368075fb": { - "balance": "1000000000000000000000" + "0x7f616c6f008adfa082f34da7d0650460368075fb": { + "balance": "0x3635c9adc5dea00000" }, - "9af100cc3dae83a33402051ce4496b16615483f6": { - "balance": "2000000000000000000000" + "0x9af100cc3dae83a33402051ce4496b16615483f6": { + "balance": "0x6c6b935b8bbd400000" }, - "b45cca0d36826662683cf7d0b2fdac687f02d0c4": { - "balance": "1000000000000000000000" + "0xb45cca0d36826662683cf7d0b2fdac687f02d0c4": { + "balance": "0x3635c9adc5dea00000" }, - "93a6b3ab423010f981a7489d4aad25e2625c5741": { - "balance": "20190033000000000000000" + "0x93a6b3ab423010f981a7489d4aad25e2625c5741": { + "balance": "0x44680fe6a1ede4e8000" }, - "ee049af005974dd1c7b3a9ca8d9aa77175ba53aa": { - "balance": "333333000000000000000" + "0xee049af005974dd1c7b3a9ca8d9aa77175ba53aa": { + "balance": "0x1211ecb56d13488000" }, - "687927e3048bb5162ae7c15cf76bd124f9497b9e": { - "balance": "2000000000000000000000" + "0x687927e3048bb5162ae7c15cf76bd124f9497b9e": { + "balance": "0x6c6b935b8bbd400000" }, - "1aa40270d21e5cde86b6316d1ac3c533494b79ed": { - "balance": "20000000000000000000" + "0x1aa40270d21e5cde86b6316d1ac3c533494b79ed": { + "balance": "0x1158e460913d00000" }, - "426259b0a756701a8b663528522156c0288f0f24": { - "balance": "9900000000000000000000" + "0x426259b0a756701a8b663528522156c0288f0f24": { + "balance": "0x218ae196b8d4f300000" }, - "91c75e3cb4aa89f34619a164e2a47898f5674d9c": { - "balance": "2000000000000000000000" + "0x91c75e3cb4aa89f34619a164e2a47898f5674d9c": { + "balance": "0x6c6b935b8bbd400000" }, - "437983388ab59a4ffc215f8e8269461029c3f1c1": { - "balance": "20000000000000000000000" + "0x437983388ab59a4ffc215f8e8269461029c3f1c1": { + "balance": "0x43c33c1937564800000" }, - "272a131a5a656a7a3aca35c8bd202222a7592258": { - "balance": "2674000000000000000000" + "0x272a131a5a656a7a3aca35c8bd202222a7592258": { + "balance": "0x90f534608a72880000" }, - "bc0ca4f217e052753614d6b019948824d0d8688b": { - "balance": "400000000000000000000" + "0xbc0ca4f217e052753614d6b019948824d0d8688b": { + "balance": "0x15af1d78b58c400000" }, - "cc6c03bd603e09de54e9c4d5ac6d41cbce715724": { - "balance": "98500000000000000000" + "0xcc6c03bd603e09de54e9c4d5ac6d41cbce715724": { + "balance": "0x556f64c1fe7fa0000" }, - "d79aff13ba2da75d46240cac0a2467c656949823": { - "balance": "1730000000000000000000" + "0xd79aff13ba2da75d46240cac0a2467c656949823": { + "balance": "0x5dc892aa1131c80000" }, - "477b24eee8839e4fd19d1250bd0b6645794a61ca": { - "balance": "8000000000000000000000" + "0x477b24eee8839e4fd19d1250bd0b6645794a61ca": { + "balance": "0x1b1ae4d6e2ef5000000" }, - "79fd6d48315066c204f9651869c1096c14fc9781": { - "balance": "2000000000000000000000" + "0x79fd6d48315066c204f9651869c1096c14fc9781": { + "balance": "0x6c6b935b8bbd400000" }, - "1463a873555bc0397e575c2471cf77fa9db146e0": { - "balance": "10000000000000000000000" + "0x1463a873555bc0397e575c2471cf77fa9db146e0": { + "balance": "0x21e19e0c9bab2400000" }, - "89ab13ee266d779c35e8bb04cd8a90cc2103a95b": { - "balance": "60000000000000000000000" + "0x89ab13ee266d779c35e8bb04cd8a90cc2103a95b": { + "balance": "0xcb49b44ba602d800000" }, - "90acced7e48c08c6b934646dfa0adf29dc94074f": { - "balance": "56154000000000000000" + "0x90acced7e48c08c6b934646dfa0adf29dc94074f": { + "balance": "0x30b4b157bbd490000" }, - "31ea6eab19d00764e9a95e183f2b1b22fc7dc40f": { - "balance": "20000000000000000000" + "0x31ea6eab19d00764e9a95e183f2b1b22fc7dc40f": { + "balance": "0x1158e460913d00000" }, - "87a53ea39f59a35bada8352521645594a1a714cb": { - "balance": "1910000000000000000000" + "0x87a53ea39f59a35bada8352521645594a1a714cb": { + "balance": "0x678a932062e4180000" }, - "1e1aed85b86c6562cb8fa1eb6f8f3bc9dcae6e79": { - "balance": "4516200000000000000000" + "0x1e1aed85b86c6562cb8fa1eb6f8f3bc9dcae6e79": { + "balance": "0xf4d2dd84259b240000" }, - "e36a8ea87f1e99e8a2dc1b2608d166667c9dfa01": { - "balance": "100000000000000000000" + "0xe36a8ea87f1e99e8a2dc1b2608d166667c9dfa01": { + "balance": "0x56bc75e2d63100000" }, - "ec2cb8b9378dff31aec3c22e0e6dadff314ab5dd": { - "balance": "2000000000000000000000" + "0xec2cb8b9378dff31aec3c22e0e6dadff314ab5dd": { + "balance": "0x6c6b935b8bbd400000" }, - "3cadeb3d3eed3f62311d52553e70df4afce56f23": { - "balance": "4000000000000000000000" + "0x3cadeb3d3eed3f62311d52553e70df4afce56f23": { + "balance": "0xd8d726b7177a800000" }, - "3ceca96bb1cdc214029cbc5e181d398ab94d3d41": { - "balance": "80000000000000000000000" + "0x3ceca96bb1cdc214029cbc5e181d398ab94d3d41": { + "balance": "0x10f0cf064dd592000000" }, - "3283eb7f9137dd39bed55ffe6b8dc845f3e1a079": { - "balance": "66224000000000000000" + "0x3283eb7f9137dd39bed55ffe6b8dc845f3e1a079": { + "balance": "0x3970ae92155780000" }, - "0954a8cb5d321fc3351a7523a617d0f58da676a7": { - "balance": "2506000000000000000000" + "0x0954a8cb5d321fc3351a7523a617d0f58da676a7": { + "balance": "0x87d9bc7aa498e80000" }, - "de33d708a3b89e909eaf653b30fdc3a5d5ccb4b3": { - "balance": "177300000000000000000" + "0xde33d708a3b89e909eaf653b30fdc3a5d5ccb4b3": { + "balance": "0x99c88229fd4c20000" }, - "1c6702b3b05a5114bdbcaeca25531aeeb34835f4": { - "balance": "26071500000000000000000" + "0x1c6702b3b05a5114bdbcaeca25531aeeb34835f4": { + "balance": "0x58556bead45dcae0000" }, - "e5b96fc9ac03d448c1613ac91d15978145dbdfd1": { - "balance": "200000000000000000000" + "0xe5b96fc9ac03d448c1613ac91d15978145dbdfd1": { + "balance": "0xad78ebc5ac6200000" }, - "fbf204c813f836d83962c7870c7808ca347fd33e": { - "balance": "20000000000000000000" + "0xfbf204c813f836d83962c7870c7808ca347fd33e": { + "balance": "0x1158e460913d00000" }, - "3b13631a1b89cb566548899a1d60915cdcc4205b": { - "balance": "2000000000000000000000" + "0x3b13631a1b89cb566548899a1d60915cdcc4205b": { + "balance": "0x6c6b935b8bbd400000" }, - "a87f7abd6fa31194289678efb63cf584ee5e2a61": { - "balance": "4000000000000000000000" + "0xa87f7abd6fa31194289678efb63cf584ee5e2a61": { + "balance": "0xd8d726b7177a800000" }, - "c0a39308a80e9e84aaaf16ac01e3b01d74bd6b2d": { - "balance": "136499000000000000000" + "0xc0a39308a80e9e84aaaf16ac01e3b01d74bd6b2d": { + "balance": "0x7664ddd4c1c0b8000" }, - "ffd6da958eecbc016bab91058440d39b41c7be83": { - "balance": "20000000000000000000000" + "0xffd6da958eecbc016bab91058440d39b41c7be83": { + "balance": "0x43c33c1937564800000" }, - "0e3dd7d4e429fe3930a6414035f52bdc599d784d": { - "balance": "40110000000000000000" + "0x0e3dd7d4e429fe3930a6414035f52bdc599d784d": { + "balance": "0x22ca3587cf4eb0000" }, - "e0663e8cd66792a641f56e5003660147880f018e": { - "balance": "2000000000000000000000" + "0xe0663e8cd66792a641f56e5003660147880f018e": { + "balance": "0x6c6b935b8bbd400000" }, - "5b78eca27fbdea6f26befba8972b295e7814364b": { - "balance": "2000000000000000000000" + "0x5b78eca27fbdea6f26befba8972b295e7814364b": { + "balance": "0x6c6b935b8bbd400000" }, - "ec9851bd917270610267d60518b54d3ca2b35b17": { - "balance": "40000000000000000000000" + "0xec9851bd917270610267d60518b54d3ca2b35b17": { + "balance": "0x878678326eac9000000" }, - "bc9c95dfab97a574cea2aa803b5caa197cef0cff": { - "balance": "420000000000000000000" + "0xbc9c95dfab97a574cea2aa803b5caa197cef0cff": { + "balance": "0x16c4abbebea0100000" }, - "100b4d0977fcbad4debd5e64a0497aeae5168fab": { - "balance": "314500000000000000000" + "0x100b4d0977fcbad4debd5e64a0497aeae5168fab": { + "balance": "0x110c9073b5245a0000" }, - "1b6610fb68bad6ed1cfaa0bbe33a24eb2e96fafb": { - "balance": "152000000000000000000" + "0x1b6610fb68bad6ed1cfaa0bbe33a24eb2e96fafb": { + "balance": "0x83d6c7aab63600000" }, - "b4524c95a7860e21840296a616244019421c4aba": { - "balance": "8000000000000000000000" + "0xb4524c95a7860e21840296a616244019421c4aba": { + "balance": "0x1b1ae4d6e2ef5000000" }, - "88975a5f1ef2528c300b83c0c607b8e87dd69315": { - "balance": "83500000000000000000" + "0x88975a5f1ef2528c300b83c0c607b8e87dd69315": { + "balance": "0x486cb9799191e0000" }, - "853e6abaf44469c72f151d4e223819aced4e3728": { - "balance": "2000000000000000000000" + "0x853e6abaf44469c72f151d4e223819aced4e3728": { + "balance": "0x6c6b935b8bbd400000" }, - "d604abce4330842e3d396ca73ddb5519ed3ec03f": { - "balance": "163940000000000000000" + "0xd604abce4330842e3d396ca73ddb5519ed3ec03f": { + "balance": "0x8e31fe1689d8a0000" }, - "d209482bb549abc4777bea6d7f650062c9c57a1c": { - "balance": "320880000000000000000" + "0xd209482bb549abc4777bea6d7f650062c9c57a1c": { + "balance": "0x11651ac3e7a7580000" }, - "590acbda37290c0d3ec84fc2000d7697f9a4b15d": { - "balance": "500000000000000000000" + "0x590acbda37290c0d3ec84fc2000d7697f9a4b15d": { + "balance": "0x1b1ae4d6e2ef500000" }, - "571950ea2c90c1427d939d61b4f2de4cf1cfbfb0": { - "balance": "20000000000000000000" + "0x571950ea2c90c1427d939d61b4f2de4cf1cfbfb0": { + "balance": "0x1158e460913d00000" }, - "cb94e76febe208116733e76e805d48d112ec9fca": { - "balance": "1000000000000000000000" + "0xcb94e76febe208116733e76e805d48d112ec9fca": { + "balance": "0x3635c9adc5dea00000" }, - "fa8e3b1f13433900737daaf1f6299c4887f85b5f": { - "balance": "715000000000000000000" + "0xfa8e3b1f13433900737daaf1f6299c4887f85b5f": { + "balance": "0x26c29e47c4844c0000" }, - "162d76c2e6514a3afb6fe3d3cb93a35c5ae783f1": { - "balance": "2000000000000000000000" + "0x162d76c2e6514a3afb6fe3d3cb93a35c5ae783f1": { + "balance": "0x6c6b935b8bbd400000" }, - "4bea288eea42c4955eb9faad2a9faf4783cbddac": { - "balance": "28790618000000000000000" + "0x4bea288eea42c4955eb9faad2a9faf4783cbddac": { + "balance": "0x618be1663c4af490000" }, - "c8ab1a3cf46cb8b064df2e222d39607394203277": { - "balance": "2000000000000000000000" + "0xc8ab1a3cf46cb8b064df2e222d39607394203277": { + "balance": "0x6c6b935b8bbd400000" }, - "318b2ea5f0aaa879c4d5e548ac9d92a0c67487b7": { - "balance": "200000000000000000000" + "0x318b2ea5f0aaa879c4d5e548ac9d92a0c67487b7": { + "balance": "0xad78ebc5ac6200000" }, - "53c5fe0119e1e848640cee30adea96940f2a5d8b": { - "balance": "21746000000000000000000" + "0x53c5fe0119e1e848640cee30adea96940f2a5d8b": { + "balance": "0x49ada5fa8c10c880000" }, - "0701f9f147ec486856f5e1b71de9f117e99e2105": { - "balance": "173360000000000000000" + "0x0701f9f147ec486856f5e1b71de9f117e99e2105": { + "balance": "0x965da717fd5b80000" }, - "337cfe1157a5c6912010dd561533791769c2b6a6": { - "balance": "1000000000000000000000" + "0x337cfe1157a5c6912010dd561533791769c2b6a6": { + "balance": "0x3635c9adc5dea00000" }, - "fd60d2b5af3d35f7aaf0c393052e79c4d823d985": { - "balance": "56400000000000000000" + "0xfd60d2b5af3d35f7aaf0c393052e79c4d823d985": { + "balance": "0x30eb50d2e14080000" }, - "0f049a8bdfd761de8ec02cee2829c4005b23c06b": { - "balance": "252000000000000000000" + "0x0f049a8bdfd761de8ec02cee2829c4005b23c06b": { + "balance": "0xda933d8d8c6700000" }, - "924bce7a853c970bb5ec7bb759baeb9c7410857b": { - "balance": "13700000000000000000" + "0x924bce7a853c970bb5ec7bb759baeb9c7410857b": { + "balance": "0xbe202d6a0eda0000" }, - "16abb8b021a710bdc78ea53494b20614ff4eafe8": { - "balance": "158000000000000000000" + "0x16abb8b021a710bdc78ea53494b20614ff4eafe8": { + "balance": "0x890b0c2e14fb80000" }, - "9e7f65a90e8508867bccc914256a1ea574cf07e3": { - "balance": "1240000000000000000000" + "0x9e7f65a90e8508867bccc914256a1ea574cf07e3": { + "balance": "0x433874f632cc600000" }, - "01d03815c61f416b71a2610a2daba59ff6a6de5b": { - "balance": "9553100000000000000000" + "0x01d03815c61f416b71a2610a2daba59ff6a6de5b": { + "balance": "0x205dfe50b81c82e0000" }, - "3df762049eda8ac6927d904c7af42f94e5519601": { - "balance": "2000000000000000000000" + "0x3df762049eda8ac6927d904c7af42f94e5519601": { + "balance": "0x6c6b935b8bbd400000" }, - "5593c9d4b664730fd93ca60151c25c2eaed93c3b": { - "balance": "200000000000000000000" + "0x5593c9d4b664730fd93ca60151c25c2eaed93c3b": { + "balance": "0xad78ebc5ac6200000" }, - "e023f09b2887612c7c9cf1988e3a3a602b3394c9": { - "balance": "2000000000000000000000" + "0xe023f09b2887612c7c9cf1988e3a3a602b3394c9": { + "balance": "0x6c6b935b8bbd400000" }, - "4c13980c32dcf3920b78a4a7903312907c1b123f": { - "balance": "60024000000000000000" + "0x4c13980c32dcf3920b78a4a7903312907c1b123f": { + "balance": "0x3410015faae0c0000" }, - "a282e969cac9f7a0e1c0cd90f5d0c438ac570da3": { - "balance": "627760000000000000000" + "0xa282e969cac9f7a0e1c0cd90f5d0c438ac570da3": { + "balance": "0x2207eb89fc27380000" }, - "3b22da2a0271c8efe102532773636a69b1c17e09": { - "balance": "502000000000000000000" + "0x3b22da2a0271c8efe102532773636a69b1c17e09": { + "balance": "0x1b36a6444a3e180000" }, - "1aa1021f550af158c747668dd13b463160f95a40": { - "balance": "1470000000000000000000" + "0x1aa1021f550af158c747668dd13b463160f95a40": { + "balance": "0x4fb0591b9b30380000" }, - "f15178ffc43aa8070ece327e930f809ab1a54f9d": { - "balance": "197600000000000000000" + "0xf15178ffc43aa8070ece327e930f809ab1a54f9d": { + "balance": "0xab640391201300000" }, - "db1293a506e90cad2a59e1b8561f5e66961a6788": { - "balance": "2000000000000000000000" + "0xdb1293a506e90cad2a59e1b8561f5e66961a6788": { + "balance": "0x6c6b935b8bbd400000" }, - "88c361640d6b69373b081ce0c433bd590287d5ec": { - "balance": "50000000000000000000000" + "0x88c361640d6b69373b081ce0c433bd590287d5ec": { + "balance": "0xa968163f0a57b400000" }, - "3737216ee91f177732fb58fa4097267207e2cf55": { - "balance": "1520000000000000000000" + "0x3737216ee91f177732fb58fa4097267207e2cf55": { + "balance": "0x52663ccab1e1c00000" }, - "a16d9e3d63986159a800b46837f45e8bb980ee0b": { - "balance": "2030400000000000000000" + "0xa16d9e3d63986159a800b46837f45e8bb980ee0b": { + "balance": "0x6e1175da7ad1200000" }, - "ec76f12e57a65504033f2c0bce6fc03bd7fa0ac4": { - "balance": "3580000000000000000000" + "0xec76f12e57a65504033f2c0bce6fc03bd7fa0ac4": { + "balance": "0xc2127af858da700000" }, - "d9f1b26408f0ec67ad1d0d6fe22e8515e1740624": { - "balance": "24000000000000000000" + "0xd9f1b26408f0ec67ad1d0d6fe22e8515e1740624": { + "balance": "0x14d1120d7b1600000" }, - "716ba01ead2a91270635f95f25bfaf2dd610ca23": { - "balance": "44750000000000000000000" + "0x716ba01ead2a91270635f95f25bfaf2dd610ca23": { + "balance": "0x979e7012056aa780000" }, - "42a98bf16027ce589c4ed2c95831e2724205064e": { - "balance": "10000000000000000000000" + "0x42a98bf16027ce589c4ed2c95831e2724205064e": { + "balance": "0x21e19e0c9bab2400000" }, - "0f88aac9346cb0e7347fba70905475ba8b3e5ece": { - "balance": "10000000000000000000000" + "0x0f88aac9346cb0e7347fba70905475ba8b3e5ece": { + "balance": "0x21e19e0c9bab2400000" }, - "2d8c52329f38d2a2fa9cbaf5c583daf1490bb11c": { - "balance": "20000000000000000000" + "0x2d8c52329f38d2a2fa9cbaf5c583daf1490bb11c": { + "balance": "0x1158e460913d00000" }, - "3cea302a472a940379dd398a24eafdbadf88ad79": { - "balance": "3000000000000000000000" + "0x3cea302a472a940379dd398a24eafdbadf88ad79": { + "balance": "0xa2a15d09519be00000" }, - "a29d5bda74e003474872bd5894b88533ff64c2b5": { - "balance": "10000000000000000000000" + "0xa29d5bda74e003474872bd5894b88533ff64c2b5": { + "balance": "0x21e19e0c9bab2400000" }, - "2d23766b6f6b05737dad80a419c40eda4d77103e": { - "balance": "3820000000000000000000" + "0x2d23766b6f6b05737dad80a419c40eda4d77103e": { + "balance": "0xcf152640c5c8300000" }, - "b07249e055044a9155359a402937bbd954fe48b6": { - "balance": "100000000000000000000" + "0xb07249e055044a9155359a402937bbd954fe48b6": { + "balance": "0x56bc75e2d63100000" }, - "f1e980c559a1a8e5e50a47f8fffdc773b7e06a54": { - "balance": "30104784000000000000000" + "0xf1e980c559a1a8e5e50a47f8fffdc773b7e06a54": { + "balance": "0x65ffbcdea04b7480000" }, - "8275cd684c3679d5887d03664e338345dc3cdde1": { - "balance": "15800000000000000000" + "0x8275cd684c3679d5887d03664e338345dc3cdde1": { + "balance": "0xdb44e049bb2c0000" }, - "b27c1a24204c1e118d75149dd109311e07c073ab": { - "balance": "3100000000000000000000" + "0xb27c1a24204c1e118d75149dd109311e07c073ab": { + "balance": "0xa80d24677efef00000" }, - "451b3699475bed5d7905f8905aa3456f1ed788fc": { - "balance": "2560000000000000000000" + "0x451b3699475bed5d7905f8905aa3456f1ed788fc": { + "balance": "0x8ac7230489e8000000" }, - "31ad4d9946ef09d8e988d946b1227f9141901736": { - "balance": "22880000000000000000000" + "0x31ad4d9946ef09d8e988d946b1227f9141901736": { + "balance": "0x4d853c8f89089800000" }, - "52b8a9592634f7300b7c5c59a3345b835f01b95c": { - "balance": "2000000000000000000000" + "0x52b8a9592634f7300b7c5c59a3345b835f01b95c": { + "balance": "0x6c6b935b8bbd400000" }, - "b161725fdcedd17952d57b23ef285b7e4b1169e8": { - "balance": "50071000000000000000" + "0xb161725fdcedd17952d57b23ef285b7e4b1169e8": { + "balance": "0x2b6dfed3664958000" }, - "74fc5a99c0c5460503a13b0509459da19ce7cd90": { - "balance": "200000000000000000000" + "0x74fc5a99c0c5460503a13b0509459da19ce7cd90": { + "balance": "0xad78ebc5ac6200000" }, - "d99df7421b9382e42c89b006c7f087702a0757c0": { - "balance": "480000000000000000000" + "0xd99df7421b9382e42c89b006c7f087702a0757c0": { + "balance": "0x1a055690d9db800000" }, - "8a4f4a7f52a355ba105fca2072d3065fc8f7944b": { - "balance": "500000000000000000000" + "0x8a4f4a7f52a355ba105fca2072d3065fc8f7944b": { + "balance": "0x1b1ae4d6e2ef500000" }, - "12316fc7f178eac22eb2b25aedeadf3d75d00177": { - "balance": "19999999000000000000000" + "0x12316fc7f178eac22eb2b25aedeadf3d75d00177": { + "balance": "0x43c33be05f6bfb98000" }, - "f598db2e09a8a5ee7d720d2b5c43bb126d11ecc2": { - "balance": "200000000000000000000" + "0xf598db2e09a8a5ee7d720d2b5c43bb126d11ecc2": { + "balance": "0xad78ebc5ac6200000" }, - "37b8beac7b1ca38829d61ab552c766f48a10c32f": { - "balance": "400000000000000000000" + "0x37b8beac7b1ca38829d61ab552c766f48a10c32f": { + "balance": "0x15af1d78b58c400000" }, - "851dc38adb4593729a76f33a8616dab6f5f59a77": { - "balance": "100000000000000000000" + "0x851dc38adb4593729a76f33a8616dab6f5f59a77": { + "balance": "0x56bc75e2d63100000" }, - "bf4096bc547dbfc4e74809a31c039e7b389d5e17": { - "balance": "3940000000000000000000" + "0xbf4096bc547dbfc4e74809a31c039e7b389d5e17": { + "balance": "0xd5967be4fc3f100000" }, - "98d3731992d1d40e1211c7f735f2189afa0702e0": { - "balance": "8000000000000000000000" + "0x98d3731992d1d40e1211c7f735f2189afa0702e0": { + "balance": "0x1b1ae4d6e2ef5000000" }, - "0f4073c1b99df60a1549d69789c7318d9403a814": { - "balance": "20000000000000000000000" + "0x0f4073c1b99df60a1549d69789c7318d9403a814": { + "balance": "0x43c33c1937564800000" }, - "a430995ddb185b9865dbe62539ad90d22e4b73c2": { - "balance": "10000000000000000000000" + "0xa430995ddb185b9865dbe62539ad90d22e4b73c2": { + "balance": "0x21e19e0c9bab2400000" }, - "898c72dd736558ef9e4be9fdc34fef54d7fc7e08": { - "balance": "1000000000000000000000" + "0x898c72dd736558ef9e4be9fdc34fef54d7fc7e08": { + "balance": "0x3635c9adc5dea00000" }, - "f9b617f752edecae3e909fbb911d2f8192f84209": { - "balance": "2674000000000000000000" + "0xf9b617f752edecae3e909fbb911d2f8192f84209": { + "balance": "0x90f534608a72880000" }, - "e1ae029b17e373cde3de5a9152201a14cac4e119": { - "balance": "99968000000000000000" + "0xe1ae029b17e373cde3de5a9152201a14cac4e119": { + "balance": "0x56b55ae58ca400000" }, - "d8e8474292e7a051604ca164c0707783bb2885e8": { - "balance": "13370000000000000000000" + "0xd8e8474292e7a051604ca164c0707783bb2885e8": { + "balance": "0x2d4ca05e2b43ca80000" }, - "f476f2cb7208a32e051fd94ea8662992638287a2": { - "balance": "100000000000000000000" + "0xf476f2cb7208a32e051fd94ea8662992638287a2": { + "balance": "0x56bc75e2d63100000" }, - "3a84e950ed410e51b7e8801049ab2634b285fea1": { - "balance": "18690000000000000000000" + "0x3a84e950ed410e51b7e8801049ab2634b285fea1": { + "balance": "0x3f52fdaa822d2c80000" }, - "5b7784caea01799ca30227827667ce207c5cbc76": { - "balance": "2000000000000000000000" + "0x5b7784caea01799ca30227827667ce207c5cbc76": { + "balance": "0x6c6b935b8bbd400000" }, - "3af65b3e28895a4a001153391d1e69c31fb9db39": { - "balance": "3940000000000000000000" + "0x3af65b3e28895a4a001153391d1e69c31fb9db39": { + "balance": "0xd5967be4fc3f100000" }, - "95fb5afb14c1ef9ab7d179c5c300503fd66a5ee2": { - "balance": "34225000000000000000" + "0x95fb5afb14c1ef9ab7d179c5c300503fd66a5ee2": { + "balance": "0x1daf7a02b0dbe8000" }, - "a8446c4781a737ac4328b1e15b8a0b3fbb0fd668": { - "balance": "21390500000000000000000" + "0xa8446c4781a737ac4328b1e15b8a0b3fbb0fd668": { + "balance": "0x48794d1f246192a0000" }, - "4888fb25cd50dbb9e048f41ca47d78b78a27c7d9": { - "balance": "17300000000000000000000" + "0x4888fb25cd50dbb9e048f41ca47d78b78a27c7d9": { + "balance": "0x3a9d5baa4abf1d00000" }, - "566c10d638e8b88b47d6e6a414497afdd00600d4": { - "balance": "99960000000000000000" + "0x566c10d638e8b88b47d6e6a414497afdd00600d4": { + "balance": "0x56b394263a40c0000" }, - "bd47f5f76e3b930fd9485209efa0d4763da07568": { - "balance": "1000000000000000000000" + "0xbd47f5f76e3b930fd9485209efa0d4763da07568": { + "balance": "0x3635c9adc5dea00000" }, - "1e1c6351776ac31091397ecf16002d979a1b2d51": { - "balance": "1400000000000000000000" + "0x1e1c6351776ac31091397ecf16002d979a1b2d51": { + "balance": "0x4be4e7267b6ae00000" }, - "edf603890228d7d5de9309942b5cad4219ef9ad7": { - "balance": "5000000000000000000000" + "0xedf603890228d7d5de9309942b5cad4219ef9ad7": { + "balance": "0x10f0cf064dd59200000" }, - "1923cfc68b13ea7e2055803645c1e320156bd88d": { - "balance": "1337000000000000000000" + "0x1923cfc68b13ea7e2055803645c1e320156bd88d": { + "balance": "0x487a9a304539440000" }, - "8f8f37d0ad8f335d2a7101b41156b688a81a9cbe": { - "balance": "70000000000000000000" + "0x8f8f37d0ad8f335d2a7101b41156b688a81a9cbe": { + "balance": "0x3cb71f51fc5580000" }, - "63334fcf1745840e4b094a3bb40bb76f9604c04c": { - "balance": "3978000000000000000000" + "0x63334fcf1745840e4b094a3bb40bb76f9604c04c": { + "balance": "0xd7a5d703a717e80000" }, - "001762430ea9c3a26e5749afdb70da5f78ddbb8c": { - "balance": "200000000000000000000" + "0x001762430ea9c3a26e5749afdb70da5f78ddbb8c": { + "balance": "0xad78ebc5ac6200000" }, - "512116817ba9aaf843d1507c65a5ea640a7b9eec": { - "balance": "50000000000000000000" + "0x512116817ba9aaf843d1507c65a5ea640a7b9eec": { + "balance": "0x2b5e3af16b1880000" }, - "2961fb391c61957cb5c9e407dda29338d3b92c80": { - "balance": "999942000000000000000" + "0x2961fb391c61957cb5c9e407dda29338d3b92c80": { + "balance": "0x3634fb9f1489a70000" }, - "fc2952b4c49fedd0bc0528a308495e6d6a1c71d6": { - "balance": "2000000000000000000000" + "0xfc2952b4c49fedd0bc0528a308495e6d6a1c71d6": { + "balance": "0x6c6b935b8bbd400000" }, - "13ec812284026e409bc066dfebf9d5a4a2bf801e": { - "balance": "1610000000000000000000" + "0x13ec812284026e409bc066dfebf9d5a4a2bf801e": { + "balance": "0x57473d05dabae80000" }, - "ef463c2679fb279164e20c3d2691358773a0ad95": { - "balance": "2000000000000000000000" + "0xef463c2679fb279164e20c3d2691358773a0ad95": { + "balance": "0x6c6b935b8bbd400000" }, - "3aadf98b61e5c896e7d100a3391d3250225d61df": { - "balance": "234000000000000000000" + "0x3aadf98b61e5c896e7d100a3391d3250225d61df": { + "balance": "0xcaf67003701680000" }, - "e8137fc1b2ec7cc7103af921899b4a39e1d959a1": { - "balance": "1490000000000000000000" + "0xe8137fc1b2ec7cc7103af921899b4a39e1d959a1": { + "balance": "0x50c5e761a444080000" }, - "b1a2b43a7433dd150bb82227ed519cd6b142d382": { - "balance": "2738000000000000000000" + "0xb1a2b43a7433dd150bb82227ed519cd6b142d382": { + "balance": "0x946d620d744b880000" }, - "c1f39bd35dd9cec337b96f47c677818160df37b7": { - "balance": "20000000000000000000" + "0xc1f39bd35dd9cec337b96f47c677818160df37b7": { + "balance": "0x1158e460913d00000" }, - "b587b44a2ca79e4bc1dd8bfdd43a207150f2e7e0": { - "balance": "630400000000000000000" + "0xb587b44a2ca79e4bc1dd8bfdd43a207150f2e7e0": { + "balance": "0x222c8eb3ff66400000" }, - "41485612d03446ec4c05e5244e563f1cbae0f197": { - "balance": "970000000000000000000" + "0x41485612d03446ec4c05e5244e563f1cbae0f197": { + "balance": "0x34957444b840e80000" }, - "a12623e629df93096704b16084be2cd89d562da4": { - "balance": "8500000000000000000000" + "0xa12623e629df93096704b16084be2cd89d562da4": { + "balance": "0x1ccc9324511e4500000" }, - "3f2f381491797cc5c0d48296c14fd0cd00cdfa2d": { - "balance": "804000000000000000000" + "0x3f2f381491797cc5c0d48296c14fd0cd00cdfa2d": { + "balance": "0x2b95bdcc39b6100000" }, - "9470cc36594586821821c5c996b6edc83b6d5a32": { - "balance": "24000000000000000000" + "0x9470cc36594586821821c5c996b6edc83b6d5a32": { + "balance": "0x14d1120d7b1600000" }, - "3605372d93a9010988018f9f315d032ed1880fa1": { - "balance": "500066000000000000000" + "0x3605372d93a9010988018f9f315d032ed1880fa1": { + "balance": "0x1b1bcf51896a7d0000" }, - "12632388b2765ee4452b50161d1fffd91ab81f4a": { - "balance": "740000000000000000000" + "0x12632388b2765ee4452b50161d1fffd91ab81f4a": { + "balance": "0x281d901f4fdd100000" }, - "274a3d771a3d709796fbc4d5f48fce2fe38c79d6": { - "balance": "20000000000000000000" + "0x274a3d771a3d709796fbc4d5f48fce2fe38c79d6": { + "balance": "0x1158e460913d00000" }, - "d60a52580728520df7546bc1e283291788dbae0c": { - "balance": "999910000000000000000" + "0xd60a52580728520df7546bc1e283291788dbae0c": { + "balance": "0x363489ef3ff0d70000" }, - "1ab53a11bcc63ddfaa40a02b9e186496cdbb8aff": { - "balance": "1996800000000000000000" + "0x1ab53a11bcc63ddfaa40a02b9e186496cdbb8aff": { + "balance": "0x6c3f2aac800c000000" }, - "c282e6993fbe7a912ea047153ffd9274270e285b": { - "balance": "139939000000000000000" + "0xc282e6993fbe7a912ea047153ffd9274270e285b": { + "balance": "0x7960b331247638000" }, - "a291e9c7990d552dd1ae16cebc3fca342cbaf1d1": { - "balance": "20000000000000000000000" + "0xa291e9c7990d552dd1ae16cebc3fca342cbaf1d1": { + "balance": "0x43c33c1937564800000" }, - "5547fdb4ae11953e01292b7807fa9223d0e4606a": { - "balance": "98940000000000000000" + "0x5547fdb4ae11953e01292b7807fa9223d0e4606a": { + "balance": "0x55d117dcb1d260000" }, - "bded11612fb5c6da99d1e30e320bc0995466141e": { - "balance": "400000000000000000000" + "0xbded11612fb5c6da99d1e30e320bc0995466141e": { + "balance": "0x15af1d78b58c400000" }, - "b73b4ff99eb88fd89b0b6d57a9bc338e886fa06a": { - "balance": "32000000000000000000" + "0xb73b4ff99eb88fd89b0b6d57a9bc338e886fa06a": { + "balance": "0x1bc16d674ec800000" }, - "b1c751786939bba0d671a677a158c6abe7265e46": { - "balance": "10000000000000000000000" + "0xb1c751786939bba0d671a677a158c6abe7265e46": { + "balance": "0x21e19e0c9bab2400000" }, - "e881bbbe69722d81efecaa48d1952a10a2bfac8f": { - "balance": "16000000000000000000000" + "0xe881bbbe69722d81efecaa48d1952a10a2bfac8f": { + "balance": "0x3635c9adc5dea000000" }, - "fe96c4cd381562401aa32a86e65b9d52fa8aee27": { - "balance": "2640000000000000000000" + "0xfe96c4cd381562401aa32a86e65b9d52fa8aee27": { + "balance": "0x8f1d5c1cae37400000" }, - "683dba36f7e94f40ea6aea0d79b8f521de55076e": { - "balance": "140000000000000000000" + "0x683dba36f7e94f40ea6aea0d79b8f521de55076e": { + "balance": "0x796e3ea3f8ab00000" }, - "5ac2908b0f398c0df5bac2cb13ca7314fba8fa3d": { - "balance": "199800000000000000000" + "0x5ac2908b0f398c0df5bac2cb13ca7314fba8fa3d": { + "balance": "0xad4c8316a0b0c0000" }, - "8914a680a5aec5226d4baaec2e5552b44dd7c874": { - "balance": "100076000000000000000" + "0x8914a680a5aec5226d4baaec2e5552b44dd7c874": { + "balance": "0x56cd55fc64dfe0000" }, - "041170f581de80e58b2a045c8f7c1493b001b7cb": { - "balance": "889800000000000000000" + "0x041170f581de80e58b2a045c8f7c1493b001b7cb": { + "balance": "0x303c74a1a336940000" }, - "4665e47396c7db97eb2a03d90863d5d4ba319a94": { - "balance": "600000000000000000000" + "0x4665e47396c7db97eb2a03d90863d5d4ba319a94": { + "balance": "0x2086ac351052600000" }, - "ed4be04a052d7accb3dcce90319dba4020ab2c68": { - "balance": "37547947000000000000000" + "0xed4be04a052d7accb3dcce90319dba4020ab2c68": { + "balance": "0x7f37a70eaf362178000" }, - "4b0619d9d8aa313a9531ac7dbe04ca0d6a5ad1b6": { - "balance": "2000000000000000000000" + "0x4b0619d9d8aa313a9531ac7dbe04ca0d6a5ad1b6": { + "balance": "0x6c6b935b8bbd400000" }, - "a21442ab05340ade68c915f3c3399b9955f3f7eb": { - "balance": "775000000000000000000" + "0xa21442ab05340ade68c915f3c3399b9955f3f7eb": { + "balance": "0x2a034919dfbfbc0000" }, - "655934da8e744eaa3de34dbbc0894c4eda0b61f2": { - "balance": "200000000000000000000" + "0x655934da8e744eaa3de34dbbc0894c4eda0b61f2": { + "balance": "0xad78ebc5ac6200000" }, - "6038740ae28d66ba93b0be08482b3205a0f7a07b": { - "balance": "316000000000000000000" + "0x6038740ae28d66ba93b0be08482b3205a0f7a07b": { + "balance": "0x11216185c29f700000" }, - "99924a9816bb7ddf3fec1844828e9ad7d06bf4e6": { - "balance": "1760000000000000000000" + "0x99924a9816bb7ddf3fec1844828e9ad7d06bf4e6": { + "balance": "0x5f68e8131ecf800000" }, - "6847825bdee8240e28042c83cad642f286a3bddc": { - "balance": "1500000000000000000000" + "0x6847825bdee8240e28042c83cad642f286a3bddc": { + "balance": "0x5150ae84a8cdf00000" }, - "a718aaad59bf395cba2b23e09b02fe0c89816247": { - "balance": "999600000000000000000" + "0xa718aaad59bf395cba2b23e09b02fe0c89816247": { + "balance": "0x36303c97e468780000" }, - "2c89f5fdca3d155409b638b98a742e55eb4652b7": { - "balance": "98500000000000000000000" + "0x2c89f5fdca3d155409b638b98a742e55eb4652b7": { + "balance": "0x14dbb2195ca228900000" }, - "1a7044e2383f8708305b495bd1176b92e7ef043a": { - "balance": "200000000000000000000" + "0x1a7044e2383f8708305b495bd1176b92e7ef043a": { + "balance": "0xad78ebc5ac6200000" }, - "282e80a554875a56799fa0a97f5510e795974c4e": { - "balance": "1000000000000000000000" + "0x282e80a554875a56799fa0a97f5510e795974c4e": { + "balance": "0x3635c9adc5dea00000" }, - "ffb3bcc3196a8c3cb834cec94c34fed35b3e1054": { - "balance": "1340000000000000000000" + "0xffb3bcc3196a8c3cb834cec94c34fed35b3e1054": { + "balance": "0x48a43c54602f700000" }, - "d135794b149a18e147d16e621a6931f0a40a969a": { - "balance": "20000000000000000000000" + "0xd135794b149a18e147d16e621a6931f0a40a969a": { + "balance": "0x43c33c1937564800000" }, - "6b94615db750656ac38c7e1cf29a9d13677f4e15": { - "balance": "12000000000000000000000" + "0x6b94615db750656ac38c7e1cf29a9d13677f4e15": { + "balance": "0x28a857425466f800000" }, - "ecbe425e670d39094e20fb5643a9d818eed236de": { - "balance": "5000000000000000000000" + "0xecbe425e670d39094e20fb5643a9d818eed236de": { + "balance": "0x10f0cf064dd59200000" }, - "511e0efb04ac4e3ff2e6550e498295bfcd56ffd5": { - "balance": "668500000000000000000" + "0x511e0efb04ac4e3ff2e6550e498295bfcd56ffd5": { + "balance": "0x243d4d18229ca20000" }, - "ff65511cada259260c1ddc41974ecaecd32d6357": { - "balance": "1760000000000000000000" + "0xff65511cada259260c1ddc41974ecaecd32d6357": { + "balance": "0x5f68e8131ecf800000" }, - "9ffc5fe06f33f5a480b75aa94eb8556d997a16c0": { - "balance": "20000000000000000000" + "0x9ffc5fe06f33f5a480b75aa94eb8556d997a16c0": { + "balance": "0x1158e460913d00000" }, - "57df23bebdc65eb75feb9cb2fad1c073692b2baf": { - "balance": "4000000000000000000000" + "0x57df23bebdc65eb75feb9cb2fad1c073692b2baf": { + "balance": "0xd8d726b7177a800000" }, - "207ef80b5d60b6fbffc51f3a64b8c72036a5abbd": { - "balance": "6685000000000000000000" + "0x207ef80b5d60b6fbffc51f3a64b8c72036a5abbd": { + "balance": "0x16a6502f15a1e540000" }, - "c573e841fa08174a208b060ccb7b4c0d7697127f": { - "balance": "668500000000000000000" + "0xc573e841fa08174a208b060ccb7b4c0d7697127f": { + "balance": "0x243d4d18229ca20000" }, - "411610b178d5617dfab934d293f512a93e5c10e1": { - "balance": "170000000000000000000" + "0x411610b178d5617dfab934d293f512a93e5c10e1": { + "balance": "0x93739534d28680000" }, - "9991614c5baa47dd6c96874645f97add2c3d8380": { - "balance": "1970000000000000000000" + "0x9991614c5baa47dd6c96874645f97add2c3d8380": { + "balance": "0x6acb3df27e1f880000" }, - "2d3480bf0865074a72c7759ee5137b4d70c51ce9": { - "balance": "200000000000000000000" + "0x2d3480bf0865074a72c7759ee5137b4d70c51ce9": { + "balance": "0xad78ebc5ac6200000" }, - "9d40e012f60425a340d82d03a1c757bfabc706fb": { - "balance": "169799000000000000000" + "0x9d40e012f60425a340d82d03a1c757bfabc706fb": { + "balance": "0x9346f3addc88d8000" }, - "47648bed01f3cd3249084e635d14daa9e7ec3c8a": { - "balance": "194000000000000000000" + "0x47648bed01f3cd3249084e635d14daa9e7ec3c8a": { + "balance": "0xa844a7424d9c80000" }, - "a5ff62222d80c013cec1a0e8850ed4d354dac16d": { - "balance": "207600000000000000000" + "0xa5ff62222d80c013cec1a0e8850ed4d354dac16d": { + "balance": "0xb41075c168b180000" }, - "f80d3619702fa5838c48391859a839fb9ce7160f": { - "balance": "1992800000000000000000" + "0xf80d3619702fa5838c48391859a839fb9ce7160f": { + "balance": "0x6c07a7d1b16e700000" }, - "7c0f5e072043c9ee740242197e78cc4b98cdf960": { - "balance": "200000000000000000000" + "0x7c0f5e072043c9ee740242197e78cc4b98cdf960": { + "balance": "0xad78ebc5ac6200000" }, - "a40aa2bbce0c72b4d0dfffcc42715b2b54b01bfa": { - "balance": "1000000000000000000000" + "0xa40aa2bbce0c72b4d0dfffcc42715b2b54b01bfa": { + "balance": "0x3635c9adc5dea00000" }, - "2eeed50471a1a2bf53ee30b1232e6e9d80ef866d": { - "balance": "20000000000000000000" + "0x2eeed50471a1a2bf53ee30b1232e6e9d80ef866d": { + "balance": "0x1158e460913d00000" }, - "0c2808b951ed9e872d7b32790fcc5994ae41ffdc": { - "balance": "102000000000000000000000" + "0x0c2808b951ed9e872d7b32790fcc5994ae41ffdc": { + "balance": "0x15996e5b3cd6b3c00000" }, - "7f06c89d59807fa60bc60136fcf814cbaf2543bd": { - "balance": "10000000000000000000000" + "0x7f06c89d59807fa60bc60136fcf814cbaf2543bd": { + "balance": "0x21e19e0c9bab2400000" }, - "8d4b603c5dd4570c34669515fdcc665890840c77": { - "balance": "18200000000000000000" + "0x8d4b603c5dd4570c34669515fdcc665890840c77": { + "balance": "0xfc936392801c0000" }, - "d5e5c135d0c4c3303934711993d0d16ff9e7baa0": { - "balance": "2000000000000000000000" + "0xd5e5c135d0c4c3303934711993d0d16ff9e7baa0": { + "balance": "0x6c6b935b8bbd400000" }, - "241361559feef80ef137302153bd9ed2f25db3ef": { - "balance": "20000000000000000000000" + "0x241361559feef80ef137302153bd9ed2f25db3ef": { + "balance": "0x43c33c1937564800000" }, - "db63122de7037da4971531fae9af85867886c692": { - "balance": "277000000000000000000" + "0xdb63122de7037da4971531fae9af85867886c692": { + "balance": "0xf0425b0641f340000" }, - "417e4e2688b1fd66d821529e46ed4f42f8b3db3d": { - "balance": "2000000000000000000000" + "0x417e4e2688b1fd66d821529e46ed4f42f8b3db3d": { + "balance": "0x6c6b935b8bbd400000" }, - "127db1cadf1b771cbd7475e1b272690f558c8565": { - "balance": "14000000000000000000000" + "0x127db1cadf1b771cbd7475e1b272690f558c8565": { + "balance": "0x2f6f10780d22cc00000" }, - "48659d8f8c9a2fd44f68daa55d23a608fbe500dc": { - "balance": "2000000000000000000000" + "0x48659d8f8c9a2fd44f68daa55d23a608fbe500dc": { + "balance": "0x6c6b935b8bbd400000" }, - "b3a64b1176724f5409e1414a3523661baee74b4a": { - "balance": "25610000000000000000" + "0xb3a64b1176724f5409e1414a3523661baee74b4a": { + "balance": "0x16368ff4ff9c10000" }, - "aa14422d6f0ae5a758194ed15780c838d67f1ee1": { - "balance": "28503824000000000000000" + "0xaa14422d6f0ae5a758194ed15780c838d67f1ee1": { + "balance": "0x60932056c449de80000" }, - "a0a0e65204541fca9b2fb282cd95138fae16f809": { - "balance": "10000000000000000000000" + "0xa0a0e65204541fca9b2fb282cd95138fae16f809": { + "balance": "0x21e19e0c9bab2400000" }, - "d2107b353726c3a2b46566eaa7d9f80b5d21dbe3": { - "balance": "20000000000000000000" + "0xd2107b353726c3a2b46566eaa7d9f80b5d21dbe3": { + "balance": "0x1158e460913d00000" }, - "e4cafb727fb5c6b70bb27533b8a9ccc9ef6888e1": { - "balance": "300443000000000000000" + "0xe4cafb727fb5c6b70bb27533b8a9ccc9ef6888e1": { + "balance": "0x10497bf4af4caf8000" }, - "09f3f601f605441140586ce0656fa24aa5b1d9ae": { - "balance": "1539400000000000000000" + "0x09f3f601f605441140586ce0656fa24aa5b1d9ae": { + "balance": "0x5373776fe8c4540000" }, - "87fcbe7c4193ffcb08143779c9bec83fe7fda9fc": { - "balance": "100275000000000000000" + "0x87fcbe7c4193ffcb08143779c9bec83fe7fda9fc": { + "balance": "0x56f985d38644b8000" }, - "03ebc63fda6660a465045e235fbe6e5cf195735f": { - "balance": "141840000000000000000" + "0x03ebc63fda6660a465045e235fbe6e5cf195735f": { + "balance": "0x7b06ce87fdd680000" }, - "bdbaf6434d40d6355b1e80e40cc4ab9c68d96116": { - "balance": "100000000000000000000" + "0xbdbaf6434d40d6355b1e80e40cc4ab9c68d96116": { + "balance": "0x56bc75e2d63100000" }, - "4e2225a1bb59bc88a2316674d333b9b0afca6655": { - "balance": "155000000000000000000" + "0x4e2225a1bb59bc88a2316674d333b9b0afca6655": { + "balance": "0x8670e9ec6598c0000" }, - "4dc3da13b2b4afd44f5d0d3189f444d4ddf91b1b": { - "balance": "2000000000000000000000" + "0x4dc3da13b2b4afd44f5d0d3189f444d4ddf91b1b": { + "balance": "0x6c6b935b8bbd400000" }, - "4ba8e0117fc0b6a3e56b24a3a58fe6cef442ff98": { - "balance": "5640000000000000000000" + "0x4ba8e0117fc0b6a3e56b24a3a58fe6cef442ff98": { + "balance": "0x131beb925ffd3200000" }, - "27146913563aa745e2588430d9348e86ea7c3510": { - "balance": "400000000000000000000" + "0x27146913563aa745e2588430d9348e86ea7c3510": { + "balance": "0x15af1d78b58c400000" }, - "4c5afe40f18ffc48d3a1aec41fc29de179f4d297": { - "balance": "2000000000000000000000" + "0x4c5afe40f18ffc48d3a1aec41fc29de179f4d297": { + "balance": "0x6c6b935b8bbd400000" }, - "8a810114b2025db9fbb50099a6e0cb9e2efa6bdc": { - "balance": "1910000000000000000000" + "0x8a810114b2025db9fbb50099a6e0cb9e2efa6bdc": { + "balance": "0x678a932062e4180000" }, - "2dee90a28f192d676a8773232b56f18f239e2fad": { - "balance": "18587970000000000000000" + "0x2dee90a28f192d676a8773232b56f18f239e2fad": { + "balance": "0x3efa7e747b6d1ad0000" }, - "60676e92d18b000509c61de540e6c5ddb676d509": { - "balance": "1200000000000000000000" + "0x60676e92d18b000509c61de540e6c5ddb676d509": { + "balance": "0x410d586a20a4c00000" }, - "9bfc659c9c601ea42a6b21b8f17084ec87d70212": { - "balance": "10000000000000000000000" + "0x9bfc659c9c601ea42a6b21b8f17084ec87d70212": { + "balance": "0x21e19e0c9bab2400000" }, - "5d5d6e821c6eef96810c83c491468560ef70bfb5": { - "balance": "2000000000000000000000" + "0x5d5d6e821c6eef96810c83c491468560ef70bfb5": { + "balance": "0x6c6b935b8bbd400000" }, - "d5787668c2c5175b01a8ee1ac3ecc9c8b2aba95a": { - "balance": "1999944000000000000000" + "0xd5787668c2c5175b01a8ee1ac3ecc9c8b2aba95a": { + "balance": "0x6c6acc67d7b1d40000" }, - "33b336f5ba5edb7b1ccc7eb1a0d984c1231d0edc": { - "balance": "2000000000000000000000" + "0x33b336f5ba5edb7b1ccc7eb1a0d984c1231d0edc": { + "balance": "0x6c6b935b8bbd400000" }, - "3abb8adfc604f48d5984811d7f1d52fef6758270": { - "balance": "4475000000000000000000" + "0x3abb8adfc604f48d5984811d7f1d52fef6758270": { + "balance": "0xf29719b66f110c0000" }, - "980a84b686fc31bdc83c221058546a71b11f838a": { - "balance": "779471000000000000000" + "0x980a84b686fc31bdc83c221058546a71b11f838a": { + "balance": "0x2a415548af86818000" }, - "0b507cf553568daaf65504ae4eaa17a8ea3cdbf5": { - "balance": "2000000000000000000000" + "0x0b507cf553568daaf65504ae4eaa17a8ea3cdbf5": { + "balance": "0x6c6b935b8bbd400000" }, - "896009526a2c7b0c09a6f63a80bdf29d9c87de9c": { - "balance": "3462830000000000000000" + "0x896009526a2c7b0c09a6f63a80bdf29d9c87de9c": { + "balance": "0xbbb86b8223edeb0000" }, - "9696052138338c722f1140815cf7749d0d3b3a74": { - "balance": "500000000000000000000" + "0x9696052138338c722f1140815cf7749d0d3b3a74": { + "balance": "0x1b1ae4d6e2ef500000" }, - "3831757eae7557cb8a37a4b10644b63e4d3b3c75": { - "balance": "200000000000000000000" + "0x3831757eae7557cb8a37a4b10644b63e4d3b3c75": { + "balance": "0xad78ebc5ac6200000" }, - "62dc72729024375fc37cbb9c7c2393d10233330f": { - "balance": "2000000000000000000000" + "0x62dc72729024375fc37cbb9c7c2393d10233330f": { + "balance": "0x6c6b935b8bbd400000" }, - "44098866a69b68c0b6bc168229b9603587058967": { - "balance": "188000000000000000000" + "0x44098866a69b68c0b6bc168229b9603587058967": { + "balance": "0xa31062beeed700000" }, - "25adb8f96f39492c9bb47c5edc88624e46075697": { - "balance": "26740000000000000000000" + "0x25adb8f96f39492c9bb47c5edc88624e46075697": { + "balance": "0x5a9940bc56879500000" }, - "fd4de8e3748a289cf7d060517d9d38388db01fb8": { - "balance": "250000000000000000000" + "0xfd4de8e3748a289cf7d060517d9d38388db01fb8": { + "balance": "0xd8d726b7177a80000" }, - "6be7595ea0f068489a2701ec4649158ddc43e178": { - "balance": "2000000000000000000000" + "0x6be7595ea0f068489a2701ec4649158ddc43e178": { + "balance": "0x6c6b935b8bbd400000" }, - "d402b4f6a099ebe716cb14df4f79c0cd01c6071b": { - "balance": "2000000000000000000000" + "0xd402b4f6a099ebe716cb14df4f79c0cd01c6071b": { + "balance": "0x6c6b935b8bbd400000" }, - "a07682000b1bcf3002f85c80c0fa2949bd1e82fd": { - "balance": "4000000000000000000000" + "0xa07682000b1bcf3002f85c80c0fa2949bd1e82fd": { + "balance": "0xd8d726b7177a800000" }, - "eb4f00e28336ea09942588eeac921811c522143c": { - "balance": "2000000000000000000000" + "0xeb4f00e28336ea09942588eeac921811c522143c": { + "balance": "0x6c6b935b8bbd400000" }, - "8f31c7005197ec997a87e69bec48649ab94bb2a5": { - "balance": "4000000000000000000000" + "0x8f31c7005197ec997a87e69bec48649ab94bb2a5": { + "balance": "0xd8d726b7177a800000" }, - "e7fd8fd959aed2767ea7fa960ce1db53af802573": { - "balance": "1000000000000000000000" + "0xe7fd8fd959aed2767ea7fa960ce1db53af802573": { + "balance": "0x3635c9adc5dea00000" }, - "a8ef9ad274436042903e413c3b0c62f5f52ed584": { - "balance": "10000000000000000000000" + "0xa8ef9ad274436042903e413c3b0c62f5f52ed584": { + "balance": "0x21e19e0c9bab2400000" }, - "d83ad260e9a6f432fb6ea28743299b4a09ad658c": { - "balance": "2000000000000000000000" + "0xd83ad260e9a6f432fb6ea28743299b4a09ad658c": { + "balance": "0x6c6b935b8bbd400000" }, - "b5c816a8283ca4df68a1a73d63bd80260488df08": { - "balance": "200000000000000000000" + "0xb5c816a8283ca4df68a1a73d63bd80260488df08": { + "balance": "0xad78ebc5ac6200000" }, - "d7d3c75920590438b82c3e9515be2eb6ed7a8b1a": { - "balance": "60000000000000000000000" + "0xd7d3c75920590438b82c3e9515be2eb6ed7a8b1a": { + "balance": "0xcb49b44ba602d800000" }, - "af3cb5965933e7dad883693b9c3e15beb68a4873": { - "balance": "2000000000000000000000" + "0xaf3cb5965933e7dad883693b9c3e15beb68a4873": { + "balance": "0x6c6b935b8bbd400000" }, - "6e899e59a9b41ab7ea41df7517860f2acb59f4fd": { - "balance": "20000000000000000000000" + "0x6e899e59a9b41ab7ea41df7517860f2acb59f4fd": { + "balance": "0x43c33c1937564800000" }, - "527a8ca1268633a6c939c5de1b929aee92aeac8d": { - "balance": "900000000000000000000" + "0x527a8ca1268633a6c939c5de1b929aee92aeac8d": { + "balance": "0x30ca024f987b900000" }, - "1680cec5021ee93050f8ae127251839e74c1f1fd": { - "balance": "13098657000000000000000" + "0x1680cec5021ee93050f8ae127251839e74c1f1fd": { + "balance": "0x2c61461e5d743d68000" }, - "ff7843c7010aa7e61519b762dfe49124a76b0e4e": { - "balance": "933580000000000000000000" + "0xff7843c7010aa7e61519b762dfe49124a76b0e4e": { + "balance": "0xc5b17924412b9bb00000" }, - "140fba58dbc04803d84c2130f01978f9e0c73129": { - "balance": "400000000000000000000" + "0x140fba58dbc04803d84c2130f01978f9e0c73129": { + "balance": "0x15af1d78b58c400000" }, - "0261ad3a172abf1315f0ffec3270986a8409cb25": { - "balance": "203500000000000000000" + "0x0261ad3a172abf1315f0ffec3270986a8409cb25": { + "balance": "0xb08213bcf8ffe0000" }, - "ab5a79016176320973e8cd38f6375530022531c0": { - "balance": "1000000000000000000000" + "0xab5a79016176320973e8cd38f6375530022531c0": { + "balance": "0x3635c9adc5dea00000" }, - "fca73eff8771c0103ba3cc1a9c259448c72abf0b": { - "balance": "1000000000000000000000" + "0xfca73eff8771c0103ba3cc1a9c259448c72abf0b": { + "balance": "0x3635c9adc5dea00000" }, - "07d41217badca5e0e60327d845a3464f0f27f84a": { - "balance": "4000000000000000000000" + "0x07d41217badca5e0e60327d845a3464f0f27f84a": { + "balance": "0xd8d726b7177a800000" }, - "2c1c19114e3d6de27851484b8d2715e50f8a1065": { - "balance": "100000000000000000000" + "0x2c1c19114e3d6de27851484b8d2715e50f8a1065": { + "balance": "0x56bc75e2d63100000" }, - "abd21eff954fc6a7de26912a7cbb303a6607804e": { - "balance": "1517000000000000000000" + "0xabd21eff954fc6a7de26912a7cbb303a6607804e": { + "balance": "0x523c9aa696eb940000" }, - "f303d5a816affd97e83d9e4dac2f79072bb0098f": { - "balance": "960000000000000000000" + "0xf303d5a816affd97e83d9e4dac2f79072bb0098f": { + "balance": "0x340aad21b3b7000000" }, - "114cfefe50170dd97ae08f0a44544978c599548d": { - "balance": "863000000000000000000" + "0x114cfefe50170dd97ae08f0a44544978c599548d": { + "balance": "0x2ec887e7a14a1c0000" }, - "647b85044df2cf0b4ed4882e88819fe22ae5f793": { - "balance": "1000032000000000000000" + "0x647b85044df2cf0b4ed4882e88819fe22ae5f793": { + "balance": "0x36363b5d9a77700000" }, - "1b130d6fa51d5c48ec8d1d52dc8a227be8735c8a": { - "balance": "2000000000000000000000" + "0x1b130d6fa51d5c48ec8d1d52dc8a227be8735c8a": { + "balance": "0x6c6b935b8bbd400000" }, - "0d9d3f9bc4a4c6efbd59679b69826bc1f63d9916": { - "balance": "600000000000000000000" + "0x0d9d3f9bc4a4c6efbd59679b69826bc1f63d9916": { + "balance": "0x2086ac351052600000" }, - "c765e00476810947816af142d46d2ee7bca8cc4f": { - "balance": "500000000000000000000" + "0xc765e00476810947816af142d46d2ee7bca8cc4f": { + "balance": "0x1b1ae4d6e2ef500000" }, - "b57b04fa23d1203fae061eac4542cb60f3a57637": { - "balance": "191000000000000000000" + "0xb57b04fa23d1203fae061eac4542cb60f3a57637": { + "balance": "0xa5aa85009e39c0000" }, - "e192489b85a982c1883246d915b229cb13207f38": { - "balance": "5000000000000000000000" + "0xe192489b85a982c1883246d915b229cb13207f38": { + "balance": "0x10f0cf064dd59200000" }, - "5f483ffb8f680aedf2a38f7833afdcde59b61e4b": { - "balance": "2000000000000000000000" + "0x5f483ffb8f680aedf2a38f7833afdcde59b61e4b": { + "balance": "0x6c6b935b8bbd400000" }, - "b46d1182e5aacaff0d26b2fcf72f3c9ffbcdd97d": { - "balance": "3139000000000000000000" + "0xb46d1182e5aacaff0d26b2fcf72f3c9ffbcdd97d": { + "balance": "0xaa2a603cdd7f2c0000" }, - "59c7f785c93160e5807ed34e5e534bc6188647a7": { - "balance": "640000000000000000000" + "0x59c7f785c93160e5807ed34e5e534bc6188647a7": { + "balance": "0x22b1c8c1227a000000" }, - "18e4ce47483b53040adbab35172c01ef64506e0c": { - "balance": "9000000000000000000000" + "0x18e4ce47483b53040adbab35172c01ef64506e0c": { + "balance": "0x1e7e4171bf4d3a00000" }, - "296d66b521571a4e4103a7f562c511e6aa732d81": { - "balance": "668500000000000000000" + "0x296d66b521571a4e4103a7f562c511e6aa732d81": { + "balance": "0x243d4d18229ca20000" }, - "bcd99edc2160f210a05e3a1fa0b0434ced00439b": { - "balance": "2000000000000000000000" + "0xbcd99edc2160f210a05e3a1fa0b0434ced00439b": { + "balance": "0x6c6b935b8bbd400000" }, - "f14f0eb86db0eb68753f16918e5d4b807437bd3e": { - "balance": "200000000000000000000" + "0xf14f0eb86db0eb68753f16918e5d4b807437bd3e": { + "balance": "0xad78ebc5ac6200000" }, - "60d5667140d12614b21c8e5e8a33082e32dfcf23": { - "balance": "20000000000000000000000" + "0x60d5667140d12614b21c8e5e8a33082e32dfcf23": { + "balance": "0x43c33c1937564800000" }, - "8ccabf25077f3aa41545344d53be1b2b9c339000": { - "balance": "1695400000000000000000" + "0x8ccabf25077f3aa41545344d53be1b2b9c339000": { + "balance": "0x5be866c562c5440000" }, - "8cc0d7c016fa7aa950114aa1db094882eda274ea": { - "balance": "159800000000000000000" + "0x8cc0d7c016fa7aa950114aa1db094882eda274ea": { + "balance": "0x8a9aba557e36c0000" }, - "c71145e529c7a714e67903ee6206e4c3042b6727": { - "balance": "1430000000000000000000" + "0xc71145e529c7a714e67903ee6206e4c3042b6727": { + "balance": "0x4d853c8f8908980000" }, - "c5e9939334f1252ed2ba26814487dfd2982b3128": { - "balance": "70000000000000000000" + "0xc5e9939334f1252ed2ba26814487dfd2982b3128": { + "balance": "0x3cb71f51fc5580000" }, - "f09b3e87f913ddfd57ae8049c731dba9b636dfc3": { - "balance": "608000000000000000000" + "0xf09b3e87f913ddfd57ae8049c731dba9b636dfc3": { + "balance": "0x20f5b1eaad8d800000" }, - "4349225a62f70aea480a029915a01e5379e64fa5": { - "balance": "2598000000000000000000" + "0x4349225a62f70aea480a029915a01e5379e64fa5": { + "balance": "0x8cd67e2334c0d80000" }, - "666b4f37d55d63b7d056b615bb74c96b3b01991a": { - "balance": "4000000000000000000000" + "0x666b4f37d55d63b7d056b615bb74c96b3b01991a": { + "balance": "0xd8d726b7177a800000" }, - "8bd6b1c6d74d010d1008dba6ef835d4430b35c32": { - "balance": "50000000000000000000" + "0x8bd6b1c6d74d010d1008dba6ef835d4430b35c32": { + "balance": "0x2b5e3af16b1880000" }, - "7363cd90fbab5bb8c49ac20fc62c398fe6fb744c": { - "balance": "2000000000000000000000" + "0x7363cd90fbab5bb8c49ac20fc62c398fe6fb744c": { + "balance": "0x6c6b935b8bbd400000" }, - "b7479dab5022c4d5dbaaf8de171b4e951dd1a457": { - "balance": "80000000000000000000" + "0xb7479dab5022c4d5dbaaf8de171b4e951dd1a457": { + "balance": "0x4563918244f400000" }, - "5a5468fa5ca226c7532ecf06e1bc1c45225d7ec9": { - "balance": "1910000000000000000000" + "0x5a5468fa5ca226c7532ecf06e1bc1c45225d7ec9": { + "balance": "0x678a932062e4180000" }, - "32a20d028e2c6218b9d95b445c771524636a22ef": { - "balance": "9500000000000000000000" + "0x32a20d028e2c6218b9d95b445c771524636a22ef": { + "balance": "0x202fefbf2d7c2f00000" }, - "1bd28cd5c78aee51357c95c1ef9235e7c18bc854": { - "balance": "2000000000000000000000" + "0x1bd28cd5c78aee51357c95c1ef9235e7c18bc854": { + "balance": "0x6c6b935b8bbd400000" }, - "693492a5c51396a482881669ccf6d8d779f00951": { - "balance": "345827000000000000000" + "0x693492a5c51396a482881669ccf6d8d779f00951": { + "balance": "0x12bf50503ae3038000" }, - "bd723b289a7367b6ece2455ed61edb49670ab9c4": { - "balance": "4999995000000000000000" + "0xbd723b289a7367b6ece2455ed61edb49670ab9c4": { + "balance": "0x10f0cdea164213f8000" }, - "1be3542c3613687465f15a70aeeb81662b65cca8": { - "balance": "2000000000000000000000" + "0x1be3542c3613687465f15a70aeeb81662b65cca8": { + "balance": "0x6c6b935b8bbd400000" }, - "5803e68b34da121aef08b602badbafb4d12481ca": { - "balance": "18000000000000000000000" + "0x5803e68b34da121aef08b602badbafb4d12481ca": { + "balance": "0x3cfc82e37e9a7400000" }, - "9ac907ee85e6f3e223459992e256a43fa08fa8b2": { - "balance": "10000000000000000000000" + "0x9ac907ee85e6f3e223459992e256a43fa08fa8b2": { + "balance": "0x21e19e0c9bab2400000" }, - "833b6a8ec8da408186ac8a7d2a6dd61523e7ce84": { - "balance": "16000000000000000000000" + "0x833b6a8ec8da408186ac8a7d2a6dd61523e7ce84": { + "balance": "0x3635c9adc5dea000000" }, - "64628c6fb8ec743adbd87ce5e018d531d9210437": { - "balance": "26740000000000000000" + "0x64628c6fb8ec743adbd87ce5e018d531d9210437": { + "balance": "0x1731790534df20000" }, - "566c28e34c3808d9766fe8421ebf4f2b1c4f7d77": { - "balance": "1970000000000000000000" + "0x566c28e34c3808d9766fe8421ebf4f2b1c4f7d77": { + "balance": "0x6acb3df27e1f880000" }, - "171ad9a04bedc8b861e8ed4bddf5717813b1bb48": { - "balance": "400000000000000000000" + "0x171ad9a04bedc8b861e8ed4bddf5717813b1bb48": { + "balance": "0x15af1d78b58c400000" }, - "4f85bc1fc5cbc9c001e8f1372e07505370d8c71f": { - "balance": "940000000000000000000" + "0x4f85bc1fc5cbc9c001e8f1372e07505370d8c71f": { + "balance": "0x32f51edbaaa3300000" }, - "6d2f976734b9d0070d1883cf7acab8b3e4920fc1": { - "balance": "10000000000000000000000" + "0x6d2f976734b9d0070d1883cf7acab8b3e4920fc1": { + "balance": "0x21e19e0c9bab2400000" }, - "357a02c0a9dfe287de447fb67a70ec5b62366647": { - "balance": "26740000000000000000" + "0x357a02c0a9dfe287de447fb67a70ec5b62366647": { + "balance": "0x1731790534df20000" }, - "44a01fb04ac0db2cce5dbe281e1c46e28b39d878": { - "balance": "1999944000000000000000" + "0x44a01fb04ac0db2cce5dbe281e1c46e28b39d878": { + "balance": "0x6c6acc67d7b1d40000" }, - "3630c5e565ceaa8a0f0ffe32875eae2a6ce63c19": { - "balance": "170016000000000000000" + "0x3630c5e565ceaa8a0f0ffe32875eae2a6ce63c19": { + "balance": "0x937722b3774d00000" }, - "334340ee4b9cdc81f850a75116d50ee9b69825bf": { - "balance": "2000000000000000000000" + "0x334340ee4b9cdc81f850a75116d50ee9b69825bf": { + "balance": "0x6c6b935b8bbd400000" }, - "c0afb7d8b79370cfd663c68cc6b9702a37cd9eff": { - "balance": "1000000000000000000000" + "0xc0afb7d8b79370cfd663c68cc6b9702a37cd9eff": { + "balance": "0x3635c9adc5dea00000" }, - "2016895df32c8ed5478269468423aea7b7fbce50": { - "balance": "20000000000000000000" + "0x2016895df32c8ed5478269468423aea7b7fbce50": { + "balance": "0x1158e460913d00000" }, - "1e2fe4e4a77d141ff49a0c7fbc95b0a2b283eeeb": { - "balance": "2000000000000000000000" + "0x1e2fe4e4a77d141ff49a0c7fbc95b0a2b283eeeb": { + "balance": "0x6c6b935b8bbd400000" }, - "260df8943a8c9a5dba7945327fd7e0837c11ad07": { - "balance": "200000000000000000000" + "0x260df8943a8c9a5dba7945327fd7e0837c11ad07": { + "balance": "0xad78ebc5ac6200000" }, - "32fbeed6f626fcdfd51acafb730b9eeff612f564": { - "balance": "2000000000000000000000" + "0x32fbeed6f626fcdfd51acafb730b9eeff612f564": { + "balance": "0x6c6b935b8bbd400000" }, - "9bd88068e13075f3a8cac464a5f949d6d818c0f6": { - "balance": "6000000000000000000000" + "0x9bd88068e13075f3a8cac464a5f949d6d818c0f6": { + "balance": "0x14542ba12a337c00000" }, - "ab4572fbb1d72b575d69ec6ad17333873e8552fc": { - "balance": "1999942000000000000000" + "0xab4572fbb1d72b575d69ec6ad17333873e8552fc": { + "balance": "0x6c6ac54cda68470000" }, - "e44ea51063405154aae736be2bf1ee3b9be639ae": { - "balance": "4000000000000000000000" + "0xe44ea51063405154aae736be2bf1ee3b9be639ae": { + "balance": "0xd8d726b7177a800000" }, - "617f20894fa70e94a86a49cd74e03238f64d3cd9": { - "balance": "5000057000000000000000" + "0x617f20894fa70e94a86a49cd74e03238f64d3cd9": { + "balance": "0x10f0dbae61009528000" }, - "3e914e3018ac00449341c49da71d04dfeeed6221": { - "balance": "4000000000000000000000" + "0x3e914e3018ac00449341c49da71d04dfeeed6221": { + "balance": "0xd8d726b7177a800000" }, - "590181d445007bd0875aaf061c8d51153900836a": { - "balance": "2000000000000000000000" + "0x590181d445007bd0875aaf061c8d51153900836a": { + "balance": "0x6c6b935b8bbd400000" }, - "27987110221a880826adb2e7ab5eca78c6e31aec": { - "balance": "4000000000000000000000" + "0x27987110221a880826adb2e7ab5eca78c6e31aec": { + "balance": "0xd8d726b7177a800000" }, - "06618e9d5762df62028601a81d4487d6a0ecb80e": { - "balance": "1337000000000000000000" + "0x06618e9d5762df62028601a81d4487d6a0ecb80e": { + "balance": "0x487a9a304539440000" }, - "8cc652dd13e7fe14dabbb36d5d320db9ffee8a54": { - "balance": "1790000000000000000000" + "0x8cc652dd13e7fe14dabbb36d5d320db9ffee8a54": { + "balance": "0x61093d7c2c6d380000" }, - "8973aefd5efaee96095d9e288f6a046c97374b43": { - "balance": "141000000000000000000" + "0x8973aefd5efaee96095d9e288f6a046c97374b43": { + "balance": "0x7a4c4a0f332140000" }, - "dbd51cdf2c3bfacdff106221de2e19ad6d420414": { - "balance": "1760000000000000000000" + "0xdbd51cdf2c3bfacdff106221de2e19ad6d420414": { + "balance": "0x5f68e8131ecf800000" }, - "25697ef20cccaa70d32d376f8272d9c1070c3d78": { - "balance": "200000000000000000000" + "0x25697ef20cccaa70d32d376f8272d9c1070c3d78": { + "balance": "0xad78ebc5ac6200000" }, - "0726c42e00f45404836eb1e280d073e7059687f5": { - "balance": "1623331000000000000000" + "0x0726c42e00f45404836eb1e280d073e7059687f5": { + "balance": "0x58003e3fb947a38000" }, - "5e0785532c7723e4c0af9357d5274b73bdddddde": { - "balance": "25000088000000000000000" + "0x5e0785532c7723e4c0af9357d5274b73bdddddde": { + "balance": "0x54b41ea9bdb61dc0000" }, - "38430e931d93be01b4c3ef0dc535f1e0a9610063": { - "balance": "10000000000000000000000" + "0x38430e931d93be01b4c3ef0dc535f1e0a9610063": { + "balance": "0x21e19e0c9bab2400000" }, - "143d536b8b1cb84f56a39e0bc81fd5442bcacce1": { - "balance": "100000000000000000000" + "0x143d536b8b1cb84f56a39e0bc81fd5442bcacce1": { + "balance": "0x56bc75e2d63100000" }, - "5c6d041da7af4487b9dc48e8e1f60766d0a56dbc": { - "balance": "1457800000000000000000" + "0x5c6d041da7af4487b9dc48e8e1f60766d0a56dbc": { + "balance": "0x4f070a003e9c740000" }, - "f9bfb59d538afc4874d4f5941b08c9730e38e24b": { - "balance": "40000000000000000000" + "0xf9bfb59d538afc4874d4f5941b08c9730e38e24b": { + "balance": "0x22b1c8c1227a00000" }, - "83dbfd8eda01d0de8e158b16d0935fc2380a5dc7": { - "balance": "600000000000000000000" + "0x83dbfd8eda01d0de8e158b16d0935fc2380a5dc7": { + "balance": "0x2086ac351052600000" }, - "0e6cd664ad9c1ed64bf98749f40644b626e3792c": { - "balance": "60000000000000000000000" + "0x0e6cd664ad9c1ed64bf98749f40644b626e3792c": { + "balance": "0xcb49b44ba602d800000" }, - "ce2e0da8934699bb1a553e55a0b85c169435bea3": { - "balance": "4999962000000000000000" + "0xce2e0da8934699bb1a553e55a0b85c169435bea3": { + "balance": "0x10f0c696410e3a90000" }, - "a39bfee4aec9bd75bd22c6b672898ca9a1e95d32": { - "balance": "10000000000000000000000" + "0xa39bfee4aec9bd75bd22c6b672898ca9a1e95d32": { + "balance": "0x21e19e0c9bab2400000" }, - "1bc44c8761231ba1f11f5faa40fa669a013e12ce": { - "balance": "203586000000000000000" + "0x1bc44c8761231ba1f11f5faa40fa669a013e12ce": { + "balance": "0xb0952c45aeaad0000" }, - "68809af5d532a11c1a4d6e32aac75c4c52b08ead": { - "balance": "10000000000000000000000" + "0x68809af5d532a11c1a4d6e32aac75c4c52b08ead": { + "balance": "0x21e19e0c9bab2400000" }, - "80cc21bd99f39005c58fe4a448909220218f66cb": { - "balance": "1000072000000000000000" + "0x80cc21bd99f39005c58fe4a448909220218f66cb": { + "balance": "0x3636c9796436740000" }, - "1080c1d8358a15bc84dac8253c6883319020df2c": { - "balance": "2674000000000000000000" + "0x1080c1d8358a15bc84dac8253c6883319020df2c": { + "balance": "0x90f534608a72880000" }, - "9eaf6a328a4076024efa6b67b48b21eedcc0f0b8": { - "balance": "158000000000000000000" + "0x9eaf6a328a4076024efa6b67b48b21eedcc0f0b8": { + "balance": "0x890b0c2e14fb80000" }, - "1e7b5e4d1f572becf2c00fc90cb4767b4a6e33d4": { - "balance": "112970000000000000000" + "0x1e7b5e4d1f572becf2c00fc90cb4767b4a6e33d4": { + "balance": "0x61fc6107593e10000" }, - "acbd185589f7a68a67aa4b1bd65077f8c64e4e21": { - "balance": "200000000000000000000" + "0xacbd185589f7a68a67aa4b1bd65077f8c64e4e21": { + "balance": "0xad78ebc5ac6200000" }, - "ff78541756ab2b706e0d70b18adb700fc4f1643d": { - "balance": "43250000000000000000000" + "0xff78541756ab2b706e0d70b18adb700fc4f1643d": { + "balance": "0x92896529baddc880000" }, - "7f0ec3db804692d4d1ea3245365aab0590075bc4": { - "balance": "4000000000000000000000" + "0x7f0ec3db804692d4d1ea3245365aab0590075bc4": { + "balance": "0xd8d726b7177a800000" }, - "4a918032439159bb315b6725b6830dc83697739f": { - "balance": "343800000000000000000" + "0x4a918032439159bb315b6725b6830dc83697739f": { + "balance": "0x12a32ef678334c0000" }, - "bc1b021a78fde42d9b5226d6ec26e06aa3670090": { - "balance": "80000000000000000000" + "0xbc1b021a78fde42d9b5226d6ec26e06aa3670090": { + "balance": "0x4563918244f400000" }, - "2f2523cc834f0086052402626296675186a8e582": { - "balance": "16000000000000000000000" + "0x2f2523cc834f0086052402626296675186a8e582": { + "balance": "0x3635c9adc5dea000000" }, - "9db2e15ca681f4c66048f6f9b7941ed08b1ff506": { - "balance": "4000000000000000000000" + "0x9db2e15ca681f4c66048f6f9b7941ed08b1ff506": { + "balance": "0xd8d726b7177a800000" }, - "20b9a9e6bd8880d9994ae00dd0b9282a0beab816": { - "balance": "500000000000000000000" + "0x20b9a9e6bd8880d9994ae00dd0b9282a0beab816": { + "balance": "0x1b1ae4d6e2ef500000" }, - "3bddbc8134f77d55597fc97c26d26698090604eb": { - "balance": "13700000000000000000" + "0x3bddbc8134f77d55597fc97c26d26698090604eb": { + "balance": "0xbe202d6a0eda0000" }, - "80c3a9f695b16db1597286d1b3a8b7696c39fa27": { - "balance": "100000000000000000000" + "0x80c3a9f695b16db1597286d1b3a8b7696c39fa27": { + "balance": "0x56bc75e2d63100000" }, - "53194d8afa3e883502767edbc30586af33b114d3": { - "balance": "2000000000000000000000" + "0x53194d8afa3e883502767edbc30586af33b114d3": { + "balance": "0x6c6b935b8bbd400000" }, - "e2efd0a9bc407ece03d67e8ec8e9d283f48d2a49": { - "balance": "12280000000000000000000" + "0xe2efd0a9bc407ece03d67e8ec8e9d283f48d2a49": { + "balance": "0x299b33bf9c584e00000" }, - "1cb450920078aab2317c7db3b38af7dd298b2d41": { - "balance": "340000000000000000000" + "0x1cb450920078aab2317c7db3b38af7dd298b2d41": { + "balance": "0x126e72a69a50d00000" }, - "ca8276c477b4a07b80107b843594189607b53bec": { - "balance": "6000000000000000000000" + "0xca8276c477b4a07b80107b843594189607b53bec": { + "balance": "0x14542ba12a337c00000" }, - "147f4210ab5804940a0b7db8c14c28396b62a6bf": { - "balance": "2000000000000000000000" + "0x147f4210ab5804940a0b7db8c14c28396b62a6bf": { + "balance": "0x6c6b935b8bbd400000" }, - "d3df3b53cb3b4755de54e180451cc44c9e8ae0aa": { - "balance": "659801000000000000000" + "0xd3df3b53cb3b4755de54e180451cc44c9e8ae0aa": { + "balance": "0x23c49409b977828000" }, - "f7c708015071d4fb0a3a2a09a45d156396e3349e": { - "balance": "3000000000000000000000" + "0xf7c708015071d4fb0a3a2a09a45d156396e3349e": { + "balance": "0xa2a15d09519be00000" }, - "a8cafac32280d021020bf6f2a9782883d7aabe12": { - "balance": "100000000000000000000" + "0xa8cafac32280d021020bf6f2a9782883d7aabe12": { + "balance": "0x56bc75e2d63100000" }, - "399aa6f5d078cb0970882bc9992006f8fbdf3471": { - "balance": "1000000000000000000000" + "0x399aa6f5d078cb0970882bc9992006f8fbdf3471": { + "balance": "0x3635c9adc5dea00000" }, - "15669180dee29598869b08a721c7d24c4c0ee63f": { - "balance": "1000000000000000000000" + "0x15669180dee29598869b08a721c7d24c4c0ee63f": { + "balance": "0x3635c9adc5dea00000" }, - "bba8ab22d2fedbcfc63f684c08afdf1c175090b5": { - "balance": "99091000000000000000" + "0xbba8ab22d2fedbcfc63f684c08afdf1c175090b5": { + "balance": "0x55f29f37e4e3b8000" }, - "5e5a441974a83d74c687ebdc633fb1a49e7b1ad7": { - "balance": "3000000000000000000000" + "0x5e5a441974a83d74c687ebdc633fb1a49e7b1ad7": { + "balance": "0xa2a15d09519be00000" }, - "98b769cc305cecfb629a00c907069d7ef9bc3a12": { - "balance": "26000000000000000000" + "0x98b769cc305cecfb629a00c907069d7ef9bc3a12": { + "balance": "0x168d28e3f00280000" }, - "c820c711f07705273807aaaa6de44d0e4b48be2e": { - "balance": "155000000000000000000" + "0xc820c711f07705273807aaaa6de44d0e4b48be2e": { + "balance": "0x8670e9ec6598c0000" }, - "12aa7d86ddfbad301692feac8a08f841cb215c37": { - "balance": "137000000000000000000" + "0x12aa7d86ddfbad301692feac8a08f841cb215c37": { + "balance": "0x76d41c62494840000" }, - "6ff5d361b52ad0b68b1588607ec304ae5665fc98": { - "balance": "1940000000000000000000" + "0x6ff5d361b52ad0b68b1588607ec304ae5665fc98": { + "balance": "0x692ae8897081d00000" }, - "2382a9d48ec83ea3652890fd0ee79c907b5b2dc1": { - "balance": "133700000000000000000" + "0x2382a9d48ec83ea3652890fd0ee79c907b5b2dc1": { + "balance": "0x73f75d1a085ba0000" }, - "b2a144b1ea67b9510f2267f9da39d3f93de26642": { - "balance": "2000000000000000000000" + "0xb2a144b1ea67b9510f2267f9da39d3f93de26642": { + "balance": "0x6c6b935b8bbd400000" }, - "b3e20eb4de18bd060221689894bee5aeb25351ee": { - "balance": "73535000000000000000" + "0xb3e20eb4de18bd060221689894bee5aeb25351ee": { + "balance": "0x3fc80cce516598000" }, - "101a0a64f9afcc448a8a130d4dfcbee89537d854": { - "balance": "15200000000000000000000" + "0x101a0a64f9afcc448a8a130d4dfcbee89537d854": { + "balance": "0x337fe5feaf2d1800000" }, - "1b826fb3c012b0d159e294ba5b8a499ff3c0e03c": { - "balance": "2000000000000000000000" + "0x1b826fb3c012b0d159e294ba5b8a499ff3c0e03c": { + "balance": "0x6c6b935b8bbd400000" }, - "aafb7b013aa1f8541c7e327bf650adbd194c208f": { - "balance": "1358000000000000000000" + "0xaafb7b013aa1f8541c7e327bf650adbd194c208f": { + "balance": "0x499e092d01f4780000" }, - "96eb523e832f500a017de13ec27f5d366c560eff": { - "balance": "307600000000000000000" + "0x96eb523e832f500a017de13ec27f5d366c560eff": { + "balance": "0x10acceba43ee280000" }, - "c7bf17c4c11f98941f507e77084fffbd2dbd3db5": { - "balance": "1000000000000000000000" + "0xc7bf17c4c11f98941f507e77084fffbd2dbd3db5": { + "balance": "0x3635c9adc5dea00000" }, - "840ec83ea93621f034e7bb3762bb8e29ded4c479": { - "balance": "2500000000000000000000" + "0x840ec83ea93621f034e7bb3762bb8e29ded4c479": { + "balance": "0x878678326eac900000" }, - "0e9c511864a177f49be78202773f60489fe04e52": { - "balance": "6000000000000000000000" + "0x0e9c511864a177f49be78202773f60489fe04e52": { + "balance": "0x14542ba12a337c00000" }, - "f6f1a44309051c6b25e47dff909b179bb9ab591c": { - "balance": "1940000000000000000000" + "0xf6f1a44309051c6b25e47dff909b179bb9ab591c": { + "balance": "0x692ae8897081d00000" }, - "63fe6bcc4b8a9850abbe75803730c932251f145b": { - "balance": "18200000000000000000" + "0x63fe6bcc4b8a9850abbe75803730c932251f145b": { + "balance": "0xfc936392801c0000" }, - "f88b58db37420b464c0be88b45ee2b95290f8cfa": { - "balance": "40000000000000000000" + "0xf88b58db37420b464c0be88b45ee2b95290f8cfa": { + "balance": "0x22b1c8c1227a00000" }, - "9d4d321177256ebd9afbda304135d517c3dc5693": { - "balance": "616000000000000000000" + "0x9d4d321177256ebd9afbda304135d517c3dc5693": { + "balance": "0x2164b7a04ac8a00000" }, - "8c1fbe5f0aea359c5aa1fa08c8895412ca8e05a6": { - "balance": "1000000000000000000000" + "0x8c1fbe5f0aea359c5aa1fa08c8895412ca8e05a6": { + "balance": "0x3635c9adc5dea00000" }, - "cb0dd7cf4e5d8661f6028943a4b9b75c914436a7": { - "balance": "120000000000000000000000" + "0xcb0dd7cf4e5d8661f6028943a4b9b75c914436a7": { + "balance": "0x1969368974c05b000000" }, - "a3979a92760a135adf69d72f75e167755f1cb8c3": { - "balance": "100000000000000000000" + "0xa3979a92760a135adf69d72f75e167755f1cb8c3": { + "balance": "0x56bc75e2d63100000" }, - "ca22cda3606da5cad013b8074706d7e9e721a50c": { - "balance": "6816200000000000000000" + "0xca22cda3606da5cad013b8074706d7e9e721a50c": { + "balance": "0x17181c6fa3981940000" }, - "157559adc55764cc6df79323092534e3d6645a66": { - "balance": "6000000000000000000000" + "0x157559adc55764cc6df79323092534e3d6645a66": { + "balance": "0x14542ba12a337c00000" }, - "4f52ad6170d25b2a2e850eadbb52413ff2303e7f": { - "balance": "3040000000000000000000" + "0x4f52ad6170d25b2a2e850eadbb52413ff2303e7f": { + "balance": "0xa4cc799563c3800000" }, - "eed28c3f068e094a304b853c950a6809ebcb03e0": { - "balance": "17300000000000000000000" + "0xeed28c3f068e094a304b853c950a6809ebcb03e0": { + "balance": "0x3a9d5baa4abf1d00000" }, - "2e47f287f498233713850d3126823cc67dcee255": { - "balance": "14600000000000000000" + "0x2e47f287f498233713850d3126823cc67dcee255": { + "balance": "0xca9d9ea558b40000" }, - "6c359e58a13d4578a9338e335c67e7639f5fb4d7": { - "balance": "218000000000000000000" + "0x6c359e58a13d4578a9338e335c67e7639f5fb4d7": { + "balance": "0xbd15b94fc8b280000" }, - "4968a2cedb457555a139295aea28776e54003c87": { - "balance": "10092310000000000000000" + "0x4968a2cedb457555a139295aea28776e54003c87": { + "balance": "0x2231aefc9a6628f0000" }, - "4041374b0feef4792e4b33691fb86897a4ff560c": { - "balance": "365000000000000000000" + "0x4041374b0feef4792e4b33691fb86897a4ff560c": { + "balance": "0x13c9647e25a9940000" }, - "83e48055327c28b5936fd9f4447e73bdb2dd3376": { - "balance": "2674000000000000000000" + "0x83e48055327c28b5936fd9f4447e73bdb2dd3376": { + "balance": "0x90f534608a72880000" }, - "32b7feebc5c59bf65e861c4c0be42a7611a5541a": { - "balance": "2212000000000000000000" + "0x32b7feebc5c59bf65e861c4c0be42a7611a5541a": { + "balance": "0x77e9aaa8525c100000" }, - "21a6db6527467bc6dad54bc16e9fe2953b6794ed": { - "balance": "14000000000000000000000" + "0x21a6db6527467bc6dad54bc16e9fe2953b6794ed": { + "balance": "0x2f6f10780d22cc00000" }, - "e8ead1bb90ccc3aea2b0dcc5b58056554655d1d5": { - "balance": "7760000000000000000000" + "0xe8ead1bb90ccc3aea2b0dcc5b58056554655d1d5": { + "balance": "0x1a4aba225c207400000" }, - "7a94b19992ceb8ce63bc92ee4b5aded10c4d9725": { - "balance": "16770000000000000000000" + "0x7a94b19992ceb8ce63bc92ee4b5aded10c4d9725": { + "balance": "0x38d1a8064bb64c80000" }, - "90e93e4dc17121487952333614002be42356498e": { - "balance": "1910000000000000000000" + "0x90e93e4dc17121487952333614002be42356498e": { + "balance": "0x678a932062e4180000" }, - "aab00abf5828d7ebf26b47ceaccdb8ba03325166": { - "balance": "10000000000000000000000" + "0xaab00abf5828d7ebf26b47ceaccdb8ba03325166": { + "balance": "0x21e19e0c9bab2400000" }, - "0a9ab2638b1cfd654d25dab018a0aebddf85fd55": { - "balance": "21801000000000000000" + "0x0a9ab2638b1cfd654d25dab018a0aebddf85fd55": { + "balance": "0x12e8cb5fe4c4a8000" }, - "b12ed07b8a38ad5506363fc07a0b6d799936bdaf": { - "balance": "10000000000000000000000" + "0xb12ed07b8a38ad5506363fc07a0b6d799936bdaf": { + "balance": "0x21e19e0c9bab2400000" }, - "f4a9d00cefa97b7a58ef9417fc6267a5069039ee": { - "balance": "21800000000000000000" + "0xf4a9d00cefa97b7a58ef9417fc6267a5069039ee": { + "balance": "0x12e89287fa7840000" }, - "04a1cada1cc751082ff8da928e3cfa000820a9e9": { - "balance": "40000000000000000000" + "0x04a1cada1cc751082ff8da928e3cfa000820a9e9": { + "balance": "0x22b1c8c1227a00000" }, - "9018cc1f48d2308e252ab6089fb99a7c1d569410": { - "balance": "200000000000000000000" + "0x9018cc1f48d2308e252ab6089fb99a7c1d569410": { + "balance": "0xad78ebc5ac6200000" }, - "895d694e880b13ccd0848a86c5ce411f88476bbf": { - "balance": "199955000000000000000" + "0x895d694e880b13ccd0848a86c5ce411f88476bbf": { + "balance": "0xad6eedd17cf3b8000" }, - "40a7f72867a7dc86770b162b7557a434ed50cce9": { - "balance": "1000000000000000000000" + "0x40a7f72867a7dc86770b162b7557a434ed50cce9": { + "balance": "0x3635c9adc5dea00000" }, - "467ea10445827ef1e502daf76b928a209e0d4032": { - "balance": "2000000000000000000000" + "0x467ea10445827ef1e502daf76b928a209e0d4032": { + "balance": "0x6c6b935b8bbd400000" }, - "7553aa23b68aa5f57e135fe39fdc235eaca8c98c": { - "balance": "1000000000000000000000" + "0x7553aa23b68aa5f57e135fe39fdc235eaca8c98c": { + "balance": "0x3635c9adc5dea00000" }, - "31b43b015d0081643c6cda46a7073a6dfdbca825": { - "balance": "50019600000000000000000" + "0x31b43b015d0081643c6cda46a7073a6dfdbca825": { + "balance": "0xa97916520cd18e80000" }, - "d82fd9fdf6996bedad2843159c06f37e0924337d": { - "balance": "1688800000000000000000" + "0xd82fd9fdf6996bedad2843159c06f37e0924337d": { + "balance": "0x5b8ccedc5aa7b00000" }, - "24a4eb36a7e498c36f99975c1a8d729fd6b305d7": { - "balance": "258000000000000000000" + "0x24a4eb36a7e498c36f99975c1a8d729fd6b305d7": { + "balance": "0xdfc78210eb2c80000" }, - "91d66ea6288faa4b3d606c2aa45c7b6b8a252739": { - "balance": "2000000000000000000000" + "0x91d66ea6288faa4b3d606c2aa45c7b6b8a252739": { + "balance": "0x6c6b935b8bbd400000" }, - "83a402438e0519773d5448326bfb61f8b20cf52d": { - "balance": "1520000000000000000000" + "0x83a402438e0519773d5448326bfb61f8b20cf52d": { + "balance": "0x52663ccab1e1c00000" }, - "c2fafdd30acb6d6706e9293cb02641f9edbe07b5": { - "balance": "1494224000000000000000" + "0xc2fafdd30acb6d6706e9293cb02641f9edbe07b5": { + "balance": "0x5100860b430f480000" }, - "79dba256472db4e058f2e4cdc3ea4e8a42773833": { - "balance": "1460000000000000000000" + "0x79dba256472db4e058f2e4cdc3ea4e8a42773833": { + "balance": "0x4f2591f896a6500000" }, - "498abdeb14c26b7b7234d70fceaef361a76dff72": { - "balance": "3000000000000000000000" + "0x498abdeb14c26b7b7234d70fceaef361a76dff72": { + "balance": "0xa2a15d09519be00000" }, - "7b73242d75ca9ad558d650290df17692d54cd8b8": { - "balance": "2000200000000000000000" + "0x7b73242d75ca9ad558d650290df17692d54cd8b8": { + "balance": "0x6c6e59e67c78540000" }, - "6ec3659571b11f889dd439bcd4d67510a25be57e": { - "balance": "123000000000000000000" + "0x6ec3659571b11f889dd439bcd4d67510a25be57e": { + "balance": "0x6aaf7c8516d0c0000" }, - "ab098633eeee0ccefdf632f9575456f6dd80fc86": { - "balance": "200000000000000000000000" + "0xab098633eeee0ccefdf632f9575456f6dd80fc86": { + "balance": "0x2a5a058fc295ed000000" }, - "f4a51fce4a1d5b94b0718389ba4e7814139ca738": { - "balance": "300000000000000000000" + "0xf4a51fce4a1d5b94b0718389ba4e7814139ca738": { + "balance": "0x1043561a8829300000" }, - "8f561b41b209f248c8a99f858788376250609cf3": { - "balance": "1700000000000000000000" + "0x8f561b41b209f248c8a99f858788376250609cf3": { + "balance": "0x5c283d410394100000" }, - "05d0f4d728ebe82e84bf597515ad41b60bf28b39": { - "balance": "4200000000000000000000" + "0x05d0f4d728ebe82e84bf597515ad41b60bf28b39": { + "balance": "0xe3aeb5737240a00000" }, - "dfdf43393c649caebe1bb18059decb39f09fb4e8": { - "balance": "400000000000000000000" + "0xdfdf43393c649caebe1bb18059decb39f09fb4e8": { + "balance": "0x15af1d78b58c400000" }, - "0089508679abf8c71bf6781687120e3e6a84584d": { - "balance": "1800000000000000000000" + "0x0089508679abf8c71bf6781687120e3e6a84584d": { + "balance": "0x6194049f30f7200000" }, - "80907f593148b57c46c177e23d25abc4aae18361": { - "balance": "100000000000000000000" + "0x80907f593148b57c46c177e23d25abc4aae18361": { + "balance": "0x56bc75e2d63100000" }, - "94fcceadfe5c109c5eaeaf462d43873142c88e22": { - "balance": "4800000000000000000000" + "0x94fcceadfe5c109c5eaeaf462d43873142c88e22": { + "balance": "0x1043561a88293000000" }, - "e89249738b7eced7cb666a663c49cbf6de8343ea": { - "balance": "2000000000000000000000" + "0xe89249738b7eced7cb666a663c49cbf6de8343ea": { + "balance": "0x6c6b935b8bbd400000" }, - "23c99ba087448e19c9701df66e0cab52368331fa": { - "balance": "2000000000000000000000" + "0x23c99ba087448e19c9701df66e0cab52368331fa": { + "balance": "0x6c6b935b8bbd400000" }, - "a68e0c30cba3bc5a883e540320f999c7cd558e5c": { - "balance": "1799869000000000000000" + "0xa68e0c30cba3bc5a883e540320f999c7cd558e5c": { + "balance": "0x6192333762a58c8000" }, - "88888a57bd9687cbf950aeeacf9740dcc4d1ef59": { - "balance": "1820000000000000000000" + "0x88888a57bd9687cbf950aeeacf9740dcc4d1ef59": { + "balance": "0x62a992e53a0af00000" }, - "e9b36fe9b51412ddca1a521d6e94bc901213dda8": { - "balance": "10000000000000000000000" + "0xe9b36fe9b51412ddca1a521d6e94bc901213dda8": { + "balance": "0x21e19e0c9bab2400000" }, - "a9145046fa3628cf5fd4c613927be531e6db1fdd": { - "balance": "112000000000000000000" + "0xa9145046fa3628cf5fd4c613927be531e6db1fdd": { + "balance": "0x6124fee993bc00000" }, - "e82c58c579431b673546b53a86459acaf1de9b93": { - "balance": "1000000000000000000000" + "0xe82c58c579431b673546b53a86459acaf1de9b93": { + "balance": "0x3635c9adc5dea00000" }, - "bd6a474d66345bcdd707594adb63b30c7822af54": { - "balance": "4000000000000000000000" + "0xbd6a474d66345bcdd707594adb63b30c7822af54": { + "balance": "0xd8d726b7177a800000" }, - "6a6159074ab573e0ee581f0f3df2d6a594629b74": { - "balance": "310000000000000000000" + "0x6a6159074ab573e0ee581f0f3df2d6a594629b74": { + "balance": "0x10ce1d3d8cb3180000" }, - "2e7f465520ec35cc23d68e75651bb6689544a196": { - "balance": "1050049000000000000000" + "0x2e7f465520ec35cc23d68e75651bb6689544a196": { + "balance": "0x38ec5b721a1a268000" }, - "ac6d02e9a46b379fac4ac9b1d7b5d47bc850ce16": { - "balance": "1760000000000000000000" + "0xac6d02e9a46b379fac4ac9b1d7b5d47bc850ce16": { + "balance": "0x5f68e8131ecf800000" }, - "bd59094e074f8d79142ab1489f148e32151f2089": { - "balance": "20000000000000000000" + "0xbd59094e074f8d79142ab1489f148e32151f2089": { + "balance": "0x1158e460913d00000" }, - "0ba6e46af25a13f57169255a34a4dac7ce12be04": { - "balance": "500000000000000000000" + "0x0ba6e46af25a13f57169255a34a4dac7ce12be04": { + "balance": "0x1b1ae4d6e2ef500000" }, - "35145f620397c69cb8e00962961f0f4886643989": { - "balance": "6000000000000000000000" + "0x35145f620397c69cb8e00962961f0f4886643989": { + "balance": "0x14542ba12a337c00000" }, - "d84b922f7841fc5774f00e14604ae0df42c8551e": { - "balance": "4011000000000000000000" + "0xd84b922f7841fc5774f00e14604ae0df42c8551e": { + "balance": "0xd96fce90cfabcc0000" }, - "44232ff66ddad1fd841266380036afd7cf7d7f42": { - "balance": "200000000000000000000" + "0x44232ff66ddad1fd841266380036afd7cf7d7f42": { + "balance": "0xad78ebc5ac6200000" }, - "516954025fca2608f47da81c215eedfd844a09ff": { - "balance": "382000000000000000000" + "0x516954025fca2608f47da81c215eedfd844a09ff": { + "balance": "0x14b550a013c7380000" }, - "e5aa0b833bb916dc19a8dd683f0ede241d988eba": { - "balance": "3000000000000000000000" + "0xe5aa0b833bb916dc19a8dd683f0ede241d988eba": { + "balance": "0xa2a15d09519be00000" }, - "80ea1acc136eca4b68c842a95adf6b7fee7eb8a2": { - "balance": "4000000000000000000000" + "0x80ea1acc136eca4b68c842a95adf6b7fee7eb8a2": { + "balance": "0xd8d726b7177a800000" }, - "98a0e54c6d9dc8be96276cebf4fec460f6235d85": { - "balance": "1969803000000000000000" + "0x98a0e54c6d9dc8be96276cebf4fec460f6235d85": { + "balance": "0x6ac882100952c78000" }, - "91620f3eb304e813d28b0297556d65dc4e5de5aa": { - "balance": "3820000000000000000000" + "0x91620f3eb304e813d28b0297556d65dc4e5de5aa": { + "balance": "0xcf152640c5c8300000" }, - "7bb984c6dbb9e279966afafda59c01d02627c804": { - "balance": "8050000000000000000000" + "0x7bb984c6dbb9e279966afafda59c01d02627c804": { + "balance": "0x1b464311d45a6880000" }, - "41f489a1ec747bc29c3e5f9d8db97877d4d1b4e9": { - "balance": "133700000000000000000" + "0x41f489a1ec747bc29c3e5f9d8db97877d4d1b4e9": { + "balance": "0x73f75d1a085ba0000" }, - "8dbc3e6cb433e194f40f82b40faadb1f8b856116": { - "balance": "1910000000000000000000" + "0x8dbc3e6cb433e194f40f82b40faadb1f8b856116": { + "balance": "0x678a932062e4180000" }, - "889da40fb1b60f9ea9bd7a453e584cf7b1b4d9f7": { - "balance": "40000000000000000000" + "0x889da40fb1b60f9ea9bd7a453e584cf7b1b4d9f7": { + "balance": "0x22b1c8c1227a00000" }, - "debbdd831e0f20ae6e378252decdf92f7cf0c658": { - "balance": "2000000000000000000000" + "0xdebbdd831e0f20ae6e378252decdf92f7cf0c658": { + "balance": "0x6c6b935b8bbd400000" }, - "a22ade0ddb5c6ef8d0cd8de94d82b11082cb2e91": { - "balance": "1020000000000000000000" + "0xa22ade0ddb5c6ef8d0cd8de94d82b11082cb2e91": { + "balance": "0x374b57f3cef2700000" }, - "823219a25976bb2aa4af8bad41ac3526b493361f": { - "balance": "2000000000000000000000" + "0x823219a25976bb2aa4af8bad41ac3526b493361f": { + "balance": "0x6c6b935b8bbd400000" }, - "6d39a9e98f81f769d73aad2cead276ac1387babe": { - "balance": "394000000000000000000" + "0x6d39a9e98f81f769d73aad2cead276ac1387babe": { + "balance": "0x155bd9307f9fe80000" }, - "751abcb6cc033059911815c96fd191360ab0442d": { - "balance": "8000000000000000000000" + "0x751abcb6cc033059911815c96fd191360ab0442d": { + "balance": "0x1b1ae4d6e2ef5000000" }, - "64d80c3b8ba68282290b75e65d8978a15a87782c": { - "balance": "1970000000000000000000" + "0x64d80c3b8ba68282290b75e65d8978a15a87782c": { + "balance": "0x6acb3df27e1f880000" }, - "6ba8f7e25fc2d871618e24e40184199137f9f6aa": { - "balance": "400020000000000000000" + "0x6ba8f7e25fc2d871618e24e40184199137f9f6aa": { + "balance": "0x15af64869a6bc20000" }, - "25a74c2ac75dc8baa8b31a9c7cb4b7829b2456da": { - "balance": "2000000000000000000000" + "0x25a74c2ac75dc8baa8b31a9c7cb4b7829b2456da": { + "balance": "0x6c6b935b8bbd400000" }, - "0f7b61c59b016322e8226cafaee9d9e76d50a1b3": { - "balance": "4000000000000000000000" + "0x0f7b61c59b016322e8226cafaee9d9e76d50a1b3": { + "balance": "0xd8d726b7177a800000" }, - "7526e482529f0a14eec98871dddd0e721b0cd9a2": { - "balance": "20000000000000000000" + "0x7526e482529f0a14eec98871dddd0e721b0cd9a2": { + "balance": "0x1158e460913d00000" }, - "071dd90d14d41f4ff7c413c24238d3359cd61a07": { - "balance": "36400000000000000000000" + "0x071dd90d14d41f4ff7c413c24238d3359cd61a07": { + "balance": "0x7b53f79e888dac00000" }, - "a986762f7a4f294f2e0b173279ad2c81a2223458": { - "balance": "20000000000000000000" + "0xa986762f7a4f294f2e0b173279ad2c81a2223458": { + "balance": "0x1158e460913d00000" }, - "e667f652f957c28c0e66d0b63417c80c8c9db878": { - "balance": "601650000000000000000" + "0xe667f652f957c28c0e66d0b63417c80c8c9db878": { + "balance": "0x209d922f5259c50000" }, - "7b98e23cb96beee80a168069ebba8f20edd55ccf": { - "balance": "214500000000000000000" + "0x7b98e23cb96beee80a168069ebba8f20edd55ccf": { + "balance": "0xba0c91587c14a0000" }, - "2d8e5bb8d3521695c77e7c834e0291bfacee7408": { - "balance": "1970000000000000000000" + "0x2d8e5bb8d3521695c77e7c834e0291bfacee7408": { + "balance": "0x6acb3df27e1f880000" }, - "f23d01589eb12d439f7448ff54307529f191858d": { - "balance": "2000000000000000000000" + "0xf23d01589eb12d439f7448ff54307529f191858d": { + "balance": "0x6c6b935b8bbd400000" }, - "abd9605b3e91acfd777830d16463478ae0fc7720": { - "balance": "133700000000000000000" + "0xabd9605b3e91acfd777830d16463478ae0fc7720": { + "balance": "0x73f75d1a085ba0000" }, - "eabb90d37989aab31feae547e0e6f3999ce6a35d": { - "balance": "2000000000000000000000" + "0xeabb90d37989aab31feae547e0e6f3999ce6a35d": { + "balance": "0x6c6b935b8bbd400000" }, - "0abfb39b11486d79572866195ba26c630b6784db": { - "balance": "121500000000000000000000" + "0x0abfb39b11486d79572866195ba26c630b6784db": { + "balance": "0x19ba8737f96928f00000" }, - "d56a144d7af0ae8df649abae535a15983aa04d02": { - "balance": "5000000000000000000000" + "0xd56a144d7af0ae8df649abae535a15983aa04d02": { + "balance": "0x10f0cf064dd59200000" }, - "998c1f93bcdb6ff23c10d0dc924728b73be2ff9f": { - "balance": "1002750000000000000000" + "0x998c1f93bcdb6ff23c10d0dc924728b73be2ff9f": { + "balance": "0x365bf3a433eaf30000" }, - "bc62b3096a91e7dc11a1592a293dd2542150d751": { - "balance": "1000000000000000000000" + "0xbc62b3096a91e7dc11a1592a293dd2542150d751": { + "balance": "0x3635c9adc5dea00000" }, - "0c8f66c6017bce5b20347204b602b743bad78d60": { - "balance": "2000000000000000000000" + "0x0c8f66c6017bce5b20347204b602b743bad78d60": { + "balance": "0x6c6b935b8bbd400000" }, - "4c5b3dc0e2b9360f91289b1fe13ce12c0fbda3e1": { - "balance": "2000000000000000000000" + "0x4c5b3dc0e2b9360f91289b1fe13ce12c0fbda3e1": { + "balance": "0x6c6b935b8bbd400000" }, - "b44605552471a6eee4daab71ff3bb41326d473e0": { - "balance": "839200000000000000000" + "0xb44605552471a6eee4daab71ff3bb41326d473e0": { + "balance": "0x2d7e3d51ba53d00000" }, - "fc3d226bb36a58f526568857b0bb12d109ec9301": { - "balance": "2000000000000000000000" + "0xfc3d226bb36a58f526568857b0bb12d109ec9301": { + "balance": "0x6c6b935b8bbd400000" }, - "adc8228ef928e18b2a807d00fb3c6c79cd1d9e96": { - "balance": "22800000000000000000" + "0xadc8228ef928e18b2a807d00fb3c6c79cd1d9e96": { + "balance": "0x13c69df334ee80000" }, - "9df32a501c0b781c0281022f42a1293ffd7b892a": { - "balance": "9000000000000000000000" + "0x9df32a501c0b781c0281022f42a1293ffd7b892a": { + "balance": "0x1e7e4171bf4d3a00000" }, - "e7da609d40cde80f00ce5b4ffb6aa9d0b03494fc": { - "balance": "1000000000000000000000" + "0xe7da609d40cde80f00ce5b4ffb6aa9d0b03494fc": { + "balance": "0x3635c9adc5dea00000" }, - "9b64d3cd8d2b73f66841b5c46bb695b88a9ab75d": { - "balance": "20769000000000000000" + "0x9b64d3cd8d2b73f66841b5c46bb695b88a9ab75d": { + "balance": "0x1203a4f760c168000" }, - "8e9c08f738661f9676236eff82ba6261dd3f4822": { - "balance": "100000000000000000000" + "0x8e9c08f738661f9676236eff82ba6261dd3f4822": { + "balance": "0x56bc75e2d63100000" }, - "deb97254474c0d2f5a7970dcdb2f52fb1098b896": { - "balance": "1000000000000000000000" + "0xdeb97254474c0d2f5a7970dcdb2f52fb1098b896": { + "balance": "0x3635c9adc5dea00000" }, - "b4256273962bf631d014555cc1da0dcc31616b49": { - "balance": "2000000000000000000000" + "0xb4256273962bf631d014555cc1da0dcc31616b49": { + "balance": "0x6c6b935b8bbd400000" }, - "23abd9e93e7957e5b636be6579051c15e5ce0b0e": { - "balance": "17188400000000000000000" + "0x23abd9e93e7957e5b636be6579051c15e5ce0b0e": { + "balance": "0x3a3c8f7cbf42c380000" }, - "382591e7217b435e8e884cdbf415fe377a6fe29e": { - "balance": "8022000000000000000000" + "0x382591e7217b435e8e884cdbf415fe377a6fe29e": { + "balance": "0x1b2df9d219f57980000" }, - "f17adb740f45cbbde3094e7e13716f8103f563bd": { - "balance": "2000000000000000000000" + "0xf17adb740f45cbbde3094e7e13716f8103f563bd": { + "balance": "0x6c6b935b8bbd400000" }, - "61ed5596c697207f3d55b2a51aa7d50f07fa09e8": { - "balance": "2000000000000000000000" + "0x61ed5596c697207f3d55b2a51aa7d50f07fa09e8": { + "balance": "0x6c6b935b8bbd400000" }, - "788e809741a3b14a22a4b1d937c82cfea489eebe": { - "balance": "7000000000000000000000" + "0x788e809741a3b14a22a4b1d937c82cfea489eebe": { + "balance": "0x17b7883c06916600000" }, - "992646ac1acaabf5ddaba8f9429aa6a94e7496a7": { - "balance": "1000110000000000000000" + "0x992646ac1acaabf5ddaba8f9429aa6a94e7496a7": { + "balance": "0x3637507a30abeb0000" }, - "51296f5044270d17707646129c86aad1645eadc1": { - "balance": "1337133000000000000000" + "0x51296f5044270d17707646129c86aad1645eadc1": { + "balance": "0x487c72b310d4648000" }, - "6ee8aad7e0a065d8852d7c3b9a6e5fdc4bf50c00": { - "balance": "20000000000000000000" + "0x6ee8aad7e0a065d8852d7c3b9a6e5fdc4bf50c00": { + "balance": "0x1158e460913d00000" }, - "30db6b9b107e62102f434a9dd0960c2021f5ce4c": { - "balance": "599742000000000000000" + "0x30db6b9b107e62102f434a9dd0960c2021f5ce4c": { + "balance": "0x2083179b6e42530000" }, - "63fc93001305adfbc9b85d29d9291a05f8f1410b": { - "balance": "1000000000000000000000" + "0x63fc93001305adfbc9b85d29d9291a05f8f1410b": { + "balance": "0x3635c9adc5dea00000" }, - "df6ed6006a6abe886ed33d95a4de28fc12183927": { - "balance": "910000000000000000000" + "0xdf6ed6006a6abe886ed33d95a4de28fc12183927": { + "balance": "0x3154c9729d05780000" }, - "4745ab181a36aa8cbf2289d0c45165bc7ebe2381": { - "balance": "39400000000000000000" + "0x4745ab181a36aa8cbf2289d0c45165bc7ebe2381": { + "balance": "0x222c8eb3ff6640000" }, - "7bb0fdf5a663b5fba28d9c902af0c811e252f298": { - "balance": "200000000000000000000" + "0x7bb0fdf5a663b5fba28d9c902af0c811e252f298": { + "balance": "0xad78ebc5ac6200000" }, - "e0ff0bd9154439c4a5b7233e291d7d868af53f33": { - "balance": "396110000000000000000" + "0xe0ff0bd9154439c4a5b7233e291d7d868af53f33": { + "balance": "0x1579216a51bbfb0000" }, - "09261f9acb451c3788844f0c1451a35bad5098e3": { - "balance": "8664000000000000000000" + "0x09261f9acb451c3788844f0c1451a35bad5098e3": { + "balance": "0x1d5ad27502920600000" }, - "2813d263fc5ff2479e970595d6b6b560f8d6d6d1": { - "balance": "2000000000000000000000" + "0x2813d263fc5ff2479e970595d6b6b560f8d6d6d1": { + "balance": "0x6c6b935b8bbd400000" }, - "2cd19694d1926a0fa9189edebafc671cf1b2caa5": { - "balance": "1000000000000000000000" + "0x2cd19694d1926a0fa9189edebafc671cf1b2caa5": { + "balance": "0x3635c9adc5dea00000" }, - "05336e9a722728d963e7a1cf2759fd0274530fca": { - "balance": "915583000000000000000" + "0x05336e9a722728d963e7a1cf2759fd0274530fca": { + "balance": "0x31a2443f888a798000" }, - "e5b7af146986c0ff8f85d22e6cc334077d84e824": { - "balance": "2000000000000000000000" + "0xe5b7af146986c0ff8f85d22e6cc334077d84e824": { + "balance": "0x6c6b935b8bbd400000" }, - "3e4fbd661015f6461ed6735cefef01f31445de3a": { - "balance": "16200000000000000000000" + "0x3e4fbd661015f6461ed6735cefef01f31445de3a": { + "balance": "0x36e342998b8b0200000" }, - "4f5df5b94357de948604c51b7893cddf6076baad": { - "balance": "3760000000000000000000" + "0x4f5df5b94357de948604c51b7893cddf6076baad": { + "balance": "0xcbd47b6eaa8cc00000" }, - "9567a0de811de6ff095b7ee64e7f1b83c2615b80": { - "balance": "267400000000000000000" + "0x9567a0de811de6ff095b7ee64e7f1b83c2615b80": { + "balance": "0xe7eeba3410b740000" }, - "955db3b74360b9a268677e73cea821668af6face": { - "balance": "30000000000000000000000" + "0x955db3b74360b9a268677e73cea821668af6face": { + "balance": "0x65a4da25d3016c00000" }, - "3e040d40cb80ba0125f3b15fdefcc83f3005da1b": { - "balance": "1038000000000000000000" + "0x3e040d40cb80ba0125f3b15fdefcc83f3005da1b": { + "balance": "0x384524cc70b7780000" }, - "43f470ed659e2991c375957e5ddec5bd1d382231": { - "balance": "100000000000000000000" + "0x43f470ed659e2991c375957e5ddec5bd1d382231": { + "balance": "0x56bc75e2d63100000" }, - "047f9bf1529daf87d407175e6f171b5e59e9ff3e": { - "balance": "650000000000000000000" + "0x047f9bf1529daf87d407175e6f171b5e59e9ff3e": { + "balance": "0x233c8fe42703e80000" }, - "15e3b584056b62c973cf5eb096f1733e54c15c91": { - "balance": "936702000000000000000" + "0x15e3b584056b62c973cf5eb096f1733e54c15c91": { + "balance": "0x32c75a0223ddf30000" }, - "c03de42a109b657a64e92224c08dc1275e80d9b2": { - "balance": "20000000000000000000" + "0xc03de42a109b657a64e92224c08dc1275e80d9b2": { + "balance": "0x1158e460913d00000" }, - "e4fc13cfcbac1b17ce7783acd423a845943f6b3a": { - "balance": "20000000000000000000" + "0xe4fc13cfcbac1b17ce7783acd423a845943f6b3a": { + "balance": "0x1158e460913d00000" }, - "65ff874fafce4da318d6c93d57e2c38a0d73e820": { - "balance": "1000160000000000000000" + "0x65ff874fafce4da318d6c93d57e2c38a0d73e820": { + "balance": "0x3638021cecdab00000" }, - "8b997dbc078ad02961355da0a159f2927ed43d64": { - "balance": "197000000000000000000" + "0x8b997dbc078ad02961355da0a159f2927ed43d64": { + "balance": "0xaadec983fcff40000" }, - "2f5080b83f7e2dc0a1dd11b092ad042bff788f4c": { - "balance": "3338355000000000000000" + "0x2f5080b83f7e2dc0a1dd11b092ad042bff788f4c": { + "balance": "0xb4f8fb79231d2b8000" }, - "1b3920d001c43e72b24e7ca46f0fd6e0c20a5ff2": { - "balance": "2000000000000000000000" + "0x1b3920d001c43e72b24e7ca46f0fd6e0c20a5ff2": { + "balance": "0x6c6b935b8bbd400000" }, - "5ade77fd81c25c0af713b10702768c1eb2f975e7": { - "balance": "20000000000000000000" + "0x5ade77fd81c25c0af713b10702768c1eb2f975e7": { + "balance": "0x1158e460913d00000" }, - "acaaddcbf286cb0e215dda55598f7ff0f4ada5c6": { - "balance": "1000000000000000000000" + "0xacaaddcbf286cb0e215dda55598f7ff0f4ada5c6": { + "balance": "0x3635c9adc5dea00000" }, - "64e0217a5b38aa40583625967fa9883690388b6f": { - "balance": "200000000000000000000" + "0x64e0217a5b38aa40583625967fa9883690388b6f": { + "balance": "0xad78ebc5ac6200000" }, - "ae648155a658370f929be384f7e001047e49dd46": { - "balance": "13561000000000000000000" + "0xae648155a658370f929be384f7e001047e49dd46": { + "balance": "0x2df24ae32be20440000" }, - "f7c1b443968b117b5dd9b755572fcd39ca5ec04b": { - "balance": "456082000000000000000" + "0xf7c1b443968b117b5dd9b755572fcd39ca5ec04b": { + "balance": "0x18b968c292f1b50000" }, - "de027efbb38503226ed871099cb30bdb02af1335": { - "balance": "1000000000000000000000" + "0xde027efbb38503226ed871099cb30bdb02af1335": { + "balance": "0x3635c9adc5dea00000" }, - "49cf1e54be363106b920729d2d0ba46f0867989a": { - "balance": "268000000000000000000" + "0x49cf1e54be363106b920729d2d0ba46f0867989a": { + "balance": "0xe873f44133cb00000" }, - "e7f4d7fe6f561f7fa1da3005fd365451ad89df89": { - "balance": "200000000000000000000" + "0xe7f4d7fe6f561f7fa1da3005fd365451ad89df89": { + "balance": "0xad78ebc5ac6200000" }, - "b036916bdacf94b69e5a8a65602975eb026104dd": { - "balance": "20000000000000000000" + "0xb036916bdacf94b69e5a8a65602975eb026104dd": { + "balance": "0x1158e460913d00000" }, - "e923c06177b3427ea448c0a6ff019b54cc548d95": { - "balance": "36281000000000000000" + "0xe923c06177b3427ea448c0a6ff019b54cc548d95": { + "balance": "0x1f780014667f28000" }, - "ad927e03d1599a78ca2bf0cad2a183dceb71eac0": { - "balance": "1970000000000000000000" + "0xad927e03d1599a78ca2bf0cad2a183dceb71eac0": { + "balance": "0x6acb3df27e1f880000" }, - "ef39ca9173df15531d73e6b72a684b51ba0f2bb4": { - "balance": "1598000000000000000000" + "0xef39ca9173df15531d73e6b72a684b51ba0f2bb4": { + "balance": "0x56a0b4756ee2380000" }, - "6443b8ae639de91cf73c5ae763eeeed3ddbb9253": { - "balance": "2000000000000000000000" + "0x6443b8ae639de91cf73c5ae763eeeed3ddbb9253": { + "balance": "0x6c6b935b8bbd400000" }, - "8026435aac728d497b19b3e7e57c28c563954f2b": { - "balance": "1730000000000000000000" + "0x8026435aac728d497b19b3e7e57c28c563954f2b": { + "balance": "0x5dc892aa1131c80000" }, - "ed327a14d5cfadd98103fc0999718d7ed70528ea": { - "balance": "1440000000000000000000" + "0xed327a14d5cfadd98103fc0999718d7ed70528ea": { + "balance": "0x4e1003b28d92800000" }, - "38a3dccf2fcfe0c91a2624bd0cbf88ee4a076c33": { - "balance": "2000000000000000000000" + "0x38a3dccf2fcfe0c91a2624bd0cbf88ee4a076c33": { + "balance": "0x6c6b935b8bbd400000" }, - "f0b1f9e27832c6de6914d70afc238c749995ace4": { - "balance": "2000000000000000000000" + "0xf0b1f9e27832c6de6914d70afc238c749995ace4": { + "balance": "0x6c6b935b8bbd400000" }, - "770d98d31b4353fceee8560c4ccf803e88c0c4e0": { - "balance": "600000000000000000000" + "0x770d98d31b4353fceee8560c4ccf803e88c0c4e0": { + "balance": "0x2086ac351052600000" }, - "ba1f0e03cb9aa021f4dcebfa94e5c889c9c7bc9e": { - "balance": "32200000000000000000000" + "0xba1f0e03cb9aa021f4dcebfa94e5c889c9c7bc9e": { + "balance": "0x6d190c475169a200000" }, - "233842b1d0692fd11140cf5acda4bf9630bae5f8": { - "balance": "2000000000000000000000" + "0x233842b1d0692fd11140cf5acda4bf9630bae5f8": { + "balance": "0x6c6b935b8bbd400000" }, - "b5dd50a15da34968890a53b4f13fe1af081baaaa": { - "balance": "4000000000000000000000" + "0xb5dd50a15da34968890a53b4f13fe1af081baaaa": { + "balance": "0xd8d726b7177a800000" }, - "72072a0ef1cff3d567cdd260e708ddc11cbc9a31": { - "balance": "100000000000000000000" + "0x72072a0ef1cff3d567cdd260e708ddc11cbc9a31": { + "balance": "0x56bc75e2d63100000" }, - "81a88196fac5f23c3e12a69dec4b880eb7d97310": { - "balance": "2000000000000000000000" + "0x81a88196fac5f23c3e12a69dec4b880eb7d97310": { + "balance": "0x6c6b935b8bbd400000" }, - "6c63f84556d290bfcd99e434ee9997bfd779577a": { - "balance": "2000000000000000000000" + "0x6c63f84556d290bfcd99e434ee9997bfd779577a": { + "balance": "0x6c6b935b8bbd400000" }, - "5f167aa242bc4c189adecb3ac4a7c452cf192fcf": { - "balance": "1999980000000000000000" + "0x5f167aa242bc4c189adecb3ac4a7c452cf192fcf": { + "balance": "0x6c6b4c4da6ddbe0000" }, - "445cb8de5e3df520b499efc980f52bff40f55c76": { - "balance": "2000000000000000000000" + "0x445cb8de5e3df520b499efc980f52bff40f55c76": { + "balance": "0x6c6b935b8bbd400000" }, - "aec27ce2133e82d052520afb5c576d9f7eb93ed2": { - "balance": "65232380000000000000000" + "0xaec27ce2133e82d052520afb5c576d9f7eb93ed2": { + "balance": "0xdd04120ba09cfe60000" }, - "07dc2bf83bc6af19a842ffea661af5b41b67fda1": { - "balance": "1500000000000000000000" + "0x07dc2bf83bc6af19a842ffea661af5b41b67fda1": { + "balance": "0x5150ae84a8cdf00000" }, - "febd48d0ffdbd5656cd5e686363a61145228f279": { - "balance": "2800000000000000000000" + "0xfebd48d0ffdbd5656cd5e686363a61145228f279": { + "balance": "0x97c9ce4cf6d5c00000" }, - "a86db07d9f812f4796622d40e03d135874a88a74": { - "balance": "20000000000000000000" + "0xa86db07d9f812f4796622d40e03d135874a88a74": { + "balance": "0x1158e460913d00000" }, - "5413c97ffa4a6e2a7bba8961dc9fce8530a787d7": { - "balance": "1000000000000000000000" + "0x5413c97ffa4a6e2a7bba8961dc9fce8530a787d7": { + "balance": "0x3635c9adc5dea00000" }, - "e2ff9ee4b6ecc14141cc74ca52a9e7a2ee14d908": { - "balance": "1400000000000000000000" + "0xe2ff9ee4b6ecc14141cc74ca52a9e7a2ee14d908": { + "balance": "0x4be4e7267b6ae00000" }, - "2e8eb30a716e5fe15c74233e039bfb1106e81d12": { - "balance": "100000000000000000000" + "0x2e8eb30a716e5fe15c74233e039bfb1106e81d12": { + "balance": "0x56bc75e2d63100000" }, - "fd88d114220f081cb3d5e15be8152ab07366576a": { - "balance": "300000000000000000000" + "0xfd88d114220f081cb3d5e15be8152ab07366576a": { + "balance": "0x1043561a8829300000" }, - "e408fceaa1b98f3c640f48fcba39f056066d6308": { - "balance": "10000000000000000000000" + "0xe408fceaa1b98f3c640f48fcba39f056066d6308": { + "balance": "0x21e19e0c9bab2400000" }, - "057dd29f2d19aa3da42327ea50bce86ff5c911d9": { - "balance": "4000000000000000000000" + "0x057dd29f2d19aa3da42327ea50bce86ff5c911d9": { + "balance": "0xd8d726b7177a800000" }, - "ed1065dbcf9d73c04ffc7908870d881468c1e132": { - "balance": "2000000000000000000000" + "0xed1065dbcf9d73c04ffc7908870d881468c1e132": { + "balance": "0x6c6b935b8bbd400000" }, - "bbc9d8112e5beb02dd29a2257b1fe69b3536a945": { - "balance": "2000000000000000000000" + "0xbbc9d8112e5beb02dd29a2257b1fe69b3536a945": { + "balance": "0x6c6b935b8bbd400000" }, - "79c1be19711f73bee4e6316ae7549459aacea2e0": { - "balance": "400000000000000000000" + "0x79c1be19711f73bee4e6316ae7549459aacea2e0": { + "balance": "0x15af1d78b58c400000" }, - "1bcf3441a866bdbe963009ce33c81cbb0261b02c": { - "balance": "182000000000000000000" + "0x1bcf3441a866bdbe963009ce33c81cbb0261b02c": { + "balance": "0x9ddc1e3b901180000" }, - "e2e26e4e1dcf30d048cc6ecf9d51ec1205a4e926": { - "balance": "4000000000000000000000" + "0xe2e26e4e1dcf30d048cc6ecf9d51ec1205a4e926": { + "balance": "0xd8d726b7177a800000" }, - "77701e2c493da47c1b58f421b5495dee45bea39b": { - "balance": "6068279000000000000000" + "0x77701e2c493da47c1b58f421b5495dee45bea39b": { + "balance": "0x148f649cf6142a58000" }, - "37a05aceb9395c8635a39a7c5d266ae610d10bf2": { - "balance": "30000000000000000000000" + "0x37a05aceb9395c8635a39a7c5d266ae610d10bf2": { + "balance": "0x65a4da25d3016c00000" }, - "c6355ec4768c70a49af69513cd83a5bca7e3b9cd": { - "balance": "6000000000000000000000" + "0xc6355ec4768c70a49af69513cd83a5bca7e3b9cd": { + "balance": "0x14542ba12a337c00000" }, - "e3c0c128327a9ad80148139e269773428e638cb0": { - "balance": "2000000000000000000000" + "0xe3c0c128327a9ad80148139e269773428e638cb0": { + "balance": "0x6c6b935b8bbd400000" }, - "f7f4898c4c526d955f21f055cb6e47b915e51964": { - "balance": "2288000000000000000000" + "0xf7f4898c4c526d955f21f055cb6e47b915e51964": { + "balance": "0x7c0860e5a80dc00000" }, - "29824e94cc4348bc963279dcdf47391715324cd3": { - "balance": "1940000000000000000000" + "0x29824e94cc4348bc963279dcdf47391715324cd3": { + "balance": "0x692ae8897081d00000" }, - "eaa45cea02d87d2cc8fda9434e2d985bd4031584": { - "balance": "1920750000000000000000" + "0xeaa45cea02d87d2cc8fda9434e2d985bd4031584": { + "balance": "0x681fc2cc6e2b8b0000" }, - "e08b9aba6bd9d28bc2056779d2fbf0f2855a3d9d": { - "balance": "2000000000000000000000" + "0xe08b9aba6bd9d28bc2056779d2fbf0f2855a3d9d": { + "balance": "0x6c6b935b8bbd400000" }, - "87c498170934b8233d1ad1e769317d5c475f2f40": { - "balance": "1015200000000000000000" + "0x87c498170934b8233d1ad1e769317d5c475f2f40": { + "balance": "0x3708baed3d68900000" }, - "352d29a26e8a41818181746467f582e6e84012e0": { - "balance": "6000000000000000000000" + "0x352d29a26e8a41818181746467f582e6e84012e0": { + "balance": "0x14542ba12a337c00000" }, - "403220600a36f73f24e190d1edb2d61be3f41354": { - "balance": "304000000000000000000" + "0x403220600a36f73f24e190d1edb2d61be3f41354": { + "balance": "0x107ad8f556c6c00000" }, - "0a48296f7631708c95d2b74975bc4ab88ac1392a": { - "balance": "5000000000000000000000" + "0x0a48296f7631708c95d2b74975bc4ab88ac1392a": { + "balance": "0x10f0cf064dd59200000" }, - "ffe0e997f1977a615f5a315af413fd4869343ba0": { - "balance": "100076000000000000000" + "0xffe0e997f1977a615f5a315af413fd4869343ba0": { + "balance": "0x56cd55fc64dfe0000" }, - "ca66b2280fa282c5b67631ce552b62ee55ad8474": { - "balance": "1969488000000000000000" + "0xca66b2280fa282c5b67631ce552b62ee55ad8474": { + "balance": "0x6ac422f53492880000" }, - "2b6ed29a95753c3ad948348e3e7b1a251080ffb9": { - "balance": "250000000000000000000000" + "0x2b6ed29a95753c3ad948348e3e7b1a251080ffb9": { + "balance": "0x34f086f3b33b68400000" }, - "492e70f04d18408cb41e25603730506b35a2876b": { - "balance": "39400000000000000000" + "0x492e70f04d18408cb41e25603730506b35a2876b": { + "balance": "0x222c8eb3ff6640000" }, - "0e6baaa3deb989f289620076668618e9ac332865": { - "balance": "200000000000000000000" + "0x0e6baaa3deb989f289620076668618e9ac332865": { + "balance": "0xad78ebc5ac6200000" }, - "b753a75f9ed10b21643a0a3dc0517ac96b1a4068": { - "balance": "401800000000000000000" + "0xb753a75f9ed10b21643a0a3dc0517ac96b1a4068": { + "balance": "0x15c8185b2c1ff40000" }, - "3ad915d550b723415620f5a9b5b88a85f382f035": { - "balance": "1000000000000000000000" + "0x3ad915d550b723415620f5a9b5b88a85f382f035": { + "balance": "0x3635c9adc5dea00000" }, - "c992be59c6721caf4e028f9e8f05c25c55515bd4": { - "balance": "20000000000000000000" + "0xc992be59c6721caf4e028f9e8f05c25c55515bd4": { + "balance": "0x1158e460913d00000" }, - "02b643d6fabd437a851accbe79abb7fde126dccf": { - "balance": "7200000000000000000000" + "0x02b643d6fabd437a851accbe79abb7fde126dccf": { + "balance": "0x18650127cc3dc800000" }, - "88797e58675ed5cc4c19980783dbd0c956085153": { - "balance": "2000000000000000000000" + "0x88797e58675ed5cc4c19980783dbd0c956085153": { + "balance": "0x6c6b935b8bbd400000" }, - "ac142eda1157b9a9a64390df7e6ae694fac98905": { - "balance": "200000000000000000000" + "0xac142eda1157b9a9a64390df7e6ae694fac98905": { + "balance": "0xad78ebc5ac6200000" }, - "656579daedd29370d9b737ee3f5cd9d84bc2b342": { - "balance": "1430000000000000000000" + "0x656579daedd29370d9b737ee3f5cd9d84bc2b342": { + "balance": "0x4d853c8f8908980000" }, - "9bb9b02a26bfe1ccc3f0c6219e261c397fc5ca78": { - "balance": "1337000000000000000000" + "0x9bb9b02a26bfe1ccc3f0c6219e261c397fc5ca78": { + "balance": "0x487a9a304539440000" }, - "bee8d0b008421954f92d000d390fb8f8e658eaee": { - "balance": "1000000000000000000000" + "0xbee8d0b008421954f92d000d390fb8f8e658eaee": { + "balance": "0x3635c9adc5dea00000" }, - "7989d09f3826c3e5af8c752a8115723a84d80970": { - "balance": "415554000000000000000" + "0x7989d09f3826c3e5af8c752a8115723a84d80970": { + "balance": "0x1686f8614cf0ad0000" }, - "7cd5d81eab37e11e6276a3a1091251607e0d7e38": { - "balance": "62856000000000000000" + "0x7cd5d81eab37e11e6276a3a1091251607e0d7e38": { + "balance": "0x3684d5ef981f40000" }, - "6ce1b0f6adc47051e8ab38b39edb4186b03babcc": { - "balance": "1207800000000000000000" + "0x6ce1b0f6adc47051e8ab38b39edb4186b03babcc": { + "balance": "0x41799794cd24cc0000" }, - "abfcf5f25091ce57875fc674dcf104e2a73dd2f2": { - "balance": "19700000000000000000" + "0xabfcf5f25091ce57875fc674dcf104e2a73dd2f2": { + "balance": "0x11164759ffb320000" }, - "1c3ef05dae9dcbd489f3024408669de244c52a02": { - "balance": "20000000000000000000000" + "0x1c3ef05dae9dcbd489f3024408669de244c52a02": { + "balance": "0x43c33c1937564800000" }, - "cfa8b37127149bdbfee25c34d878510951ea10eb": { - "balance": "2000000000000000000000" + "0xcfa8b37127149bdbfee25c34d878510951ea10eb": { + "balance": "0x6c6b935b8bbd400000" }, - "74863acec75d03d53e860e64002f2c165e538377": { - "balance": "1000000000000000000000" + "0x74863acec75d03d53e860e64002f2c165e538377": { + "balance": "0x3635c9adc5dea00000" }, - "59b9e733cba4be00429b4bd9dfa64732053a7d55": { - "balance": "20000000000000000000" + "0x59b9e733cba4be00429b4bd9dfa64732053a7d55": { + "balance": "0x1158e460913d00000" }, - "aeadfcd0978edad74a32bd01a0a51d37f246e661": { - "balance": "260000000000000000000" + "0xaeadfcd0978edad74a32bd01a0a51d37f246e661": { + "balance": "0xe18398e7601900000" }, - "08090876baadfee65c3d363ba55312748cfa873d": { - "balance": "1700170000000000000000" + "0x08090876baadfee65c3d363ba55312748cfa873d": { + "balance": "0x5c2a99371cffe10000" }, - "e589fa76984db5ec4004b46ee8a59492c30744ce": { - "balance": "2800000000000000000000" + "0xe589fa76984db5ec4004b46ee8a59492c30744ce": { + "balance": "0x97c9ce4cf6d5c00000" }, - "3485361ee6bf06ef6508ccd23d94641f814d3e2f": { - "balance": "2000000000000000000000" + "0x3485361ee6bf06ef6508ccd23d94641f814d3e2f": { + "balance": "0x6c6b935b8bbd400000" }, - "5cb731160d2e8965670bde925d9de5510935347d": { - "balance": "40000000000000000000" + "0x5cb731160d2e8965670bde925d9de5510935347d": { + "balance": "0x22b1c8c1227a00000" }, - "8ef4d8a2c23c5279187b64e96f741404085385f3": { - "balance": "299598000000000000000" + "0x8ef4d8a2c23c5279187b64e96f741404085385f3": { + "balance": "0x103dc1e9a9697b0000" }, - "e246683cc99db7c4a52bcbacaab0b32f6bfc93d7": { - "balance": "2000000000000000000000" + "0xe246683cc99db7c4a52bcbacaab0b32f6bfc93d7": { + "balance": "0x6c6b935b8bbd400000" }, - "7d273e637ef1eac481119413b91c989dc5eac122": { - "balance": "500000000000000000000" + "0x7d273e637ef1eac481119413b91c989dc5eac122": { + "balance": "0x1b1ae4d6e2ef500000" }, - "6efba8fb2ac5b6730729a972ec224426a287c3ad": { - "balance": "283152000000000000000" + "0x6efba8fb2ac5b6730729a972ec224426a287c3ad": { + "balance": "0xf5985fbcbe1680000" }, - "0773eeacc050f74720b4a1bd57895b1cceeb495d": { - "balance": "10000000000000000000000" + "0x0773eeacc050f74720b4a1bd57895b1cceeb495d": { + "balance": "0x21e19e0c9bab2400000" }, - "88a122a2382c523931fb51a0ccad3beb5b7259c3": { - "balance": "2000000000000000000000" + "0x88a122a2382c523931fb51a0ccad3beb5b7259c3": { + "balance": "0x6c6b935b8bbd400000" }, - "b0b779b94bfa3c2e1f587bcc9c7e21789222378f": { - "balance": "1550000000000000000000" + "0xb0b779b94bfa3c2e1f587bcc9c7e21789222378f": { + "balance": "0x54069233bf7f780000" }, - "86f95c5b11a293940e35c0b898d8b75f08aab06d": { - "balance": "29605000000000000000000" + "0x86f95c5b11a293940e35c0b898d8b75f08aab06d": { + "balance": "0x644e3e875fccf740000" }, - "cf2288ef4ebf88e86db13d8a0e0bf52a056582c3": { - "balance": "2533000000000000000000" + "0xcf2288ef4ebf88e86db13d8a0e0bf52a056582c3": { + "balance": "0x89506fbf9740740000" }, - "71ea5b11ad8d29b1a4cb67bf58ca6c9f9c338c16": { - "balance": "1600000000000000000000" + "0x71ea5b11ad8d29b1a4cb67bf58ca6c9f9c338c16": { + "balance": "0x56bc75e2d631000000" }, - "9917d68d4af341d651e7f0075c6de6d7144e7409": { - "balance": "5660000000000000000000" + "0x9917d68d4af341d651e7f0075c6de6d7144e7409": { + "balance": "0x132d4476c08e6f00000" }, - "1e5800227d4dcf75e30f5595c5bed3f72e341e3b": { - "balance": "248300000000000000000" + "0x1e5800227d4dcf75e30f5595c5bed3f72e341e3b": { + "balance": "0xd75dace73417e0000" }, - "123759f333e13e3069e2034b4f05398918119d36": { - "balance": "20000000000000000000000" + "0x123759f333e13e3069e2034b4f05398918119d36": { + "balance": "0x43c33c1937564800000" }, - "f798d16da4e460c460cd485fae0fa0599708eb82": { - "balance": "1000000000000000000000" + "0xf798d16da4e460c460cd485fae0fa0599708eb82": { + "balance": "0x3635c9adc5dea00000" }, - "864bec5069f855a4fd5892a6c4491db07c88ff7c": { - "balance": "1000000000000000000000" + "0x864bec5069f855a4fd5892a6c4491db07c88ff7c": { + "balance": "0x3635c9adc5dea00000" }, - "fa283299603d8758e8cab082125d2c8f7d445429": { - "balance": "6415633000000000000000" + "0xfa283299603d8758e8cab082125d2c8f7d445429": { + "balance": "0x15bcacb1e0501ae8000" }, - "c811c2e9aa1ac3462eba5e88fcb5120e9f6e2ca2": { - "balance": "1400140000000000000000" + "0xc811c2e9aa1ac3462eba5e88fcb5120e9f6e2ca2": { + "balance": "0x4be6d887bd876e0000" }, - "61547d376e5369bcf978fc162c3c56ae453547e8": { - "balance": "200000000000000000000" + "0x61547d376e5369bcf978fc162c3c56ae453547e8": { + "balance": "0xad78ebc5ac6200000" }, - "0d747ee5969bf79d57381d6fe3a2406cd0d8ce27": { - "balance": "100000000000000000000000" + "0x0d747ee5969bf79d57381d6fe3a2406cd0d8ce27": { + "balance": "0x152d02c7e14af6800000" }, - "f8962b75db5d24c7e8b7cef1068c3e67cebb30a5": { - "balance": "280000000000000000000" + "0xf8962b75db5d24c7e8b7cef1068c3e67cebb30a5": { + "balance": "0xf2dc7d47f15600000" }, - "35bf6688522f35467a7f75302314c02ba176800e": { - "balance": "17400000000000000000000" + "0x35bf6688522f35467a7f75302314c02ba176800e": { + "balance": "0x3af418202d954e00000" }, - "05cb6c3b0072d3116761b532b218443b53e8f6c5": { - "balance": "141722000000000000000000" + "0x05cb6c3b0072d3116761b532b218443b53e8f6c5": { + "balance": "0x1e02c3d7fca9b6280000" }, - "91c80caa081b38351d2a0e0e00f80a34e56474c1": { - "balance": "1000000000000000000000" + "0x91c80caa081b38351d2a0e0e00f80a34e56474c1": { + "balance": "0x3635c9adc5dea00000" }, - "d75a502a5b677287470f65c5aa51b87c10150572": { - "balance": "907400000000000000000" + "0xd75a502a5b677287470f65c5aa51b87c10150572": { + "balance": "0x3130b4646385740000" }, - "3e194b4ecef8bb711ea2ff24fec4e87bd032f7d1": { - "balance": "2575465000000000000000" + "0x3e194b4ecef8bb711ea2ff24fec4e87bd032f7d1": { + "balance": "0x8b9dc1bc1a036a8000" }, - "736bf1402c83800f893e583192582a134eb532e9": { - "balance": "9999996000000000000000" + "0x736bf1402c83800f893e583192582a134eb532e9": { + "balance": "0x21e19d293c01f260000" }, - "c2cb1ada5da9a0423873814793f16144ef36b2f3": { - "balance": "1334326000000000000000" + "0xc2cb1ada5da9a0423873814793f16144ef36b2f3": { + "balance": "0x48557e3b7017df0000" }, - "efcce06bd6089d0e458ef561f5a689480afe7000": { - "balance": "600000000000000000000" + "0xefcce06bd6089d0e458ef561f5a689480afe7000": { + "balance": "0x2086ac351052600000" }, - "bfe6bcb0f0c07852643324aa5df5fd6225abc3ca": { - "balance": "74500000000000000000" + "0xbfe6bcb0f0c07852643324aa5df5fd6225abc3ca": { + "balance": "0x409e52b48369a0000" }, - "9d799e943e306ba2e5b99c8a6858cbb52c0cf735": { - "balance": "300000000000000000000" + "0x9d799e943e306ba2e5b99c8a6858cbb52c0cf735": { + "balance": "0x1043561a8829300000" }, - "f45b1dcb2e41dc27ffa024daadf619c11175c087": { - "balance": "19700000000000000000" + "0xf45b1dcb2e41dc27ffa024daadf619c11175c087": { + "balance": "0x11164759ffb320000" }, - "08e38ee0ce48c9ca645c1019f73b5355581c56e6": { - "balance": "1600000000000000000000" + "0x08e38ee0ce48c9ca645c1019f73b5355581c56e6": { + "balance": "0x56bc75e2d631000000" }, - "2cb4c3c16bb1c55e7c6b7a19b127a1ac9390cc09": { - "balance": "3397053000000000000000" + "0x2cb4c3c16bb1c55e7c6b7a19b127a1ac9390cc09": { + "balance": "0xb82794a9244f0c8000" }, - "bdc02cd4330c93d6fbda4f6db2a85df22f43c233": { - "balance": "2000000000000000000000" + "0xbdc02cd4330c93d6fbda4f6db2a85df22f43c233": { + "balance": "0x6c6b935b8bbd400000" }, - "acec91ef6941cf630ba9a3e787a012f4a2d91dd4": { - "balance": "80000000000000000000000" + "0xacec91ef6941cf630ba9a3e787a012f4a2d91dd4": { + "balance": "0x10f0cf064dd592000000" }, - "27ac073be79ce657a93aa693ee43bf0fa41fef04": { - "balance": "50000000000000000000000" + "0x27ac073be79ce657a93aa693ee43bf0fa41fef04": { + "balance": "0xa968163f0a57b400000" }, - "22fe884d9037291b4d52e6285ae68dea0be9ffb5": { - "balance": "2000000000000000000000" + "0x22fe884d9037291b4d52e6285ae68dea0be9ffb5": { + "balance": "0x6c6b935b8bbd400000" }, - "c3107a9af3322d5238df0132419131629539577d": { - "balance": "492650000000000000000" + "0xc3107a9af3322d5238df0132419131629539577d": { + "balance": "0x1ab4e464d414310000" }, - "b5cac5ed03477d390bb267d4ebd46101fbc2c3da": { - "balance": "197000000000000000000" + "0xb5cac5ed03477d390bb267d4ebd46101fbc2c3da": { + "balance": "0xaadec983fcff40000" }, - "58fb947364e7695765361ebb1e801ffb8b95e6d0": { - "balance": "200000000000000000000" + "0x58fb947364e7695765361ebb1e801ffb8b95e6d0": { + "balance": "0xad78ebc5ac6200000" }, - "32860997d730b2d83b73241a25d3667d51c908ef": { - "balance": "499938000000000000000" + "0x32860997d730b2d83b73241a25d3667d51c908ef": { + "balance": "0x1b1a089237073d0000" }, - "c79d5062c796dd7761f1f13e558d73a59f82f38b": { - "balance": "8000000000000000000000" + "0xc79d5062c796dd7761f1f13e558d73a59f82f38b": { + "balance": "0x1b1ae4d6e2ef5000000" }, - "fa142fe47eda97e6503b386b18a2bedd73ccb5b1": { - "balance": "850080000000000000000" + "0xfa142fe47eda97e6503b386b18a2bedd73ccb5b1": { + "balance": "0x2e153ad81548100000" }, - "6ca5de00817de0cedce5fd000128dede12648b3c": { - "balance": "20000000000000000000" + "0x6ca5de00817de0cedce5fd000128dede12648b3c": { + "balance": "0x1158e460913d00000" }, - "214b743955a512de6e0d886a8cbd0282bee6d2a2": { - "balance": "2000000000000000000000" + "0x214b743955a512de6e0d886a8cbd0282bee6d2a2": { + "balance": "0x6c6b935b8bbd400000" }, - "ede79ae1ff4f1606d59270216fa46ab2ddd4ecaa": { - "balance": "146000000000000000000" + "0xede79ae1ff4f1606d59270216fa46ab2ddd4ecaa": { + "balance": "0x7ea28327577080000" }, - "528101ce46b720a2214dcdae6618a53177ffa377": { - "balance": "508876000000000000000" + "0x528101ce46b720a2214dcdae6618a53177ffa377": { + "balance": "0x1b9612b9dc01ae0000" }, - "b5870ce342d43343333673038b4764a46e925f3e": { - "balance": "1000000000000000000000" + "0xb5870ce342d43343333673038b4764a46e925f3e": { + "balance": "0x3635c9adc5dea00000" }, - "843bd3502f45f8bc4da370b323bdac3fcf5f19a6": { - "balance": "1476000000000000000000" + "0x843bd3502f45f8bc4da370b323bdac3fcf5f19a6": { + "balance": "0x50039d63d11c900000" }, - "5067f4549afbfe884c59cbc12b96934923d45db0": { - "balance": "1000000000000000000000" + "0x5067f4549afbfe884c59cbc12b96934923d45db0": { + "balance": "0x3635c9adc5dea00000" }, - "6f2a42e6e033d01061131929f7a6ee1538021e52": { - "balance": "2000000000000000000000" + "0x6f2a42e6e033d01061131929f7a6ee1538021e52": { + "balance": "0x6c6b935b8bbd400000" }, - "e9e1f7cb00a110edd0ebf8b377ef8a7bb856117f": { - "balance": "200000000000000000000" + "0xe9e1f7cb00a110edd0ebf8b377ef8a7bb856117f": { + "balance": "0xad78ebc5ac6200000" }, - "a387ecde0ee4c8079499fd8e03473bd88ad7522a": { - "balance": "1970000000000000000000" + "0xa387ecde0ee4c8079499fd8e03473bd88ad7522a": { + "balance": "0x6acb3df27e1f880000" }, - "6dff90e6dc359d2590882b1483edbcf887c0e423": { - "balance": "1000000000000000000000" + "0x6dff90e6dc359d2590882b1483edbcf887c0e423": { + "balance": "0x3635c9adc5dea00000" }, - "22e512149a18d369b73c71efa43e86c9edabaf1d": { - "balance": "1455000000000000000000" + "0x22e512149a18d369b73c71efa43e86c9edabaf1d": { + "balance": "0x4ee02e6714615c0000" }, - "a3203095edb7028e6871ce0a84f548459f83300a": { - "balance": "4000000000000000000000" + "0xa3203095edb7028e6871ce0a84f548459f83300a": { + "balance": "0xd8d726b7177a800000" }, - "93b4bf3fdff6de3f4e56ba6d7799dc4b93a6548f": { - "balance": "19100000000000000000" + "0x93b4bf3fdff6de3f4e56ba6d7799dc4b93a6548f": { + "balance": "0x10910d4cdc9f60000" }, - "8c75956e8fed50f5a7dd7cfd27da200f6746aea6": { - "balance": "1000000000000000000000" + "0x8c75956e8fed50f5a7dd7cfd27da200f6746aea6": { + "balance": "0x3635c9adc5dea00000" }, - "afc8ebe8988bd4105acc4c018e546a1e8f9c7888": { - "balance": "500000000000000000000" + "0xafc8ebe8988bd4105acc4c018e546a1e8f9c7888": { + "balance": "0x1b1ae4d6e2ef500000" }, - "bf9acd4445d9c9554689cabbbab18800ff1741c2": { - "balance": "1000000000000000000000" + "0xbf9acd4445d9c9554689cabbbab18800ff1741c2": { + "balance": "0x3635c9adc5dea00000" }, - "603f2fab7afb6e017b94766069a4b43b38964923": { - "balance": "1656954000000000000000" + "0x603f2fab7afb6e017b94766069a4b43b38964923": { + "balance": "0x59d2db2414da990000" }, - "a1f765c44fe45f790677944844be4f2d42165fbd": { - "balance": "3687750000000000000000" + "0xa1f765c44fe45f790677944844be4f2d42165fbd": { + "balance": "0xc7e9cfde768ec70000" }, - "4dc9d5bb4b19cecd94f19ec25d200ea72f25d7ed": { - "balance": "2000000000000000000000" + "0x4dc9d5bb4b19cecd94f19ec25d200ea72f25d7ed": { + "balance": "0x6c6b935b8bbd400000" }, - "48f60a35484fe7792bcc8a7b6393d0dda1f6b717": { - "balance": "3600000000000000000000" + "0x48f60a35484fe7792bcc8a7b6393d0dda1f6b717": { + "balance": "0xc328093e61ee400000" }, - "588ed990a2aff44a94105d58c305257735c868ac": { - "balance": "16100000000000000000000" + "0x588ed990a2aff44a94105d58c305257735c868ac": { + "balance": "0x368c8623a8b4d100000" }, - "710be8fd5e2918468be2aabea80d828435d79612": { - "balance": "17600000000000000000" + "0x710be8fd5e2918468be2aabea80d828435d79612": { + "balance": "0xf43fc2c04ee00000" }, - "03ea6d26d080e57aee3926b18e8ed73a4e5b2826": { - "balance": "200000000000000000000" + "0x03ea6d26d080e57aee3926b18e8ed73a4e5b2826": { + "balance": "0xad78ebc5ac6200000" }, - "20824ba1dbebbef9846ef3d0f6c1b017e6912ec4": { - "balance": "7170194000000000000000" + "0x20824ba1dbebbef9846ef3d0f6c1b017e6912ec4": { + "balance": "0x184b26e4daf1d350000" }, - "f7500c166f8bea2f82347606e5024be9e4f4ce99": { - "balance": "20000000000000000000" + "0xf7500c166f8bea2f82347606e5024be9e4f4ce99": { + "balance": "0x1158e460913d00000" }, - "9d369165fb70b81a3a765f188fd60cbe5e7b0968": { - "balance": "2000000000000000000000" + "0x9d369165fb70b81a3a765f188fd60cbe5e7b0968": { + "balance": "0x6c6b935b8bbd400000" }, - "6fddbd9bca66e28765c2162c8433548c1052ed11": { - "balance": "82720000000000000000000" + "0x6fddbd9bca66e28765c2162c8433548c1052ed11": { + "balance": "0x1184429b82a818800000" }, - "8b81156e698639943c01a75272ad3d35851ab282": { - "balance": "344946000000000000000" + "0x8b81156e698639943c01a75272ad3d35851ab282": { + "balance": "0x12b3165f65d3e50000" }, - "75804aac64b4199083982902994d9c5ed8828f11": { - "balance": "557800000000000000000" + "0x75804aac64b4199083982902994d9c5ed8828f11": { + "balance": "0x1e3d07b0a620e40000" }, - "d6e8e97ae9839b9ee507eedb28edfb7477031439": { - "balance": "2000000000000000000000" + "0xd6e8e97ae9839b9ee507eedb28edfb7477031439": { + "balance": "0x6c6b935b8bbd400000" }, - "6c808cabb8ff5fbb6312d9c8e84af8cf12ef0875": { - "balance": "4000086000000000000000" + "0x6c808cabb8ff5fbb6312d9c8e84af8cf12ef0875": { + "balance": "0xd8d8583fa2d52f0000" }, - "afa539586e4719174a3b46b9b3e663a7d1b5b987": { - "balance": "5000000000000000000000" + "0xafa539586e4719174a3b46b9b3e663a7d1b5b987": { + "balance": "0x10f0cf064dd59200000" }, - "f8a065f287d91d77cd626af38ffa220d9b552a2b": { - "balance": "1910000000000000000000" + "0xf8a065f287d91d77cd626af38ffa220d9b552a2b": { + "balance": "0x678a932062e4180000" }, - "30e60900cacc7203f314dc604347255167fc2a0f": { - "balance": "2000000000000000000000" + "0x30e60900cacc7203f314dc604347255167fc2a0f": { + "balance": "0x6c6b935b8bbd400000" }, - "796f87ba617a2930b1670be92ed1281fb0b346e1": { - "balance": "128400000000000000000" + "0x796f87ba617a2930b1670be92ed1281fb0b346e1": { + "balance": "0x6f5e86fb528280000" }, - "f114ff0d0f24eff896edde5471dea484824a99b3": { - "balance": "13700000000000000000" + "0xf114ff0d0f24eff896edde5471dea484824a99b3": { + "balance": "0xbe202d6a0eda0000" }, - "0b80fc70282cbdd5fde35bf78984db3bdb120188": { - "balance": "1000160000000000000000" + "0x0b80fc70282cbdd5fde35bf78984db3bdb120188": { + "balance": "0x3638021cecdab00000" }, - "da7ad025ebde25d22243cb830ea1d3f64a566323": { - "balance": "500000000000000000000" + "0xda7ad025ebde25d22243cb830ea1d3f64a566323": { + "balance": "0x1b1ae4d6e2ef500000" }, - "65a52141f56bef98991724c6e7053381da8b5925": { - "balance": "60140000000000000000" + "0x65a52141f56bef98991724c6e7053381da8b5925": { + "balance": "0x3429c335d57fe0000" }, - "bbc8eaff637e94fcc58d913c7770c88f9b479277": { - "balance": "200000000000000000000" + "0xbbc8eaff637e94fcc58d913c7770c88f9b479277": { + "balance": "0xad78ebc5ac6200000" }, - "0469e8c440450b0e512626fe817e6754a8152830": { - "balance": "2000000000000000000000" + "0x0469e8c440450b0e512626fe817e6754a8152830": { + "balance": "0x6c6b935b8bbd400000" }, - "0727be0a2a00212048b5520fbefb953ebc9d54a0": { - "balance": "10000000000000000000000" + "0x0727be0a2a00212048b5520fbefb953ebc9d54a0": { + "balance": "0x21e19e0c9bab2400000" }, - "7d858493f07415e0912d05793c972113eae8ae88": { - "balance": "1818000000000000000000" + "0x7d858493f07415e0912d05793c972113eae8ae88": { + "balance": "0x628dd177d2bc280000" }, - "7091303116d5f2389b23238b4d656a8596d984d3": { - "balance": "1094014000000000000000" + "0x7091303116d5f2389b23238b4d656a8596d984d3": { + "balance": "0x3b4e7e80aa58330000" }, - "3702e704cc21617439ad4ea27a5714f2fda1e932": { - "balance": "1000000000000000000000" + "0x3702e704cc21617439ad4ea27a5714f2fda1e932": { + "balance": "0x3635c9adc5dea00000" }, - "b87de1bcd29269d521b8761cc39cfb4319d2ead5": { - "balance": "1000000000000000000000" + "0xb87de1bcd29269d521b8761cc39cfb4319d2ead5": { + "balance": "0x3635c9adc5dea00000" }, - "f639ac31da9f67271bd10402b7654e5ce763bd47": { - "balance": "399996000000000000000" + "0xf639ac31da9f67271bd10402b7654e5ce763bd47": { + "balance": "0x15af0f42baf9260000" }, - "e7735ec76518fc6aa92da8715a9ee3f625788f13": { - "balance": "1997803000000000000000" + "0xe7735ec76518fc6aa92da8715a9ee3f625788f13": { + "balance": "0x6c4d160bafa1b78000" }, - "51277fe7c81eebd252a03df69a6b9f326e272207": { - "balance": "59965000000000000000" + "0x51277fe7c81eebd252a03df69a6b9f326e272207": { + "balance": "0x3402e79cab44c8000" }, - "3b8098533f7d9bdcd307dbb23e1777ca18418936": { - "balance": "2000000000000000000000" + "0x3b8098533f7d9bdcd307dbb23e1777ca18418936": { + "balance": "0x6c6b935b8bbd400000" }, - "2cba6d5d0dc204ea8a25ada2e26f5675bd5f2fdc": { - "balance": "1330755000000000000000" + "0x2cba6d5d0dc204ea8a25ada2e26f5675bd5f2fdc": { + "balance": "0x4823ef7ddb9af38000" }, - "5c3c1c645b917543113b3e6c1c054da1fe742b9a": { - "balance": "800000000000000000000" + "0x5c3c1c645b917543113b3e6c1c054da1fe742b9a": { + "balance": "0x2b5e3af16b18800000" }, - "5ecdbaeab9106ffe5d7b519696609a05baeb85ad": { - "balance": "20000000000000000000" + "0x5ecdbaeab9106ffe5d7b519696609a05baeb85ad": { + "balance": "0x1158e460913d00000" }, - "45a820a0672f17dc74a08112bc643fd1167736c3": { - "balance": "199943000000000000000" + "0x45a820a0672f17dc74a08112bc643fd1167736c3": { + "balance": "0xad6c43b2815ed8000" }, - "beef94213879e02622142bea61290978939a60d7": { - "balance": "5728109000000000000000" + "0xbeef94213879e02622142bea61290978939a60d7": { + "balance": "0x136857b32ad86048000" }, - "6cd212aee04e013f3d2abad2a023606bfb5c6ac7": { - "balance": "1999944000000000000000" + "0x6cd212aee04e013f3d2abad2a023606bfb5c6ac7": { + "balance": "0x6c6acc67d7b1d40000" }, - "92698e345378c62d8eda184d94366a144b0c105b": { - "balance": "1400000000000000000000" + "0x92698e345378c62d8eda184d94366a144b0c105b": { + "balance": "0x4be4e7267b6ae00000" }, - "2d5b42fc59ebda0dfd66ae914bc28c1b0a6ef83a": { - "balance": "206764195000000000000000" + "0x2d5b42fc59ebda0dfd66ae914bc28c1b0a6ef83a": { + "balance": "0x2bc8b59fdcd836638000" }, - "b7a6791c16eb4e2162f14b6537a02b3d63bfc602": { - "balance": "780700000000000000000" + "0xb7a6791c16eb4e2162f14b6537a02b3d63bfc602": { + "balance": "0x2a526391ac93760000" }, - "fa105f1a11b6e4b1f56012a27922e2ac2da4812f": { - "balance": "9550000000000000000000" + "0xfa105f1a11b6e4b1f56012a27922e2ac2da4812f": { + "balance": "0x205b4dfa1ee74780000" }, - "2306df931a940d58c01665fa4d0800802c02edfe": { - "balance": "1000000000000000000000" + "0x2306df931a940d58c01665fa4d0800802c02edfe": { + "balance": "0x3635c9adc5dea00000" }, - "f37bf78c5875154711cb640d37ea6d28cfcb1259": { - "balance": "200000000000000000000" + "0xf37bf78c5875154711cb640d37ea6d28cfcb1259": { + "balance": "0xad78ebc5ac6200000" }, - "66201bd227ae6dc6bdfed5fbde811fecfe5e9dd9": { - "balance": "594808000000000000000" + "0x66201bd227ae6dc6bdfed5fbde811fecfe5e9dd9": { + "balance": "0x203e9e8492788c0000" }, - "2bafbf9e9ed2c219f7f2791374e7d05cb06777e7": { - "balance": "220000000000000000000" + "0x2bafbf9e9ed2c219f7f2791374e7d05cb06777e7": { + "balance": "0xbed1d0263d9f00000" }, - "8e9b35ad4a0a86f758446fffde34269d940ceacd": { - "balance": "4000000000000000000000" + "0x8e9b35ad4a0a86f758446fffde34269d940ceacd": { + "balance": "0xd8d726b7177a800000" }, - "1b43232ccd4880d6f46fa751a96cd82473315841": { - "balance": "80000000000000000000" + "0x1b43232ccd4880d6f46fa751a96cd82473315841": { + "balance": "0x4563918244f400000" }, - "6eefdc850e87b715c72791773c0316c3559b58a4": { - "balance": "4000000000000000000000" + "0x6eefdc850e87b715c72791773c0316c3559b58a4": { + "balance": "0xd8d726b7177a800000" }, - "f2c03e2a38998c21648760f1e5ae7ea3077d8522": { - "balance": "2642456000000000000000" + "0xf2c03e2a38998c21648760f1e5ae7ea3077d8522": { + "balance": "0x8f3f7193ab079c0000" }, - "0625d06056968b002206ff91980140242bfaa499": { - "balance": "1000000000000000000000" + "0x0625d06056968b002206ff91980140242bfaa499": { + "balance": "0x3635c9adc5dea00000" }, - "6158e107c5eb54cb7604e0cd8dc1e07500d91c3c": { - "balance": "50000000000000000000" + "0x6158e107c5eb54cb7604e0cd8dc1e07500d91c3c": { + "balance": "0x2b5e3af16b1880000" }, - "02477212ffdd75e5155651b76506b1646671a1eb": { - "balance": "1760000000000000000000" + "0x02477212ffdd75e5155651b76506b1646671a1eb": { + "balance": "0x5f68e8131ecf800000" }, - "fa44a855e404c86d0ca8ef3324251dfb349c539e": { - "balance": "1552000000000000000000" + "0xfa44a855e404c86d0ca8ef3324251dfb349c539e": { + "balance": "0x542253a126ce400000" }, - "49897fe932bbb3154c95d3bce6d93b6d732904dd": { - "balance": "4000000000000000000000" + "0x49897fe932bbb3154c95d3bce6d93b6d732904dd": { + "balance": "0xd8d726b7177a800000" }, - "9b6641b13e172fc072ca4b8327a3bc28a15b66a9": { - "balance": "120000000000000000000" + "0x9b6641b13e172fc072ca4b8327a3bc28a15b66a9": { + "balance": "0x68155a43676e00000" }, - "a46b4387fb4dcce011e76e4d73547d4481e09be5": { - "balance": "1337000000000000000000" + "0xa46b4387fb4dcce011e76e4d73547d4481e09be5": { + "balance": "0x487a9a304539440000" }, - "72bb27cb99f3e2c2cf90a98f707d30e4a201a071": { - "balance": "1640000000000000000000" + "0x72bb27cb99f3e2c2cf90a98f707d30e4a201a071": { + "balance": "0x58e7926ee858a00000" }, - "b6bfe1c3ef94e1846fb9e3acfe9b50c3e9069233": { - "balance": "1999944000000000000000" + "0xb6bfe1c3ef94e1846fb9e3acfe9b50c3e9069233": { + "balance": "0x6c6acc67d7b1d40000" }, - "e6cb3f3124c9c9cc3834b1274bc3336456a38bac": { - "balance": "427382000000000000000" + "0xe6cb3f3124c9c9cc3834b1274bc3336456a38bac": { + "balance": "0x172b1de0a213ff0000" }, - "fcbc5c71ace79741450b012cf6b8d3f17db68a70": { - "balance": "9550000000000000000000" + "0xfcbc5c71ace79741450b012cf6b8d3f17db68a70": { + "balance": "0x205b4dfa1ee74780000" }, - "15dbb48c98309764f99ced3692dcca35ee306bac": { - "balance": "150000000000000000000000" + "0x15dbb48c98309764f99ced3692dcca35ee306bac": { + "balance": "0x1fc3842bd1f071c00000" }, - "2e10910ba6e0bc17e055556614cb87090f4d7e5b": { - "balance": "200000000000000000000" + "0x2e10910ba6e0bc17e055556614cb87090f4d7e5b": { + "balance": "0xad78ebc5ac6200000" }, - "e5fbe34984b637196f331c679d0c0c47d83410e1": { - "balance": "2000050000000000000000" + "0xe5fbe34984b637196f331c679d0c0c47d83410e1": { + "balance": "0x6c6c44fe47ec050000" }, - "6d120f0caae44fd94bcafe55e2e279ef96ba5c7a": { - "balance": "4000000000000000000000" + "0x6d120f0caae44fd94bcafe55e2e279ef96ba5c7a": { + "balance": "0xd8d726b7177a800000" }, - "aa5afcfd8309c2df9d15be5e6a504e7d706624c5": { - "balance": "5846763000000000000000" + "0xaa5afcfd8309c2df9d15be5e6a504e7d706624c5": { + "balance": "0x13cf422e305a1378000" }, - "37959c20b7e9931d72f5a8ae869dafddad3b6d5c": { - "balance": "200000000000000000000" + "0x37959c20b7e9931d72f5a8ae869dafddad3b6d5c": { + "balance": "0xad78ebc5ac6200000" }, - "b041310fe9eed6864cedd4bee58df88eb4ed3cac": { - "balance": "10000000000000000000000" + "0xb041310fe9eed6864cedd4bee58df88eb4ed3cac": { + "balance": "0x21e19e0c9bab2400000" }, - "986df47e76e4d7a789cdee913cc9831650936c9d": { - "balance": "5000000000000000000000" + "0x986df47e76e4d7a789cdee913cc9831650936c9d": { + "balance": "0x10f0cf064dd59200000" }, - "35aaa0465d1c260c420fa30e2629869fb6559207": { - "balance": "704976000000000000000" + "0x35aaa0465d1c260c420fa30e2629869fb6559207": { + "balance": "0x263781e0e087c80000" }, - "7f655c6789eddf455cb4b88099720639389eebac": { - "balance": "6000000000000000000000" + "0x7f655c6789eddf455cb4b88099720639389eebac": { + "balance": "0x14542ba12a337c00000" }, - "9e3eb509278fe0dcd8e0bbe78a194e06b6803943": { - "balance": "940000000000000000000" + "0x9e3eb509278fe0dcd8e0bbe78a194e06b6803943": { + "balance": "0x32f51edbaaa3300000" }, - "3e9410d3b9a87ed5e451a6b91bb8923fe90fb2b5": { - "balance": "200000000000000000000" + "0x3e9410d3b9a87ed5e451a6b91bb8923fe90fb2b5": { + "balance": "0xad78ebc5ac6200000" }, - "9e960dcd03d5ba99cb115d17ff4c09248ad4d0be": { - "balance": "200000000000000000000" + "0x9e960dcd03d5ba99cb115d17ff4c09248ad4d0be": { + "balance": "0xad78ebc5ac6200000" }, - "f057aa66ca767ede124a1c5b9cc5fc94ef0b0137": { - "balance": "2077730000000000000000" + "0xf057aa66ca767ede124a1c5b9cc5fc94ef0b0137": { + "balance": "0x70a24bcab6f45d0000" }, - "f38a6ca80168537e974d14e1c3d13990a44c2c1b": { - "balance": "6000000000000000000000" + "0xf38a6ca80168537e974d14e1c3d13990a44c2c1b": { + "balance": "0x14542ba12a337c00000" }, - "229e430de2b74f442651ddcdb70176bc054cad54": { - "balance": "13545000000000000000" + "0x229e430de2b74f442651ddcdb70176bc054cad54": { + "balance": "0xbbf981bc4aaa8000" }, - "27bf9f44ba7d05c33540c3a53bb02cbbffe7c3c6": { - "balance": "2000000000000000000000" + "0x27bf9f44ba7d05c33540c3a53bb02cbbffe7c3c6": { + "balance": "0x6c6b935b8bbd400000" }, - "10389858b800e8c0ec32f51ed61a355946cc409b": { - "balance": "200000000000000000000" + "0x10389858b800e8c0ec32f51ed61a355946cc409b": { + "balance": "0xad78ebc5ac6200000" }, - "fd2929271e9d2095a264767e7b0df52ea0d1d400": { - "balance": "3000040000000000000000" + "0xfd2929271e9d2095a264767e7b0df52ea0d1d400": { + "balance": "0xa2a1eb251b5ae40000" }, - "44250d476e062484e9080a3967bf3a4a732ad73f": { - "balance": "20000000000000000000" + "0x44250d476e062484e9080a3967bf3a4a732ad73f": { + "balance": "0x1158e460913d00000" }, - "0c67033dd8ee7f0c8ae534d42a51f7d9d4f7978f": { - "balance": "200000000000000000000" + "0x0c67033dd8ee7f0c8ae534d42a51f7d9d4f7978f": { + "balance": "0xad78ebc5ac6200000" }, - "e083d34863e0e17f926b7928edff317e998e9c4b": { - "balance": "400000000000000000000" + "0xe083d34863e0e17f926b7928edff317e998e9c4b": { + "balance": "0x15af1d78b58c400000" }, - "7f7192c0df1c7db6d9ed65d71184d8e4155a17ba": { - "balance": "79800000000000000000" + "0x7f7192c0df1c7db6d9ed65d71184d8e4155a17ba": { + "balance": "0x453728d33942c0000" }, - "51e7b55c2f9820eed73884361b5066a59b6f45c6": { - "balance": "2000000000000000000000" + "0x51e7b55c2f9820eed73884361b5066a59b6f45c6": { + "balance": "0x6c6b935b8bbd400000" }, - "4fa983bb5e3073a8edb557effeb4f9fb1d60ef86": { - "balance": "1599800000000000000000" + "0x4fa983bb5e3073a8edb557effeb4f9fb1d60ef86": { + "balance": "0x56b9af57e575ec0000" }, - "5a5ee8e9bb0e8ab2fecb4b33d29478be50bbd44b": { - "balance": "776000000000000000000" + "0x5a5ee8e9bb0e8ab2fecb4b33d29478be50bbd44b": { + "balance": "0x2a1129d09367200000" }, - "1f3959fc291110e88232c36b7667fc78a379613f": { - "balance": "18200000000000000000" + "0x1f3959fc291110e88232c36b7667fc78a379613f": { + "balance": "0xfc936392801c0000" }, - "2d7d5c40ddafc450b04a74a4dabc2bb5d665002e": { - "balance": "2000000000000000000000" + "0x2d7d5c40ddafc450b04a74a4dabc2bb5d665002e": { + "balance": "0x6c6b935b8bbd400000" }, - "5215183b8f80a9bc03d26ce91207832a0d39e620": { - "balance": "1000000000000000000000" + "0x5215183b8f80a9bc03d26ce91207832a0d39e620": { + "balance": "0x3635c9adc5dea00000" }, - "5607590059a9fec1881149a44b36949aef85d560": { - "balance": "2000000000000000000000" + "0x5607590059a9fec1881149a44b36949aef85d560": { + "balance": "0x6c6b935b8bbd400000" }, - "f7c50f922ad16b61c6d1baa045ed816815bac48f": { - "balance": "12566370000000000000000" + "0xf7c50f922ad16b61c6d1baa045ed816815bac48f": { + "balance": "0x2a9396a9784ad7d0000" }, - "da10978a39a46ff0bb848cf65dd9c77509a6d70e": { - "balance": "2000000000000000000000" + "0xda10978a39a46ff0bb848cf65dd9c77509a6d70e": { + "balance": "0x6c6b935b8bbd400000" }, - "a7dcbba9b9bf6762c145416c506a71e3b497209c": { - "balance": "1999944000000000000000" + "0xa7dcbba9b9bf6762c145416c506a71e3b497209c": { + "balance": "0x6c6acc67d7b1d40000" }, - "54e01283cc8b384538dd646770b357c960d6cacd": { - "balance": "5000000000000000000000" + "0x54e01283cc8b384538dd646770b357c960d6cacd": { + "balance": "0x10f0cf064dd59200000" }, - "78cf8336b328db3d87813a472b9e89b75e0cf3bc": { - "balance": "1000000000000000000000" + "0x78cf8336b328db3d87813a472b9e89b75e0cf3bc": { + "balance": "0x3635c9adc5dea00000" }, - "ba24fc436753a739db2c8d40e6d4d04c528e86fa": { - "balance": "13000000000000000000000" + "0xba24fc436753a739db2c8d40e6d4d04c528e86fa": { + "balance": "0x2c0bb3dd30c4e200000" }, - "dfe929a61c1b38eddbe82c25c2d6753cb1e12d68": { - "balance": "402500000000000000000" + "0xdfe929a61c1b38eddbe82c25c2d6753cb1e12d68": { + "balance": "0x15d1cf4176aeba0000" }, - "2b49fba29830360fcdb6da23bbfea5c0bbac5281": { - "balance": "20000000000000000000" + "0x2b49fba29830360fcdb6da23bbfea5c0bbac5281": { + "balance": "0x1158e460913d00000" }, - "76becae4a31d36f3cb577f2a43594fb1abc1bb96": { - "balance": "24860000000000000000000" + "0x76becae4a31d36f3cb577f2a43594fb1abc1bb96": { + "balance": "0x543a9ce0e1332f00000" }, - "e0cf698a053327ebd16b7d7700092fe2e8542446": { - "balance": "95275000000000000000" + "0xe0cf698a053327ebd16b7d7700092fe2e8542446": { + "balance": "0x52a34cbb61f578000" }, - "a3802d8a659e89a2c47e905430b2a827978950a7": { - "balance": "1000000000000000000000" + "0xa3802d8a659e89a2c47e905430b2a827978950a7": { + "balance": "0x3635c9adc5dea00000" }, - "75636cdb109050e43d5d6ec47e359e218e857eca": { - "balance": "22886800000000000000000" + "0x75636cdb109050e43d5d6ec47e359e218e857eca": { + "balance": "0x4d8b2276c8962280000" }, - "3d813ff2b6ed57b937dabf2b381d148a411fa085": { - "balance": "100000000000000000000" + "0x3d813ff2b6ed57b937dabf2b381d148a411fa085": { + "balance": "0x56bc75e2d63100000" }, - "a9252551a624ae513719dabe5207fbefb2fd7749": { - "balance": "40000000000000000000" + "0xa9252551a624ae513719dabe5207fbefb2fd7749": { + "balance": "0x22b1c8c1227a00000" }, - "c749668042e71123a648975e08ed6382f83e05e2": { - "balance": "14000000000000000000000" + "0xc749668042e71123a648975e08ed6382f83e05e2": { + "balance": "0x2f6f10780d22cc00000" }, - "04eca501630abce35218b174956b891ba25efb23": { - "balance": "1000060000000000000000" + "0x04eca501630abce35218b174956b891ba25efb23": { + "balance": "0x36369ed7747d260000" }, - "790f91bd5d1c5cc4739ae91300db89e1c1303c93": { - "balance": "2000000000000000000000" + "0x790f91bd5d1c5cc4739ae91300db89e1c1303c93": { + "balance": "0x6c6b935b8bbd400000" }, - "009560a3de627868f91fa8bfe1c1b7afaf08186b": { - "balance": "524000000000000000000" + "0x009560a3de627868f91fa8bfe1c1b7afaf08186b": { + "balance": "0x1c67f5f7baa0b00000" }, - "1329dd19cd4baa9fc64310efeceab22117251f12": { - "balance": "200000000000000000000" + "0x1329dd19cd4baa9fc64310efeceab22117251f12": { + "balance": "0xad78ebc5ac6200000" }, - "7005a772282b1f62afda63f89b5dc6ab64c84cb9": { - "balance": "18000000000000000000000" + "0x7005a772282b1f62afda63f89b5dc6ab64c84cb9": { + "balance": "0x3cfc82e37e9a7400000" }, - "abfe936425dcc7b74b955082bbaaf2a11d78bc05": { - "balance": "1400000000000000000000" + "0xabfe936425dcc7b74b955082bbaaf2a11d78bc05": { + "balance": "0x4be4e7267b6ae00000" }, - "97d0d9725e3b70e675843173938ed371b62c7fac": { - "balance": "170000000000000000000" + "0x97d0d9725e3b70e675843173938ed371b62c7fac": { + "balance": "0x93739534d28680000" }, - "41ed2d8e7081482c919fc23d8f0091b3c82c4685": { - "balance": "1295460000000000000000" + "0x41ed2d8e7081482c919fc23d8f0091b3c82c4685": { + "balance": "0x463a1e765bd78a0000" }, - "992365d764c5ce354039ddfc912e023a75b8e168": { - "balance": "18200000000000000000" + "0x992365d764c5ce354039ddfc912e023a75b8e168": { + "balance": "0xfc936392801c0000" }, - "e1c607c0a8a060da8f02a8eb38a013ea8cda5b8c": { - "balance": "805000000000000000000" + "0xe1c607c0a8a060da8f02a8eb38a013ea8cda5b8c": { + "balance": "0x2ba39e82ed5d740000" }, - "3b2c45990e21474451cf4f59f01955b331c7d7c9": { - "balance": "2000000000000000000000" + "0x3b2c45990e21474451cf4f59f01955b331c7d7c9": { + "balance": "0x6c6b935b8bbd400000" }, - "29ac2b458454a36c7e96c73a8667222a12242c71": { - "balance": "4000000000000000000000" + "0x29ac2b458454a36c7e96c73a8667222a12242c71": { + "balance": "0xd8d726b7177a800000" }, - "b8555010776e3c5cb311a5adeefe9e92bb9a64b9": { - "balance": "4000000000000000000000" + "0xb8555010776e3c5cb311a5adeefe9e92bb9a64b9": { + "balance": "0xd8d726b7177a800000" }, - "30380087786965149e81423b15e313ba32c5c783": { - "balance": "18200000000000000000" + "0x30380087786965149e81423b15e313ba32c5c783": { + "balance": "0xfc936392801c0000" }, - "a2f86bc061884e9eef05640edd51a2f7c0596c69": { - "balance": "2000050000000000000000" + "0xa2f86bc061884e9eef05640edd51a2f7c0596c69": { + "balance": "0x6c6c44fe47ec050000" }, - "9f98eb34d46979b0a6de8b05aa533a89b825dcf1": { - "balance": "86500000000000000000" + "0x9f98eb34d46979b0a6de8b05aa533a89b825dcf1": { + "balance": "0x4b06dbbb40f4a0000" }, - "c81fb7d20fd2800192f0aac198d6d6a37d3fcb7d": { - "balance": "259500000000000000000" + "0xc81fb7d20fd2800192f0aac198d6d6a37d3fcb7d": { + "balance": "0xe1149331c2dde0000" }, - "a4035ab1e5180821f0f380f1131b7387c8d981cd": { - "balance": "20000000000000000000" + "0xa4035ab1e5180821f0f380f1131b7387c8d981cd": { + "balance": "0x1158e460913d00000" }, - "782f52f0a676c77716d574c81ec4684f9a020a97": { - "balance": "850055000000000000000" + "0x782f52f0a676c77716d574c81ec4684f9a020a97": { + "balance": "0x2e14e206b730ad8000" }, - "261e0fa64c51137465eecf5b90f197f7937fdb05": { - "balance": "18000000000000000000000" + "0x261e0fa64c51137465eecf5b90f197f7937fdb05": { + "balance": "0x3cfc82e37e9a7400000" }, - "276fd7d24f8f883f5a7a28295bf17151c7a84b03": { - "balance": "2000000000000000000000" + "0x276fd7d24f8f883f5a7a28295bf17151c7a84b03": { + "balance": "0x6c6b935b8bbd400000" }, - "a1f5b840140d5a9acef402ac3cc3886a68cad248": { - "balance": "2000000000000000000000" + "0xa1f5b840140d5a9acef402ac3cc3886a68cad248": { + "balance": "0x6c6b935b8bbd400000" }, - "d2bf67a7f3c6ce56b7be41675dbbadfe7ea93a33": { - "balance": "400000000000000000000" + "0xd2bf67a7f3c6ce56b7be41675dbbadfe7ea93a33": { + "balance": "0x15af1d78b58c400000" }, - "8ee584337ddbc80f9e3498df55f0a21eacb57fb1": { - "balance": "20000000000000000000" + "0x8ee584337ddbc80f9e3498df55f0a21eacb57fb1": { + "balance": "0x1158e460913d00000" }, - "34393c5d91b9de597203e75bac4309b5fa3d28c3": { - "balance": "194000000000000000000" + "0x34393c5d91b9de597203e75bac4309b5fa3d28c3": { + "balance": "0xa844a7424d9c80000" }, - "114cbbbf6fb52ac414be7ec61f7bb71495ce1dfa": { - "balance": "3000000000000000000000" + "0x114cbbbf6fb52ac414be7ec61f7bb71495ce1dfa": { + "balance": "0xa2a15d09519be00000" }, - "ab7c42c5e52d641a07ad75099c62928b7f86622f": { - "balance": "335940000000000000000" + "0xab7c42c5e52d641a07ad75099c62928b7f86622f": { + "balance": "0x12361aa21d14ba0000" }, - "80bf995ed8ba92701d10fec49f9e7d014dbee026": { - "balance": "572153000000000000000" + "0x80bf995ed8ba92701d10fec49f9e7d014dbee026": { + "balance": "0x1f0437ca1a7e128000" }, - "4a192035e2619b24b0709d56590e9183ccf2c1d9": { - "balance": "10000000000000000000000" + "0x4a192035e2619b24b0709d56590e9183ccf2c1d9": { + "balance": "0x21e19e0c9bab2400000" }, - "376cd7577383e902951b60a2017ba7ea29e33576": { - "balance": "2000000000000000000000" + "0x376cd7577383e902951b60a2017ba7ea29e33576": { + "balance": "0x6c6b935b8bbd400000" }, - "f5437e158090b2a2d68f82b54a5864b95dd6dbea": { - "balance": "4010732000000000000000" + "0xf5437e158090b2a2d68f82b54a5864b95dd6dbea": { + "balance": "0xd96c16703b2bfe0000" }, - "13a5eecb38305df94971ef2d9e179ae6cebab337": { - "balance": "330000000000000000000" + "0x13a5eecb38305df94971ef2d9e179ae6cebab337": { + "balance": "0x11e3ab8395c6e80000" }, - "efc8cf1963c9a95267b228c086239889f4dfd467": { - "balance": "10000000000000000000000" + "0xefc8cf1963c9a95267b228c086239889f4dfd467": { + "balance": "0x21e19e0c9bab2400000" }, - "db77b88dcb712fd17ee91a5b94748d720c90a994": { - "balance": "2000000000000000000000" + "0xdb77b88dcb712fd17ee91a5b94748d720c90a994": { + "balance": "0x6c6b935b8bbd400000" }, - "9aaafa0067647ed999066b7a4ca5b4b3f3feaa6f": { - "balance": "1000000000000000000000" + "0x9aaafa0067647ed999066b7a4ca5b4b3f3feaa6f": { + "balance": "0x3635c9adc5dea00000" }, - "ae36f7452121913e800e0fcd1a65a5471c23846f": { - "balance": "164000000000000000000" + "0xae36f7452121913e800e0fcd1a65a5471c23846f": { + "balance": "0x8e3f50b173c100000" }, - "b124bcb6ffa430fcae2e86b45f27e3f21e81ee08": { - "balance": "2000000000000000000000" + "0xb124bcb6ffa430fcae2e86b45f27e3f21e81ee08": { + "balance": "0x6c6b935b8bbd400000" }, - "f2813a64c5265d020235cb9c319b6c96f906c41e": { - "balance": "350000000000000000000" + "0xf2813a64c5265d020235cb9c319b6c96f906c41e": { + "balance": "0x12f939c99edab80000" }, - "e848ca7ebff5c24f9b9c316797a43bf7c356292d": { - "balance": "114000000000000000000" + "0xe848ca7ebff5c24f9b9c316797a43bf7c356292d": { + "balance": "0x62e115c008a880000" }, - "21a6feb6ab11c766fdd977f8df4121155f47a1c0": { - "balance": "57200000000000000000" + "0x21a6feb6ab11c766fdd977f8df4121155f47a1c0": { + "balance": "0x319cf38f100580000" }, - "e95e92bbc6de07bf3a660ebf5feb1c8a3527e1c5": { - "balance": "18200000000000000000" + "0xe95e92bbc6de07bf3a660ebf5feb1c8a3527e1c5": { + "balance": "0xfc936392801c0000" }, - "0b369e002e1b4c7913fcf00f2d5e19c58165478f": { - "balance": "64520000000000000000" + "0x0b369e002e1b4c7913fcf00f2d5e19c58165478f": { + "balance": "0x37f6516288c340000" }, - "0909648c18a3ce5bae7a047ec2f868d24cdda81d": { - "balance": "3820000000000000000000" + "0x0909648c18a3ce5bae7a047ec2f868d24cdda81d": { + "balance": "0xcf152640c5c8300000" }, - "d32b45564614516c91b07fa9f72dcf787cce4e1c": { - "balance": "291000000000000000000" + "0xd32b45564614516c91b07fa9f72dcf787cce4e1c": { + "balance": "0xfc66fae3746ac0000" }, - "cf1bdb799b2ea63ce134668bdc198b54840f180b": { - "balance": "18200000000000000000" + "0xcf1bdb799b2ea63ce134668bdc198b54840f180b": { + "balance": "0xfc936392801c0000" }, - "ae062c448618643075de7a0030342dced63dbad7": { - "balance": "825982000000000000000" + "0xae062c448618643075de7a0030342dced63dbad7": { + "balance": "0x2cc6cd8cc282b30000" }, - "99dfd0504c06c743e46534fd7b55f1f9c7ec3329": { - "balance": "2000000000000000000000" + "0x99dfd0504c06c743e46534fd7b55f1f9c7ec3329": { + "balance": "0x6c6b935b8bbd400000" }, - "87fc4635263944ce14a46c75fa4a821f39ce7f72": { - "balance": "20000000000000000000" + "0x87fc4635263944ce14a46c75fa4a821f39ce7f72": { + "balance": "0x1158e460913d00000" }, - "27c2d7ca504daa3d9066dc09137dc42f3aaab452": { - "balance": "600000000000000000000" + "0x27c2d7ca504daa3d9066dc09137dc42f3aaab452": { + "balance": "0x2086ac351052600000" }, - "cc60f836acdef3548a1fefcca13ec6a937db44a0": { - "balance": "86500000000000000000" + "0xcc60f836acdef3548a1fefcca13ec6a937db44a0": { + "balance": "0x4b06dbbb40f4a0000" }, - "c910a970556c9716ea53af66ddef93143124913d": { - "balance": "1580000000000000000000" + "0xc910a970556c9716ea53af66ddef93143124913d": { + "balance": "0x55a6e79ccd1d300000" }, - "8173c835646a672e0152be10ffe84162dd256e4c": { - "balance": "492000000000000000000" + "0x8173c835646a672e0152be10ffe84162dd256e4c": { + "balance": "0x1aabdf2145b4300000" }, - "e989733ca1d58d9e7b5029ba5d444858bec03172": { - "balance": "581595000000000000000" + "0xe989733ca1d58d9e7b5029ba5d444858bec03172": { + "balance": "0x1f87408313df4f8000" }, - "86806474c358047d9406e6a07f40945bc8328e67": { - "balance": "6884000000000000000000" + "0x86806474c358047d9406e6a07f40945bc8328e67": { + "balance": "0x1752eb0f7013d100000" }, - "5395a4455d95d178b4532aa4725b193ffe512961": { - "balance": "1000000000000000000000" + "0x5395a4455d95d178b4532aa4725b193ffe512961": { + "balance": "0x3635c9adc5dea00000" }, - "56397638bb3cebf1f62062794b5eb942f916171d": { - "balance": "2000000000000000000000" + "0x56397638bb3cebf1f62062794b5eb942f916171d": { + "balance": "0x6c6b935b8bbd400000" }, - "6958f83bb2fdfb27ce0409cd03f9c5edbf4cbedd": { - "balance": "20000000000000000000000" + "0x6958f83bb2fdfb27ce0409cd03f9c5edbf4cbedd": { + "balance": "0x43c33c1937564800000" }, - "26ff0a51e7cece8400276978dbd6236ef162c0e6": { - "balance": "100020000000000000000000" + "0x26ff0a51e7cece8400276978dbd6236ef162c0e6": { + "balance": "0x152e185627540a500000" }, - "4ca783b556e5bf53aa13c8116613d65782c9b642": { - "balance": "25200000000000000000000" + "0x4ca783b556e5bf53aa13c8116613d65782c9b642": { + "balance": "0x5561840b4ad83c00000" }, - "15a0aec37ff9ff3d5409f2a4f0c1212aaccb0296": { - "balance": "1000000000000000000000" + "0x15a0aec37ff9ff3d5409f2a4f0c1212aaccb0296": { + "balance": "0x3635c9adc5dea00000" }, - "50378af7ef54043f892ab7ce97d647793511b108": { - "balance": "19700000000000000000" + "0x50378af7ef54043f892ab7ce97d647793511b108": { + "balance": "0x11164759ffb320000" }, - "e7c6b5fc05fc748e5b4381726449a1c0ad0fb0f1": { - "balance": "2000000000000000000000" + "0xe7c6b5fc05fc748e5b4381726449a1c0ad0fb0f1": { + "balance": "0x6c6b935b8bbd400000" }, - "5317ecb023052ca7f5652be2fa854cfe4563df4d": { - "balance": "499986000000000000000" + "0x5317ecb023052ca7f5652be2fa854cfe4563df4d": { + "balance": "0x1b1ab319f5ec750000" }, - "c94f7c35c027d47df8ef4f9df85a9248a17dd23b": { - "balance": "29944000000000000000" + "0xc94f7c35c027d47df8ef4f9df85a9248a17dd23b": { + "balance": "0x19f8e7559924c0000" }, - "6a63fc89abc7f36e282d80787b7b04afd6553e71": { - "balance": "160000000000000000000" + "0x6a63fc89abc7f36e282d80787b7b04afd6553e71": { + "balance": "0x8ac7230489e800000" }, - "5fd3d6777ec2620ae83a05528ed425072d3ca8fd": { - "balance": "2000000000000000000000" + "0x5fd3d6777ec2620ae83a05528ed425072d3ca8fd": { + "balance": "0x6c6b935b8bbd400000" }, - "29adcf83b6b20ac6a434abb1993cbd05c60ea2e4": { - "balance": "10000000000000000000000" + "0x29adcf83b6b20ac6a434abb1993cbd05c60ea2e4": { + "balance": "0x21e19e0c9bab2400000" }, - "8c6f9f4e5b7ae276bf58497bd7bf2a7d25245f64": { - "balance": "2730000000000000000000" + "0x8c6f9f4e5b7ae276bf58497bd7bf2a7d25245f64": { + "balance": "0x93fe5c57d710680000" }, - "d94a57882a52739bbe2a0647c80c24f58a2b4f1c": { - "balance": "1341230000000000000000" + "0xd94a57882a52739bbe2a0647c80c24f58a2b4f1c": { + "balance": "0x48b54e2adbe12b0000" }, - "7286e89cd9de8f7a8a00c86ffdb53992dd9251d1": { - "balance": "1940000000000000000000" + "0x7286e89cd9de8f7a8a00c86ffdb53992dd9251d1": { + "balance": "0x692ae8897081d00000" }, - "5773b6026721a1dd04b7828cd62b591bfb34534c": { - "balance": "27000000000000000000000" + "0x5773b6026721a1dd04b7828cd62b591bfb34534c": { + "balance": "0x5b7ac4553de7ae00000" }, - "11fefb5dc1a4598aa712640c517775dfa1d91f8c": { - "balance": "10000000000000000000000" + "0x11fefb5dc1a4598aa712640c517775dfa1d91f8c": { + "balance": "0x21e19e0c9bab2400000" }, - "c6e324beeb5b36765ecd464260f7f26006c5c62e": { - "balance": "2000000000000000000000" + "0xc6e324beeb5b36765ecd464260f7f26006c5c62e": { + "balance": "0x6c6b935b8bbd400000" }, - "118fbd753b9792395aef7a4d78d263cdcaabd4f7": { - "balance": "999800000000000000000" + "0x118fbd753b9792395aef7a4d78d263cdcaabd4f7": { + "balance": "0x36330322d5238c0000" }, - "f8298591523e50b103f0b701d623cbf0f74556f6": { - "balance": "200000000000000000000" + "0xf8298591523e50b103f0b701d623cbf0f74556f6": { + "balance": "0xad78ebc5ac6200000" }, - "ab0ced762e1661fae1a92afb1408889413794825": { - "balance": "1910000000000000000000" + "0xab0ced762e1661fae1a92afb1408889413794825": { + "balance": "0x678a932062e4180000" }, - "fa67b67b4f37a0150915110ede073b05b853bda2": { - "balance": "647490000000000000000" + "0xfa67b67b4f37a0150915110ede073b05b853bda2": { + "balance": "0x2319ba947371ad0000" }, - "ca122cf0f2948896b74843f49afed0ba1618eed7": { - "balance": "560000000000000000000" + "0xca122cf0f2948896b74843f49afed0ba1618eed7": { + "balance": "0x1e5b8fa8fe2ac00000" }, - "186b95f8e5effddcc94f1a315bf0295d3b1ea588": { - "balance": "1999944000000000000000" + "0x186b95f8e5effddcc94f1a315bf0295d3b1ea588": { + "balance": "0x6c6acc67d7b1d40000" }, - "2915624bcb679137b8dae9ab57d11b4905eaee4b": { - "balance": "20000000000000000000" + "0x2915624bcb679137b8dae9ab57d11b4905eaee4b": { + "balance": "0x1158e460913d00000" }, - "0c6845bf41d5ee273c3ee6b5b0d69f6fd5eabbf7": { - "balance": "3000026000000000000000" + "0x0c6845bf41d5ee273c3ee6b5b0d69f6fd5eabbf7": { + "balance": "0xa2a1b9682e58090000" }, - "cb7479109b43b26657f4465f4d18c6f974be5f42": { - "balance": "1820000000000000000000" + "0xcb7479109b43b26657f4465f4d18c6f974be5f42": { + "balance": "0x62a992e53a0af00000" }, - "8dd6a9bae57f518549ada677466fea8ab04fd9b4": { - "balance": "4000000000000000000000" + "0x8dd6a9bae57f518549ada677466fea8ab04fd9b4": { + "balance": "0xd8d726b7177a800000" }, - "34958a46d30e30b273ecc6e5d358a212e5307e8c": { - "balance": "2000000000000000000000" + "0x34958a46d30e30b273ecc6e5d358a212e5307e8c": { + "balance": "0x6c6b935b8bbd400000" }, - "2003717907a72560f4307f1beecc5436f43d21e7": { - "balance": "500000000000000000000" + "0x2003717907a72560f4307f1beecc5436f43d21e7": { + "balance": "0x1b1ae4d6e2ef500000" }, - "55ab99b0e0e55d7bb874b7cfe834de631c97ec23": { - "balance": "1031400000000000000000" + "0x55ab99b0e0e55d7bb874b7cfe834de631c97ec23": { + "balance": "0x37e98ce36899e40000" }, - "79b48d2d6137c3854d611c01ea42427a0f597bb7": { - "balance": "191000000000000000000" + "0x79b48d2d6137c3854d611c01ea42427a0f597bb7": { + "balance": "0xa5aa85009e39c0000" }, - "d609ec0be70d0ad26f6e67c9d4762b52ee51122c": { - "balance": "1000000000000000000000" + "0xd609ec0be70d0ad26f6e67c9d4762b52ee51122c": { + "balance": "0x3635c9adc5dea00000" }, - "e8c3f045bb7d38c9d2f395b0ba8492b253230901": { - "balance": "9000000000000000000000" + "0xe8c3f045bb7d38c9d2f395b0ba8492b253230901": { + "balance": "0x1e7e4171bf4d3a00000" }, - "aaca60d9d700e78596bbbbb1f1e2f70f4627f9d8": { - "balance": "999996000000000000000" + "0xaaca60d9d700e78596bbbbb1f1e2f70f4627f9d8": { + "balance": "0x3635bb77cb4b860000" }, - "89d75b8e0831e46f80bc174188184e006fde0eae": { - "balance": "1000000000000000000000" + "0x89d75b8e0831e46f80bc174188184e006fde0eae": { + "balance": "0x3635c9adc5dea00000" }, - "b3667894b7863c068ad344873fcff4b5671e0689": { - "balance": "20000000000000000000000" + "0xb3667894b7863c068ad344873fcff4b5671e0689": { + "balance": "0x43c33c1937564800000" }, - "bc1609d685b76b48ec909aa099219022f89b2ccd": { - "balance": "1182000000000000000000" + "0xbc1609d685b76b48ec909aa099219022f89b2ccd": { + "balance": "0x40138b917edfb80000" }, - "88ee7f0efc8f778c6b687ec32be9e7d6f020b674": { - "balance": "2000000000000000000000" + "0x88ee7f0efc8f778c6b687ec32be9e7d6f020b674": { + "balance": "0x6c6b935b8bbd400000" }, - "470ac5d1f3efe28f3802af925b571e63868b397d": { - "balance": "2000000000000000000000" + "0x470ac5d1f3efe28f3802af925b571e63868b397d": { + "balance": "0x6c6b935b8bbd400000" }, - "abf8ffe0708a99b528cc1ed4e9ce4b0d0630be8c": { - "balance": "2263600000000000000000" + "0xabf8ffe0708a99b528cc1ed4e9ce4b0d0630be8c": { + "balance": "0x7ab5c2aeeee6380000" }, - "8cee38d6595788a56e3fb94634b3ffe1fbdb26d6": { - "balance": "20000000000000000000000" + "0x8cee38d6595788a56e3fb94634b3ffe1fbdb26d6": { + "balance": "0x43c33c1937564800000" }, - "19798cbda715ea9a9b9d6aab942c55121e98bf91": { - "balance": "1200000000000000000000" + "0x19798cbda715ea9a9b9d6aab942c55121e98bf91": { + "balance": "0x410d586a20a4c00000" }, - "e25a167b031e84616d0f013f31bda95dcc6350b9": { - "balance": "10560000000000000000000" + "0xe25a167b031e84616d0f013f31bda95dcc6350b9": { + "balance": "0x23c757072b8dd000000" }, - "6196c3d3c0908d254366b7bca55745222d9d4db1": { - "balance": "4000000000000000000000" + "0x6196c3d3c0908d254366b7bca55745222d9d4db1": { + "balance": "0xd8d726b7177a800000" }, - "e8e9850586e94f5299ab494bb821a5f40c00bd04": { - "balance": "3820000000000000000000" + "0xe8e9850586e94f5299ab494bb821a5f40c00bd04": { + "balance": "0xcf152640c5c8300000" }, - "1059cbc63e36c43e88f30008aca7ce058eeaa096": { - "balance": "100000000000000000000000" + "0x1059cbc63e36c43e88f30008aca7ce058eeaa096": { + "balance": "0x152d02c7e14af6800000" }, - "c4f2913b265c430fa1ab8adf26c333fc1d9b66f2": { - "balance": "20000000000000000000" + "0xc4f2913b265c430fa1ab8adf26c333fc1d9b66f2": { + "balance": "0x1158e460913d00000" }, - "26e9e2ad729702626417ef25de0dc800f7a779b3": { - "balance": "1000000000000000000000" + "0x26e9e2ad729702626417ef25de0dc800f7a779b3": { + "balance": "0x3635c9adc5dea00000" }, - "0dfbd4817050d91d9d625c02053cf61a3ee28572": { - "balance": "340000000000000000000" + "0x0dfbd4817050d91d9d625c02053cf61a3ee28572": { + "balance": "0x126e72a69a50d00000" }, - "709fe9d2c1f1ce42207c9585044a60899f35942f": { - "balance": "2000000000000000000000" + "0x709fe9d2c1f1ce42207c9585044a60899f35942f": { + "balance": "0x6c6b935b8bbd400000" }, - "7ad82caea1a8b4ed05319b9c9870173c814e06ee": { - "balance": "616000000000000000000" + "0x7ad82caea1a8b4ed05319b9c9870173c814e06ee": { + "balance": "0x2164b7a04ac8a00000" }, - "2a595f16eee4cb0c17d9a2d939b3c10f6c677243": { - "balance": "1100000000000000000000" + "0x2a595f16eee4cb0c17d9a2d939b3c10f6c677243": { + "balance": "0x3ba1910bf341b00000" }, - "a8f89dd5cc6e64d7b1eeace00702022cd7d2f03d": { - "balance": "700000000000000000000" + "0xa8f89dd5cc6e64d7b1eeace00702022cd7d2f03d": { + "balance": "0x25f273933db5700000" }, - "c0a6cbad77692a3d88d141ef769a99bb9e3c9951": { - "balance": "100000000000000000000" + "0xc0a6cbad77692a3d88d141ef769a99bb9e3c9951": { + "balance": "0x56bc75e2d63100000" }, - "868c23be873466d4c74c220a19b245d1787e807f": { - "balance": "1366481000000000000000" + "0x868c23be873466d4c74c220a19b245d1787e807f": { + "balance": "0x4a13bbbd92c88e8000" }, - "2905b192e83ce659aa355b9d0c204e3e95f9bb9a": { - "balance": "2160817000000000000000" + "0x2905b192e83ce659aa355b9d0c204e3e95f9bb9a": { + "balance": "0x75235c1d00393e8000" }, - "50b9fef0a1329b02d16506255f5a2db71ec92d1f": { - "balance": "1325464000000000000000" + "0x50b9fef0a1329b02d16506255f5a2db71ec92d1f": { + "balance": "0x47da821564085c0000" }, - "fc10b7a67b3268d5331bfb6a14def5ea4a162ca3": { - "balance": "200000000000000000000" + "0xfc10b7a67b3268d5331bfb6a14def5ea4a162ca3": { + "balance": "0xad78ebc5ac6200000" }, - "85eb256b51c819d60ea61a82d12c9358d59c1cae": { - "balance": "460000000000000000000" + "0x85eb256b51c819d60ea61a82d12c9358d59c1cae": { + "balance": "0x18efc84ad0c7b00000" }, - "75de7e9352e90b13a59a5878ffecc7831cac4d82": { - "balance": "2740000000000000000000" + "0x75de7e9352e90b13a59a5878ffecc7831cac4d82": { + "balance": "0x9489237adb9a500000" }, - "d32b2c79c36478c5431901f6d700b04dbe9b8810": { - "balance": "396000000000000000000" + "0xd32b2c79c36478c5431901f6d700b04dbe9b8810": { + "balance": "0x15779a9de6eeb00000" }, - "2d0326b23f0409c0c0e9236863a133075a94ba18": { - "balance": "210380000000000000000" + "0x2d0326b23f0409c0c0e9236863a133075a94ba18": { + "balance": "0xb679be75be6ae0000" }, - "d2e21ed56868fab28e0947927adaf29f23ebad6c": { - "balance": "1994000000000000000000" + "0xd2e21ed56868fab28e0947927adaf29f23ebad6c": { + "balance": "0x6c184f1355d0e80000" }, - "2ad6c9d10c261819a1a0ca2c48d8c7b2a71728df": { - "balance": "1000000000000000000000" + "0x2ad6c9d10c261819a1a0ca2c48d8c7b2a71728df": { + "balance": "0x3635c9adc5dea00000" }, - "7d445267c59ab8d2a2d9e709990e09682580c49f": { - "balance": "1000000000000000000000" + "0x7d445267c59ab8d2a2d9e709990e09682580c49f": { + "balance": "0x3635c9adc5dea00000" }, - "b6047cdf932db3e4045f4976122341537ed5961e": { - "balance": "20000000000000000000" + "0xb6047cdf932db3e4045f4976122341537ed5961e": { + "balance": "0x1158e460913d00000" }, - "2b3cf97311ff30f460945a9d8099f4a88e26d456": { - "balance": "2000000000000000000000" + "0x2b3cf97311ff30f460945a9d8099f4a88e26d456": { + "balance": "0x6c6b935b8bbd400000" }, - "7f4f593b618c330ba2c3d5f41eceeb92e27e426c": { - "balance": "2775000000000000000000" + "0x7f4f593b618c330ba2c3d5f41eceeb92e27e426c": { + "balance": "0x966edc756b7cfc0000" }, - "72a2fc8675feb972fa41b50dffdbbae7fa2adfb7": { - "balance": "2853840000000000000000" + "0x72a2fc8675feb972fa41b50dffdbbae7fa2adfb7": { + "balance": "0x9ab4fc67b528c80000" }, - "076561a856455d7ef86e63f87c73dbb628a55f45": { - "balance": "900000000000000000000" + "0x076561a856455d7ef86e63f87c73dbb628a55f45": { + "balance": "0x30ca024f987b900000" }, - "03d1724fd00e54aabcd2de2a91e8462b1049dd3a": { - "balance": "2640000000000000000000" + "0x03d1724fd00e54aabcd2de2a91e8462b1049dd3a": { + "balance": "0x8f1d5c1cae37400000" }, - "7ea0f96ee0a573a330b56897761f3d4c0130a8e3": { - "balance": "1337000000000000000000" + "0x7ea0f96ee0a573a330b56897761f3d4c0130a8e3": { + "balance": "0x487a9a304539440000" }, - "fe65c4188d7922576909642044fdc52395560165": { - "balance": "4000000000000000000000" + "0xfe65c4188d7922576909642044fdc52395560165": { + "balance": "0xd8d726b7177a800000" }, - "57883010b4ac857fedac03eab2551723a8447ffb": { - "balance": "1000000000000000000000" + "0x57883010b4ac857fedac03eab2551723a8447ffb": { + "balance": "0x3635c9adc5dea00000" }, - "0729a8a4a5ba23f579d0025b1ad0f8a0d35cdfd2": { - "balance": "9700000000000000000000" + "0x0729a8a4a5ba23f579d0025b1ad0f8a0d35cdfd2": { + "balance": "0x20dd68aaf3289100000" }, - "e75c1fb177089f3e58b1067935a6596ef1737fb5": { - "balance": "99910000000000000000" + "0xe75c1fb177089f3e58b1067935a6596ef1737fb5": { + "balance": "0x56a879fa775470000" }, - "e0e978753d982f7f9d1d238a18bd4889aefe451b": { - "balance": "9700000000000000000000" + "0xe0e978753d982f7f9d1d238a18bd4889aefe451b": { + "balance": "0x20dd68aaf3289100000" }, - "5620f46d1451c2353d6243a5d4b427130be2d407": { - "balance": "60000000000000000000" + "0x5620f46d1451c2353d6243a5d4b427130be2d407": { + "balance": "0x340aad21b3b700000" }, - "f3d688f06bbdbf50f9932c4145cbe48ecdf68904": { - "balance": "20000000000000000000" + "0xf3d688f06bbdbf50f9932c4145cbe48ecdf68904": { + "balance": "0x1158e460913d00000" }, - "3aa948ea02397755effb2f9dc9392df1058f7e33": { - "balance": "850000000000000000000" + "0x3aa948ea02397755effb2f9dc9392df1058f7e33": { + "balance": "0x2e141ea081ca080000" }, - "20d1417f99c569e3beb095856530fe12d0fceaaa": { - "balance": "1182175000000000000000" + "0x20d1417f99c569e3beb095856530fe12d0fceaaa": { + "balance": "0x4015f94b1183698000" }, - "ac77bdf00fd5985b5db12bbef800380abc2a0677": { - "balance": "1000000000000000000000" + "0xac77bdf00fd5985b5db12bbef800380abc2a0677": { + "balance": "0x3635c9adc5dea00000" }, - "267a7e6e82e1b91d51deddb644f0e96dbb1f7f7e": { - "balance": "20000000000000000000" + "0x267a7e6e82e1b91d51deddb644f0e96dbb1f7f7e": { + "balance": "0x1158e460913d00000" }, - "4bbcbf38b3c90163a84b1cd2a93b58b2a3348d87": { - "balance": "8000000000000000000000" + "0x4bbcbf38b3c90163a84b1cd2a93b58b2a3348d87": { + "balance": "0x1b1ae4d6e2ef5000000" }, - "4c6b93a3bec16349540cbfcae96c9621d6645010": { - "balance": "2000000000000000000000" + "0x4c6b93a3bec16349540cbfcae96c9621d6645010": { + "balance": "0x6c6b935b8bbd400000" }, - "c9308879056dfe138ef8208f79a915c6bc7e70a8": { - "balance": "10000000000000000000000" + "0xc9308879056dfe138ef8208f79a915c6bc7e70a8": { + "balance": "0x21e19e0c9bab2400000" }, - "c48b693cacefdbd6cb5d7895a42e3196327e261c": { - "balance": "1000000000000000000000" + "0xc48b693cacefdbd6cb5d7895a42e3196327e261c": { + "balance": "0x3635c9adc5dea00000" }, - "a0951970dfd0832fb83bda12c23545e79041756c": { - "balance": "600000000000000000000" + "0xa0951970dfd0832fb83bda12c23545e79041756c": { + "balance": "0x2086ac351052600000" }, - "7cdf74213945953db39ad0e8a9781add792e4d1d": { - "balance": "2000000000000000000000" + "0x7cdf74213945953db39ad0e8a9781add792e4d1d": { + "balance": "0x6c6b935b8bbd400000" }, - "75621865b6591365606ed378308c2d1def4f222c": { - "balance": "3100000000000000000000" + "0x75621865b6591365606ed378308c2d1def4f222c": { + "balance": "0xa80d24677efef00000" }, - "67d6a8aa1bf8d6eaf7384e993dfdf10f0af68a61": { - "balance": "198067000000000000000" + "0x67d6a8aa1bf8d6eaf7384e993dfdf10f0af68a61": { + "balance": "0xabcbb5718974b8000" }, - "8f0af37566d152802f1ae8f928b25af9b139b448": { - "balance": "200000000000000000000" + "0x8f0af37566d152802f1ae8f928b25af9b139b448": { + "balance": "0xad78ebc5ac6200000" }, - "2c6afcd4037c1ed14fa74ff6758e0945a185a8e8": { - "balance": "17600000000000000000" + "0x2c6afcd4037c1ed14fa74ff6758e0945a185a8e8": { + "balance": "0xf43fc2c04ee00000" }, - "c1b2aa8cb2bf62cdc13a47ecc4657facaa995f98": { - "balance": "1000129000000000000000" + "0xc1b2aa8cb2bf62cdc13a47ecc4657facaa995f98": { + "balance": "0x363793fa96e6a68000" }, - "9e8144e08e89647811fe6b72d445d6a5f80ad244": { - "balance": "10000000000000000000000" + "0x9e8144e08e89647811fe6b72d445d6a5f80ad244": { + "balance": "0x21e19e0c9bab2400000" }, - "e04ff5e5a7e2af995d8857ce0290b53a2b0eda5d": { - "balance": "1000000000000000000000" + "0xe04ff5e5a7e2af995d8857ce0290b53a2b0eda5d": { + "balance": "0x3635c9adc5dea00000" }, - "03dedfcd0b3c2e17c705da248790ef98a6bd5751": { - "balance": "1337000000000000000000" + "0x03dedfcd0b3c2e17c705da248790ef98a6bd5751": { + "balance": "0x487a9a304539440000" }, - "698a8a6f01f9ab682f637c7969be885f6c5302bf": { - "balance": "19400000000000000000" + "0x698a8a6f01f9ab682f637c7969be885f6c5302bf": { + "balance": "0x10d3aa536e2940000" }, - "d82c6fedbdac98af2eed10b00f32b00056ca5a6d": { - "balance": "200000000000000000000" + "0xd82c6fedbdac98af2eed10b00f32b00056ca5a6d": { + "balance": "0xad78ebc5ac6200000" }, - "2697b339813b0c2d964b2471eb1c606f4ecb9616": { - "balance": "1154000000000000000000" + "0x2697b339813b0c2d964b2471eb1c606f4ecb9616": { + "balance": "0x3e8ef795d890c80000" }, - "987c9bcd6e3f3990a52be3eda4710c27518f4f72": { - "balance": "400000000000000000000" + "0x987c9bcd6e3f3990a52be3eda4710c27518f4f72": { + "balance": "0x15af1d78b58c400000" }, - "c5d48ca2db2f85d8c555cb0e9cfe826936783f9e": { - "balance": "200000000000000000000" + "0xc5d48ca2db2f85d8c555cb0e9cfe826936783f9e": { + "balance": "0xad78ebc5ac6200000" }, - "da214c023e2326ff696c00393168ce46ffac39ec": { - "balance": "1000000000000000000000" + "0xda214c023e2326ff696c00393168ce46ffac39ec": { + "balance": "0x3635c9adc5dea00000" }, - "86570ab259c9b1c32c9729202f77f590c07dd612": { - "balance": "200000000000000000000" + "0x86570ab259c9b1c32c9729202f77f590c07dd612": { + "balance": "0xad78ebc5ac6200000" }, - "a646a95c6d6f59f104c6541d7760757ab392b08c": { - "balance": "4200000000000000000000" + "0xa646a95c6d6f59f104c6541d7760757ab392b08c": { + "balance": "0xe3aeb5737240a00000" }, - "1933e334c40f3acbad0c0b851158206924beca3a": { - "balance": "7551541000000000000000" + "0x1933e334c40f3acbad0c0b851158206924beca3a": { + "balance": "0x1995eaf01b896188000" }, - "3552a496eba67f12be6eedab360cd13661dc7480": { - "balance": "300000000000000000000" + "0x3552a496eba67f12be6eedab360cd13661dc7480": { + "balance": "0x1043561a8829300000" }, - "2a9c96c19151ffcbe29a4616d0c52b3933b4659f": { - "balance": "69263000000000000000" + "0x2a9c96c19151ffcbe29a4616d0c52b3933b4659f": { + "balance": "0x3c1379b8765e18000" }, - "3b7b8e27de33d3ce7961b98d19a52fe79f6c25be": { - "balance": "100000000000000000000000" + "0x3b7b8e27de33d3ce7961b98d19a52fe79f6c25be": { + "balance": "0x152d02c7e14af6800000" }, - "a1911405cf6e999ed011f0ddcd2a4ff7c28f2526": { - "balance": "40000000000000000000" + "0xa1911405cf6e999ed011f0ddcd2a4ff7c28f2526": { + "balance": "0x22b1c8c1227a00000" }, - "0cae108e6db99b9e637876b064c6303eda8a65c8": { - "balance": "3000000000000000000000" + "0x0cae108e6db99b9e637876b064c6303eda8a65c8": { + "balance": "0xa2a15d09519be00000" }, - "3883becc08b9be68ad3b0836aac3b620dc0017ef": { - "balance": "2000000000000000000000" + "0x3883becc08b9be68ad3b0836aac3b620dc0017ef": { + "balance": "0x6c6b935b8bbd400000" }, - "d0abcc70c0420e0e172f97d43b87d5e80c336ea9": { - "balance": "10000000000000000000000" + "0xd0abcc70c0420e0e172f97d43b87d5e80c336ea9": { + "balance": "0x21e19e0c9bab2400000" }, - "cbf16a0fe2745258cd52db2bf21954c975fc6a15": { - "balance": "300000000000000000000" + "0xcbf16a0fe2745258cd52db2bf21954c975fc6a15": { + "balance": "0x1043561a8829300000" }, - "1b23cb8663554871fbbe0d9e60397efb6faedc3e": { - "balance": "200000000000000000000" + "0x1b23cb8663554871fbbe0d9e60397efb6faedc3e": { + "balance": "0xad78ebc5ac6200000" }, - "fbede32c349f3300ef4cd33b4de7dc18e443d326": { - "balance": "3160000000000000000000" + "0xfbede32c349f3300ef4cd33b4de7dc18e443d326": { + "balance": "0xab4dcf399a3a600000" }, - "5e806e845730f8073e6cc9018ee90f5c05f909a3": { - "balance": "9480000000000000000000" + "0x5e806e845730f8073e6cc9018ee90f5c05f909a3": { + "balance": "0x201e96dacceaf200000" }, - "425c338a1325e3a1578efa299e57d986eb474f81": { - "balance": "2000000000000000000000" + "0x425c338a1325e3a1578efa299e57d986eb474f81": { + "balance": "0x6c6b935b8bbd400000" }, - "8bf297f8f453523ed66a1acb7676856337b93bf0": { - "balance": "4000000000000000000000" + "0x8bf297f8f453523ed66a1acb7676856337b93bf0": { + "balance": "0xd8d726b7177a800000" }, - "38e8a31af2d265e31a9fff2d8f46286d1245a467": { - "balance": "20000000000000000000" + "0x38e8a31af2d265e31a9fff2d8f46286d1245a467": { + "balance": "0x1158e460913d00000" }, - "7edafba8984baf631a820b6b92bbc2c53655f6bd": { - "balance": "2000000000000000000000" + "0x7edafba8984baf631a820b6b92bbc2c53655f6bd": { + "balance": "0x6c6b935b8bbd400000" }, - "aa0200f1d17e9c54da0647bb96395d57a78538d8": { - "balance": "1056000000000000000000" + "0xaa0200f1d17e9c54da0647bb96395d57a78538d8": { + "balance": "0x393ef1a5127c800000" }, - "433eb94a339086ed12d9bde9cd1d458603c97dd6": { - "balance": "100000000000000000000000" + "0x433eb94a339086ed12d9bde9cd1d458603c97dd6": { + "balance": "0x152d02c7e14af6800000" }, - "cd7e47909464d871b9a6dc76a8e9195db3485e7a": { - "balance": "9850000000000000000000" + "0xcd7e47909464d871b9a6dc76a8e9195db3485e7a": { + "balance": "0x215f835bc769da80000" }, - "5975d78d974ee5bb9e4d4ca2ae77c84b9c3b4b82": { - "balance": "1370000000000000000000" + "0x5975d78d974ee5bb9e4d4ca2ae77c84b9c3b4b82": { + "balance": "0x4a4491bd6dcd280000" }, - "cea2896623f4910287a2bdc5be83aea3f2e6de08": { - "balance": "9359000000000000000000" + "0xcea2896623f4910287a2bdc5be83aea3f2e6de08": { + "balance": "0x1fb5a3751e490dc0000" }, - "cb4ad0c723da46ab56d526da0c1d25c73daff10a": { - "balance": "510000000000000000000" + "0xcb4ad0c723da46ab56d526da0c1d25c73daff10a": { + "balance": "0x1ba5abf9e779380000" }, - "e2cf360aa2329eb79d2bf7ca04a27a17c532e4d8": { - "balance": "102000000000000000000" + "0xe2cf360aa2329eb79d2bf7ca04a27a17c532e4d8": { + "balance": "0x58788cb94b1d80000" }, - "ea60549ec7553f511d2149f2d4666cbd9243d93c": { - "balance": "2000000000000000000000" + "0xea60549ec7553f511d2149f2d4666cbd9243d93c": { + "balance": "0x6c6b935b8bbd400000" }, - "cbb7be17953f2ccc93e1bc99805bf45511434e4c": { - "balance": "50440000000000000000000" + "0xcbb7be17953f2ccc93e1bc99805bf45511434e4c": { + "balance": "0xaae5b9df56d2f200000" }, - "3549bd40bbbc2b30095cac8be2c07a0588e0aed6": { - "balance": "20000000000000000000" + "0x3549bd40bbbc2b30095cac8be2c07a0588e0aed6": { + "balance": "0x1158e460913d00000" }, - "6510df42a599bcb0a519cca961b488759a6f6777": { - "balance": "2000000000000000000000" + "0x6510df42a599bcb0a519cca961b488759a6f6777": { + "balance": "0x6c6b935b8bbd400000" }, - "ed12a1ba1fb8adfcb20dfa19582e525aa3b74524": { - "balance": "6685000000000000000000" + "0xed12a1ba1fb8adfcb20dfa19582e525aa3b74524": { + "balance": "0x16a6502f15a1e540000" }, - "135eb8c0e9e101deedec11f2ecdb66ae1aae8867": { - "balance": "20000000000000000000000" + "0x135eb8c0e9e101deedec11f2ecdb66ae1aae8867": { + "balance": "0x43c33c1937564800000" }, - "ee906d7d5f1748258174be4cbc38930302ab7b42": { - "balance": "200000000000000000000" + "0xee906d7d5f1748258174be4cbc38930302ab7b42": { + "balance": "0xad78ebc5ac6200000" }, - "253f1e742a2cec86b0d7b306e5eacb6ccb2f8554": { - "balance": "20040000000000000000000" + "0x253f1e742a2cec86b0d7b306e5eacb6ccb2f8554": { + "balance": "0x43e5ede1f878c200000" }, - "ecd1a62802351a41568d23033004acc6c005a5d3": { - "balance": "50000000000000000000" + "0xecd1a62802351a41568d23033004acc6c005a5d3": { + "balance": "0x2b5e3af16b1880000" }, - "558c54649a8a6e94722bd6d21d14714f71780534": { - "balance": "2000000000000000000000" + "0x558c54649a8a6e94722bd6d21d14714f71780534": { + "balance": "0x6c6b935b8bbd400000" }, - "ca657ec06fe5bc09cf23e52af7f80cc3689e6ede": { - "balance": "900000000000000000000" + "0xca657ec06fe5bc09cf23e52af7f80cc3689e6ede": { + "balance": "0x30ca024f987b900000" }, - "74bf7a5ab59293149b5c60cf364263e5ebf1aa0d": { - "balance": "115800000000000000000" + "0x74bf7a5ab59293149b5c60cf364263e5ebf1aa0d": { + "balance": "0x6470c3e771e3c0000" }, - "7a6d781c77c4ba1fcadf687341c1e31799e93d27": { - "balance": "274000000000000000000" + "0x7a6d781c77c4ba1fcadf687341c1e31799e93d27": { + "balance": "0xeda838c4929080000" }, - "77028e409cc43a3bd33d21a9fc53ec606e94910e": { - "balance": "3880000000000000000000" + "0x77028e409cc43a3bd33d21a9fc53ec606e94910e": { + "balance": "0xd255d112e103a00000" }, - "4781a10a4df5eebc82f4cfe107ba1d8a7640bd66": { - "balance": "1790000000000000000000" + "0x4781a10a4df5eebc82f4cfe107ba1d8a7640bd66": { + "balance": "0x61093d7c2c6d380000" }, - "78e08bc533413c26e291b3143ffa7cc9afb97b78": { - "balance": "200000000000000000000" + "0x78e08bc533413c26e291b3143ffa7cc9afb97b78": { + "balance": "0xad78ebc5ac6200000" }, - "03ef6ad20ff7bd4f002bac58d47544cf879ae728": { - "balance": "6895000000000000000000" + "0x03ef6ad20ff7bd4f002bac58d47544cf879ae728": { + "balance": "0x175c758d0b96e5c0000" }, - "0e3696cf1f4217b163d1bc12a5ea730f1c32a14a": { - "balance": "4000000000000000000000" + "0x0e3696cf1f4217b163d1bc12a5ea730f1c32a14a": { + "balance": "0xd8d726b7177a800000" }, - "825135b1a7fc1605614c8aa4d0ac6dbad08f480e": { - "balance": "1430000000000000000000" + "0x825135b1a7fc1605614c8aa4d0ac6dbad08f480e": { + "balance": "0x4d853c8f8908980000" }, - "286b186d61ea1fd78d9930fe12b06537b05c3d51": { - "balance": "1000000000000000000000" + "0x286b186d61ea1fd78d9930fe12b06537b05c3d51": { + "balance": "0x3635c9adc5dea00000" }, - "8d6657f59711b1f803c6ebef682f915b62f92dc9": { - "balance": "2000000000000000000000" + "0x8d6657f59711b1f803c6ebef682f915b62f92dc9": { + "balance": "0x6c6b935b8bbd400000" }, - "da8bbee182e455d2098acb338a6d45b4b17ed8b6": { - "balance": "2000000000000000000000" + "0xda8bbee182e455d2098acb338a6d45b4b17ed8b6": { + "balance": "0x6c6b935b8bbd400000" }, - "3f2da093bb16eb064f8bfa9e30b929d15f8e1c4c": { - "balance": "2000000000000000000000" + "0x3f2da093bb16eb064f8bfa9e30b929d15f8e1c4c": { + "balance": "0x6c6b935b8bbd400000" }, - "f5d9cf00d658dd45517a48a9d3f5f633541a533d": { - "balance": "116400000000000000000" + "0xf5d9cf00d658dd45517a48a9d3f5f633541a533d": { + "balance": "0x64f5fdf494f780000" }, - "c5f64babb7033142f20e46d7aa6201ed86f67103": { - "balance": "2000000000000000000000" + "0xc5f64babb7033142f20e46d7aa6201ed86f67103": { + "balance": "0x6c6b935b8bbd400000" }, - "a2e2b5941e0c01944bfe1d5fb4e8a34b922ccfb1": { - "balance": "200000000000000000000" + "0xa2e2b5941e0c01944bfe1d5fb4e8a34b922ccfb1": { + "balance": "0xad78ebc5ac6200000" }, - "6114b0eae5576903f80bfb98842d24ed92237f1e": { - "balance": "100000000000000000000" + "0x6114b0eae5576903f80bfb98842d24ed92237f1e": { + "balance": "0x56bc75e2d63100000" }, - "38df0c4abe7ded5fe068eadf154ac691774324a4": { - "balance": "1790000000000000000000" + "0x38df0c4abe7ded5fe068eadf154ac691774324a4": { + "balance": "0x61093d7c2c6d380000" }, - "1c2010bd662df417f2a271879afb13ef4c88a3ae": { - "balance": "4000000000000000000000" + "0x1c2010bd662df417f2a271879afb13ef4c88a3ae": { + "balance": "0xd8d726b7177a800000" }, - "918967918cd897dd0005e36dc6c883ef438fc8c7": { - "balance": "140000000000000000000" + "0x918967918cd897dd0005e36dc6c883ef438fc8c7": { + "balance": "0x796e3ea3f8ab00000" }, - "a522de7eb6ae1250522a513133a93bd42849475c": { - "balance": "20000000000000000000000" + "0xa522de7eb6ae1250522a513133a93bd42849475c": { + "balance": "0x43c33c1937564800000" }, - "7de442c82386154d2e993cbd1280bb7ca6b12ada": { - "balance": "4002000000000000000000" + "0x7de442c82386154d2e993cbd1280bb7ca6b12ada": { + "balance": "0xd8f2e8247ec9480000" }, - "66424bd8785b8cb461102a900283c35dfa07ef6a": { - "balance": "40221000000000000000" + "0x66424bd8785b8cb461102a900283c35dfa07ef6a": { + "balance": "0x22e2db26666fc8000" }, - "7bbbec5e70bdead8bb32b42805988e9648c0aa97": { - "balance": "1000076000000000000000" + "0x7bbbec5e70bdead8bb32b42805988e9648c0aa97": { + "balance": "0x3636d7af5ec98e0000" }, - "fec06fe27b44c784b2396ec92f7b923ad17e9077": { - "balance": "2000000000000000000000" + "0xfec06fe27b44c784b2396ec92f7b923ad17e9077": { + "balance": "0x6c6b935b8bbd400000" }, - "95d550427b5a514c751d73a0f6d29fb65d22ed10": { - "balance": "300000000000000000000" + "0x95d550427b5a514c751d73a0f6d29fb65d22ed10": { + "balance": "0x1043561a8829300000" }, - "8dde60eb08a099d7daa356daaab2470d7b025a6b": { - "balance": "197000000000000000000" + "0x8dde60eb08a099d7daa356daaab2470d7b025a6b": { + "balance": "0xaadec983fcff40000" }, - "81bccbff8f44347eb7fca95b27ce7c952492aaad": { - "balance": "152240000000000000000" + "0x81bccbff8f44347eb7fca95b27ce7c952492aaad": { + "balance": "0x840c12165dd780000" }, - "3995e096b08a5a726800fcd17d9c64c64e088d2b": { - "balance": "200000000000000000000" + "0x3995e096b08a5a726800fcd17d9c64c64e088d2b": { + "balance": "0xad78ebc5ac6200000" }, - "4ee13c0d41200b46d19dee5c4bcec71d82bb8e38": { - "balance": "7893915000000000000000" + "0x4ee13c0d41200b46d19dee5c4bcec71d82bb8e38": { + "balance": "0x1abee13ccbeefaf8000" }, - "c41461a3cfbd32c9865555a4813137c076312360": { - "balance": "999999000000000000000" + "0xc41461a3cfbd32c9865555a4813137c076312360": { + "balance": "0x3635c6204739d98000" }, - "3300fb149aded65bcba6c04e9cd6b7a03b893bb1": { - "balance": "18200000000000000000" + "0x3300fb149aded65bcba6c04e9cd6b7a03b893bb1": { + "balance": "0xfc936392801c0000" }, - "29f9286c0e738d1721a691c6b95ab3d9a797ede8": { - "balance": "200000000000000000000000" + "0x29f9286c0e738d1721a691c6b95ab3d9a797ede8": { + "balance": "0x2a5a058fc295ed000000" }, - "34c8e5f1330fcb4b14ca75cb2580a4b93d204e36": { - "balance": "2000000000000000000000" + "0x34c8e5f1330fcb4b14ca75cb2580a4b93d204e36": { + "balance": "0x6c6b935b8bbd400000" }, - "ec5df227bfa85d7ad76b426e1cee963bc7f519dd": { - "balance": "1000000000000000000000" + "0xec5df227bfa85d7ad76b426e1cee963bc7f519dd": { + "balance": "0x3635c9adc5dea00000" }, - "797510e386f56393ced8f477378a444c484f7dad": { - "balance": "1000000000000000000000" + "0x797510e386f56393ced8f477378a444c484f7dad": { + "balance": "0x3635c9adc5dea00000" }, - "0191eb547e7bf6976b9b1b577546761de65622e2": { - "balance": "1999980000000000000000" + "0x0191eb547e7bf6976b9b1b577546761de65622e2": { + "balance": "0x6c6b4c4da6ddbe0000" }, - "615a6f36777f40d6617eb5819896186983fd3731": { - "balance": "5910000000000000000000" + "0x615a6f36777f40d6617eb5819896186983fd3731": { + "balance": "0x14061b9d77a5e980000" }, - "17580b766f7453525ca4c6a88b01b50570ea088c": { - "balance": "100000000000000000000" + "0x17580b766f7453525ca4c6a88b01b50570ea088c": { + "balance": "0x56bc75e2d63100000" }, - "945d96ea573e8df7262bbfa572229b4b16016b0f": { - "balance": "209300000000000000000" + "0x945d96ea573e8df7262bbfa572229b4b16016b0f": { + "balance": "0xb589ef914c1420000" }, - "2de0964400c282bdd78a919c6bf77c6b5f796179": { - "balance": "200000000000000000000" + "0x2de0964400c282bdd78a919c6bf77c6b5f796179": { + "balance": "0xad78ebc5ac6200000" }, - "304ec69a74545721d7316aef4dcfb41ac59ee2f0": { - "balance": "200000000000000000000" + "0x304ec69a74545721d7316aef4dcfb41ac59ee2f0": { + "balance": "0xad78ebc5ac6200000" }, - "be2b326e78ed10e550fee8efa8f8070396522f5a": { - "balance": "39400000000000000000000" + "0xbe2b326e78ed10e550fee8efa8f8070396522f5a": { + "balance": "0x857e0d6f1da76a00000" }, - "1a0841b92a7f7075569dc4627e6b76cab05ade91": { - "balance": "1520000000000000000000" + "0x1a0841b92a7f7075569dc4627e6b76cab05ade91": { + "balance": "0x52663ccab1e1c00000" }, - "5fa61f152de6123516c751242979285f796ac791": { - "balance": "204000000000000000000" + "0x5fa61f152de6123516c751242979285f796ac791": { + "balance": "0xb0f11972963b00000" }, - "68c8791dc342c373769ea61fb7b510f251d32088": { - "balance": "1000000000000000000000" + "0x68c8791dc342c373769ea61fb7b510f251d32088": { + "balance": "0x3635c9adc5dea00000" }, - "4167cd48e733418e8f99ffd134121c4a4ab278c4": { - "balance": "3640000000000000000000" + "0x4167cd48e733418e8f99ffd134121c4a4ab278c4": { + "balance": "0xc55325ca7415e00000" }, - "598aaabae9ed833d7bc222e91fcaa0647b77580b": { - "balance": "1800000000000000000000" + "0x598aaabae9ed833d7bc222e91fcaa0647b77580b": { + "balance": "0x6194049f30f7200000" }, - "979f30158b574b999aab348107b9eed85b1ff8c1": { - "balance": "970000000000000000000" + "0x979f30158b574b999aab348107b9eed85b1ff8c1": { + "balance": "0x34957444b840e80000" }, - "3ad06149b21c55ff867cc3fb9740d2bcc7101231": { - "balance": "197000000000000000000000" + "0x3ad06149b21c55ff867cc3fb9740d2bcc7101231": { + "balance": "0x29b76432b94451200000" }, - "7133843a78d939c69d4486e10ebc7b602a349ff7": { - "balance": "329000000000000000000" + "0x7133843a78d939c69d4486e10ebc7b602a349ff7": { + "balance": "0x11d5cacce21f840000" }, - "8bdfda6c215720eda2136f91052321af4e936c1f": { - "balance": "1000008000000000000000" + "0x8bdfda6c215720eda2136f91052321af4e936c1f": { + "balance": "0x3635e619bb04d40000" }, - "3e1c53300e4c168912163c7e99b95da268ad280a": { - "balance": "1003200000000000000000" + "0x3e1c53300e4c168912163c7e99b95da268ad280a": { + "balance": "0x3662325cd18fe00000" }, - "e07ebbc7f4da416e42c8d4f842aba16233c12580": { - "balance": "2000000000000000000000" + "0xe07ebbc7f4da416e42c8d4f842aba16233c12580": { + "balance": "0x6c6b935b8bbd400000" }, - "bac8922c4acc7d2cb6fd59a14eb45cf3e702214b": { - "balance": "800000000000000000000" + "0xbac8922c4acc7d2cb6fd59a14eb45cf3e702214b": { + "balance": "0x2b5e3af16b18800000" }, - "bb6c284aac8a69b75cddb00f28e145583b56bece": { - "balance": "2000000000000000000000" + "0xbb6c284aac8a69b75cddb00f28e145583b56bece": { + "balance": "0x6c6b935b8bbd400000" }, - "0372ee5508bf8163ed284e5eef94ce4d7367e522": { - "balance": "100000000000000000000" + "0x0372ee5508bf8163ed284e5eef94ce4d7367e522": { + "balance": "0x56bc75e2d63100000" }, - "17125b59ac51cee029e4bd78d7f5947d1ea49bb2": { - "balance": "22000000000000000000000" + "0x17125b59ac51cee029e4bd78d7f5947d1ea49bb2": { + "balance": "0x4a89f54ef0121c00000" }, - "c88ca1e6e5f4d558d13780f488f10d4ad3130d34": { - "balance": "1550000000000000000000" + "0xc88ca1e6e5f4d558d13780f488f10d4ad3130d34": { + "balance": "0x54069233bf7f780000" }, - "a825fd5abb7926a67cf36ba246a24bd27be6f6ed": { - "balance": "17600000000000000000" + "0xa825fd5abb7926a67cf36ba246a24bd27be6f6ed": { + "balance": "0xf43fc2c04ee00000" }, - "04241b41ecbd0bfdf1295e9d4fa59ea09e6c6186": { - "balance": "1870000000000000000000" + "0x04241b41ecbd0bfdf1295e9d4fa59ea09e6c6186": { + "balance": "0x655f769450bc780000" }, - "6de4d15219182faf3aa2c5d4d2595ff23091a727": { - "balance": "1580000000000000000000" + "0x6de4d15219182faf3aa2c5d4d2595ff23091a727": { + "balance": "0x55a6e79ccd1d300000" }, - "b203d29e6c56b92699c4b92d1f6f84648dc4cfbc": { - "balance": "400000000000000000000" + "0xb203d29e6c56b92699c4b92d1f6f84648dc4cfbc": { + "balance": "0x15af1d78b58c400000" }, - "80b42de170dbd723f454e88f7716452d92985092": { - "balance": "300202000000000000000" + "0x80b42de170dbd723f454e88f7716452d92985092": { + "balance": "0x104623c0762dd10000" }, - "0a5b79d8f23b6483dbe2bdaa62b1064cc76366ae": { - "balance": "1969803000000000000000" + "0x0a5b79d8f23b6483dbe2bdaa62b1064cc76366ae": { + "balance": "0x6ac882100952c78000" }, - "32034e8581d9484e8af42a28df190132ec29c466": { - "balance": "3460000000000000000000" + "0x32034e8581d9484e8af42a28df190132ec29c466": { + "balance": "0xbb9125542263900000" }, - "7ee604c7a9dc2909ce321de6b9b24f5767577555": { - "balance": "5533575000000000000000" + "0x7ee604c7a9dc2909ce321de6b9b24f5767577555": { + "balance": "0x12bf9c7985cf62d8000" }, - "a387ce4e961a7847f560075c64e1596b5641d21c": { - "balance": "668500000000000000000" + "0xa387ce4e961a7847f560075c64e1596b5641d21c": { + "balance": "0x243d4d18229ca20000" }, - "fcc9d4a4262e7a027ab7519110d802c495ceea39": { - "balance": "6370000000000000000000" + "0xfcc9d4a4262e7a027ab7519110d802c495ceea39": { + "balance": "0x1595182224b26480000" }, - "ff8a2ca5a81333f19998255f203256e1a819c0aa": { - "balance": "224000000000000000000" + "0xff8a2ca5a81333f19998255f203256e1a819c0aa": { + "balance": "0xc249fdd3277800000" }, - "f9811fa19dadbf029f8bfe569adb18228c80481a": { - "balance": "200000000000000000000" + "0xf9811fa19dadbf029f8bfe569adb18228c80481a": { + "balance": "0xad78ebc5ac6200000" }, - "0d1f2a57713ebc6e94de29846e8844d376665763": { - "balance": "5000000000000000000000" + "0x0d1f2a57713ebc6e94de29846e8844d376665763": { + "balance": "0x10f0cf064dd59200000" }, - "eab0bd148309186cf8cbd13b7232d8095acb833a": { - "balance": "10691800000000000000000" + "0xeab0bd148309186cf8cbd13b7232d8095acb833a": { + "balance": "0x2439a881c6a717c0000" }, - "36928b55bc861509d51c8cf1d546bfec6e3e90af": { - "balance": "1970000000000000000000" + "0x36928b55bc861509d51c8cf1d546bfec6e3e90af": { + "balance": "0x6acb3df27e1f880000" }, - "30480164bcd84974ebc0d90c9b9afab626cd1c73": { - "balance": "800000000000000000000" + "0x30480164bcd84974ebc0d90c9b9afab626cd1c73": { + "balance": "0x2b5e3af16b18800000" }, - "36339f84a5c2b44ce53dfdb6d4f97df78212a7df": { - "balance": "321600000000000000000" + "0x36339f84a5c2b44ce53dfdb6d4f97df78212a7df": { + "balance": "0x116f18b81715a00000" }, - "cfeacaaed57285e0ac7268ce6a4e35ecfdb242d7": { - "balance": "1086400000000000000000" + "0xcfeacaaed57285e0ac7268ce6a4e35ecfdb242d7": { + "balance": "0x3ae4d4240190600000" }, - "572dd8cd3fe399d1d0ec281231b7cefc20b9e4bb": { - "balance": "10400000000000000000000" + "0x572dd8cd3fe399d1d0ec281231b7cefc20b9e4bb": { + "balance": "0x233c8fe42703e800000" }, - "5dded049a6e1f329dc4b971e722c9c1f2ade83f0": { - "balance": "1000000000000000000000" + "0x5dded049a6e1f329dc4b971e722c9c1f2ade83f0": { + "balance": "0x3635c9adc5dea00000" }, - "9756e176c9ef693ee1eec6b9f8b151d313beb099": { - "balance": "1200000000000000000000" + "0x9756e176c9ef693ee1eec6b9f8b151d313beb099": { + "balance": "0x410d586a20a4c00000" }, - "01e6415d587b065490f1ed7f21d6e0f386ee6747": { - "balance": "2000000000000000000000" + "0x01e6415d587b065490f1ed7f21d6e0f386ee6747": { + "balance": "0x6c6b935b8bbd400000" }, - "b4413576869c08f9512ad311fe925988a52d3414": { - "balance": "10000000000000000000000" + "0xb4413576869c08f9512ad311fe925988a52d3414": { + "balance": "0x21e19e0c9bab2400000" }, - "da9f55460946d7bfb570ddec757ca5773b58429a": { - "balance": "507600000000000000000" + "0xda9f55460946d7bfb570ddec757ca5773b58429a": { + "balance": "0x1b845d769eb4480000" }, - "7180b83ee5574317f21c8072b191d895d46153c3": { - "balance": "460000000000000000000" + "0x7180b83ee5574317f21c8072b191d895d46153c3": { + "balance": "0x18efc84ad0c7b00000" }, - "0aca9a5626913b08cfc9a66d40508dce52b60f87": { - "balance": "1910000000000000000000" + "0x0aca9a5626913b08cfc9a66d40508dce52b60f87": { + "balance": "0x678a932062e4180000" }, - "5cd0e475b54421bdfc0c12ea8e082bd7a5af0a6a": { - "balance": "59000000000000000000" + "0x5cd0e475b54421bdfc0c12ea8e082bd7a5af0a6a": { + "balance": "0x332ca1b67940c0000" }, - "7edb02c61a227287611ad950696369cc4e647a68": { - "balance": "274000000000000000000" + "0x7edb02c61a227287611ad950696369cc4e647a68": { + "balance": "0xeda838c4929080000" }, - "b2676841ee9f2d31c172e82303b0fe9bbf9f1e09": { - "balance": "200000000000000000000" + "0xb2676841ee9f2d31c172e82303b0fe9bbf9f1e09": { + "balance": "0xad78ebc5ac6200000" }, - "a2222259dd9c3e3ded127084f808e92a1887302c": { - "balance": "162000000000000000000" + "0xa2222259dd9c3e3ded127084f808e92a1887302c": { + "balance": "0x8c8339dafed480000" }, - "4b3a7cc3a7d7b00ed5282221a60259f25bf6538a": { - "balance": "1000000000000000000000" + "0x4b3a7cc3a7d7b00ed5282221a60259f25bf6538a": { + "balance": "0x3635c9adc5dea00000" }, - "e33ff987541dde5cdee0a8a96dcc3f33c3f24cc2": { - "balance": "200000000000000000000000" + "0xe33ff987541dde5cdee0a8a96dcc3f33c3f24cc2": { + "balance": "0x2a5a058fc295ed000000" }, - "1e1a4828119be309bd88236e4d482b504dc55711": { - "balance": "2955000000000000000000" + "0x1e1a4828119be309bd88236e4d482b504dc55711": { + "balance": "0xa030dcebbd2f4c0000" }, - "9b1811c3051f46e664ae4bc9c824d18592c4574a": { - "balance": "199955000000000000000" + "0x9b1811c3051f46e664ae4bc9c824d18592c4574a": { + "balance": "0xad6eedd17cf3b8000" }, - "59fe00696dbd87b7976b29d1156c8842a2e17914": { - "balance": "2000000000000000000000" + "0x59fe00696dbd87b7976b29d1156c8842a2e17914": { + "balance": "0x6c6b935b8bbd400000" }, - "48010ef3b8e95e3f308f30a8cb7f4eb4bf60d965": { - "balance": "2000000000000000000000" + "0x48010ef3b8e95e3f308f30a8cb7f4eb4bf60d965": { + "balance": "0x6c6b935b8bbd400000" }, - "c90300cb1d4077e6a6d7e169a460468cf4a492d7": { - "balance": "2000000000000000000000" + "0xc90300cb1d4077e6a6d7e169a460468cf4a492d7": { + "balance": "0x6c6b935b8bbd400000" }, - "6dedf62e743f4d2c2a4b87a787f5424a7aeb393c": { - "balance": "180000000000000000000" + "0x6dedf62e743f4d2c2a4b87a787f5424a7aeb393c": { + "balance": "0x9c2007651b2500000" }, - "fb744b951d094b310262c8f986c860df9ab1de65": { - "balance": "52009000000000000000" + "0xfb744b951d094b310262c8f986c860df9ab1de65": { + "balance": "0x2d1c515f1cb4a8000" }, - "193ac65183651800e23580f8f0ead3bb597eb8a4": { - "balance": "50020000000000000000" + "0x193ac65183651800e23580f8f0ead3bb597eb8a4": { + "balance": "0x2b62abcfb910a0000" }, - "bf05ff5ecf0df2df887759fb8274d93238ac267d": { - "balance": "800000000000000000000" + "0xbf05ff5ecf0df2df887759fb8274d93238ac267d": { + "balance": "0x2b5e3af16b18800000" }, - "6c0e712f405c59725fe829e9774bf4df7f4dd965": { - "balance": "57413800000000000000000" + "0x6c0e712f405c59725fe829e9774bf4df7f4dd965": { + "balance": "0xc2868889ca68a440000" }, - "2744ff67464121e35afc2922177164fa2fcb0267": { - "balance": "100000000000000000000" + "0x2744ff67464121e35afc2922177164fa2fcb0267": { + "balance": "0x56bc75e2d63100000" }, - "d09cb2e6082d693a13e8d2f68dd1dd8461f55840": { - "balance": "1000000000000000000000" + "0xd09cb2e6082d693a13e8d2f68dd1dd8461f55840": { + "balance": "0x3635c9adc5dea00000" }, - "bc171e53d17ac9b61241ae436deec7af452e7496": { - "balance": "5348000000000000000000" + "0xbc171e53d17ac9b61241ae436deec7af452e7496": { + "balance": "0x121ea68c114e5100000" }, - "71fa22cc6d33206b7d701a163a0dab31ae4d31d6": { - "balance": "1610000000000000000000" + "0x71fa22cc6d33206b7d701a163a0dab31ae4d31d6": { + "balance": "0x57473d05dabae80000" }, - "4da8030769844bc34186b85cd4c7348849ff49e9": { - "balance": "10000000000000000000000" + "0x4da8030769844bc34186b85cd4c7348849ff49e9": { + "balance": "0x21e19e0c9bab2400000" }, - "c8616b4ec09128cdff39d6e4b9ac86eec471d5f2": { - "balance": "19400000000000000000" + "0xc8616b4ec09128cdff39d6e4b9ac86eec471d5f2": { + "balance": "0x10d3aa536e2940000" }, - "407295ebd94b48269c2d569c9b9af9aa05e83e5e": { - "balance": "10000000000000000000000" + "0x407295ebd94b48269c2d569c9b9af9aa05e83e5e": { + "balance": "0x21e19e0c9bab2400000" }, - "d45d5daa138dd1d374c71b9019916811f4b20a4e": { - "balance": "576000000000000000000" + "0xd45d5daa138dd1d374c71b9019916811f4b20a4e": { + "balance": "0x1f399b1438a1000000" }, - "42c6edc515d35557808d13cd44dcc4400b2504e4": { - "balance": "197876000000000000000" + "0x42c6edc515d35557808d13cd44dcc4400b2504e4": { + "balance": "0xaba14c59ba7320000" }, - "0bc95cb32dbb574c832fa8174a81356d38bc92ac": { - "balance": "2000000000000000000000" + "0x0bc95cb32dbb574c832fa8174a81356d38bc92ac": { + "balance": "0x6c6b935b8bbd400000" }, - "5a6071bcebfcba4ab57f4db96fc7a68bece2ba5b": { - "balance": "2000000000000000000000" + "0x5a6071bcebfcba4ab57f4db96fc7a68bece2ba5b": { + "balance": "0x6c6b935b8bbd400000" }, - "54c93e03a9b2e8e4c3672835a9ee76f9615bc14e": { - "balance": "19400000000000000000" + "0x54c93e03a9b2e8e4c3672835a9ee76f9615bc14e": { + "balance": "0x10d3aa536e2940000" }, - "3c03bbc023e1e93fa3a3a6e428cf0cd8f95e1ec6": { - "balance": "1520000000000000000000" + "0x3c03bbc023e1e93fa3a3a6e428cf0cd8f95e1ec6": { + "balance": "0x52663ccab1e1c00000" }, - "ba1531fb9e791896bcf3a80558a359f6e7c144bd": { - "balance": "3940000000000000000000" + "0xba1531fb9e791896bcf3a80558a359f6e7c144bd": { + "balance": "0xd5967be4fc3f100000" }, - "aa56a65dc4abb72f11bae32b6fbb07444791d5c9": { - "balance": "748600000000000000000" + "0xaa56a65dc4abb72f11bae32b6fbb07444791d5c9": { + "balance": "0x2894e975bf496c0000" }, - "e437acbe0f6227b0e36f36e4bcf7cf613335fb68": { - "balance": "200000000000000000000" + "0xe437acbe0f6227b0e36f36e4bcf7cf613335fb68": { + "balance": "0xad78ebc5ac6200000" }, - "39d4a931402c0c79c457186f24df8729cf957031": { - "balance": "4000000000000000000000" + "0x39d4a931402c0c79c457186f24df8729cf957031": { + "balance": "0xd8d726b7177a800000" }, - "e22b20c77894463baf774cc256d5bddbbf7ddd09": { - "balance": "1000000000000000000000" + "0xe22b20c77894463baf774cc256d5bddbbf7ddd09": { + "balance": "0x3635c9adc5dea00000" }, - "70a4067d448cc25dc8e70e651cea7cf84e92109e": { - "balance": "176000000000000000000" + "0x70a4067d448cc25dc8e70e651cea7cf84e92109e": { + "balance": "0x98a7d9b8314c00000" }, - "aa3925dc220bb4ae2177b2883078b6dc346ca1b2": { - "balance": "8000000000000000000000" + "0xaa3925dc220bb4ae2177b2883078b6dc346ca1b2": { + "balance": "0x1b1ae4d6e2ef5000000" }, - "ad57aa9d00d10c439b35efcc0becac2e3955c313": { - "balance": "200000000000000000000" + "0xad57aa9d00d10c439b35efcc0becac2e3955c313": { + "balance": "0xad78ebc5ac6200000" }, - "e93d47a8ca885d540c4e526f25d5c6f2c108c4b8": { - "balance": "112640000000000000000000" + "0xe93d47a8ca885d540c4e526f25d5c6f2c108c4b8": { + "balance": "0x17da3a04c7b3e0000000" }, - "232ce782506225fd9860a2edc14a7a3047736da2": { - "balance": "20000000000000000000" + "0x232ce782506225fd9860a2edc14a7a3047736da2": { + "balance": "0x1158e460913d00000" }, - "49a645e0667dfd7b32d075cc2467dd8c680907c4": { - "balance": "129560000000000000000" + "0x49a645e0667dfd7b32d075cc2467dd8c680907c4": { + "balance": "0x70601958fcb9c0000" }, - "cf2e734042a355d05ffb2e3915b16811f45a695e": { - "balance": "2000000000000000000000" + "0xcf2e734042a355d05ffb2e3915b16811f45a695e": { + "balance": "0x6c6b935b8bbd400000" }, - "39b1c471ae94e12164452e811fbbe2b3cd7275ac": { - "balance": "2000000000000000000000" + "0x39b1c471ae94e12164452e811fbbe2b3cd7275ac": { + "balance": "0x6c6b935b8bbd400000" }, - "ffad3dd74e2c1f796ac640de56dc99b4c792a402": { - "balance": "5000000000000000000000" + "0xffad3dd74e2c1f796ac640de56dc99b4c792a402": { + "balance": "0x10f0cf064dd59200000" }, - "a69d7cd17d4842fe03f62a90b2fbf8f6af7bb380": { - "balance": "100000000000000000000" + "0xa69d7cd17d4842fe03f62a90b2fbf8f6af7bb380": { + "balance": "0x56bc75e2d63100000" }, - "2001bef77b66f51e1599b02fb110194a0099b78d": { - "balance": "2000000000000000000000" + "0x2001bef77b66f51e1599b02fb110194a0099b78d": { + "balance": "0x6c6b935b8bbd400000" }, - "95e7616424cd0961a71727247437f0069272280e": { - "balance": "400000000000000000000" + "0x95e7616424cd0961a71727247437f0069272280e": { + "balance": "0x15af1d78b58c400000" }, - "c04f4bd4049f044685b883b62959ae631d667e35": { - "balance": "5820000000000000000000" + "0xc04f4bd4049f044685b883b62959ae631d667e35": { + "balance": "0x13b80b99c5185700000" }, - "ede0147ec032c3618310c1ff25690bf172193dac": { - "balance": "2000000000000000000000" + "0xede0147ec032c3618310c1ff25690bf172193dac": { + "balance": "0x6c6b935b8bbd400000" }, - "66719c0682b2ac7f9e27abebec7edf8decf0ae0d": { - "balance": "20000000000000000000" + "0x66719c0682b2ac7f9e27abebec7edf8decf0ae0d": { + "balance": "0x1158e460913d00000" }, - "45272b8f62e9f9fa8ce04420e1aea3eba9686eac": { - "balance": "4000000000000000000000" + "0x45272b8f62e9f9fa8ce04420e1aea3eba9686eac": { + "balance": "0xd8d726b7177a800000" }, - "d1da0c8fb7c210e0f2ec618f85bdae7d3e734b1c": { - "balance": "1970000000000000000000" + "0xd1da0c8fb7c210e0f2ec618f85bdae7d3e734b1c": { + "balance": "0x6acb3df27e1f880000" }, - "e9133e7d31845d5f2b66a2618792e869311acf66": { - "balance": "24050000000000000000000" + "0xe9133e7d31845d5f2b66a2618792e869311acf66": { + "balance": "0x517c0cbf9a390880000" }, - "ebb62cf8e22c884b1b28c6fa88fbbc17938aa787": { - "balance": "798000000000000000000" + "0xebb62cf8e22c884b1b28c6fa88fbbc17938aa787": { + "balance": "0x2b42798403c9b80000" }, - "6205c2d5647470848a3840f3887e9b015d34755c": { - "balance": "1800000000000000000000" + "0x6205c2d5647470848a3840f3887e9b015d34755c": { + "balance": "0x6194049f30f7200000" }, - "76ca22bcb8799e5327c4aa2a7d0949a1fcce5f29": { - "balance": "1524180000000000000000" + "0x76ca22bcb8799e5327c4aa2a7d0949a1fcce5f29": { + "balance": "0x52a03f228c5ae20000" }, - "6b925dd5d8ed6132ab6d0860b82c44e1a51f1fee": { - "balance": "1480000000000000000000" + "0x6b925dd5d8ed6132ab6d0860b82c44e1a51f1fee": { + "balance": "0x503b203e9fba200000" }, - "797bb7f157d9feaa17f76da4f704b74dc1038341": { - "balance": "3340000000000000000000" + "0x797bb7f157d9feaa17f76da4f704b74dc1038341": { + "balance": "0xb50fcfafebecb00000" }, - "ae8954f8d6166de507cf61297d0fc7ca6b9e7128": { - "balance": "300000000000000000000" + "0xae8954f8d6166de507cf61297d0fc7ca6b9e7128": { + "balance": "0x1043561a8829300000" }, - "75c1ad23d23f24b384d0c3149177e86697610d21": { - "balance": "6426082000000000000000" + "0x75c1ad23d23f24b384d0c3149177e86697610d21": { + "balance": "0x15c5bcd6c288bbd0000" }, - "805d846fb0bc02a7337226d685be9ee773b9198a": { - "balance": "19999800000000000000000" + "0x805d846fb0bc02a7337226d685be9ee773b9198a": { + "balance": "0x43c30fb0884a96c0000" }, - "c3cb6b36af443f2c6e258b4a39553a818747811f": { - "balance": "1610000000000000000000" + "0xc3cb6b36af443f2c6e258b4a39553a818747811f": { + "balance": "0x57473d05dabae80000" }, - "cea43f7075816b60bbfce68b993af0881270f6c4": { - "balance": "2000000000000000000000" + "0xcea43f7075816b60bbfce68b993af0881270f6c4": { + "balance": "0x6c6b935b8bbd400000" }, - "e0388aeddd3fe2ad56f85748e80e710a34b7c92e": { - "balance": "500000000000000000000" + "0xe0388aeddd3fe2ad56f85748e80e710a34b7c92e": { + "balance": "0x1b1ae4d6e2ef500000" }, - "e131f87efc5ef07e43f0f2f4a747b551d750d9e6": { - "balance": "19999000000000000000000" + "0xe131f87efc5ef07e43f0f2f4a747b551d750d9e6": { + "balance": "0x43c25e0dcc1bd1c0000" }, - "c2b2cbe65bc6c2ee7a3c75b2e47c189c062e8d8b": { - "balance": "20000000000000000000000" + "0xc2b2cbe65bc6c2ee7a3c75b2e47c189c062e8d8b": { + "balance": "0x43c33c1937564800000" }, - "bd8765f41299c7f479923c4fd18f126d7229047d": { - "balance": "4000000000000000000000" + "0xbd8765f41299c7f479923c4fd18f126d7229047d": { + "balance": "0xd8d726b7177a800000" }, - "c83ba6dd9549be1d3287a5a654d106c34c6b5da2": { - "balance": "7000000000000000000000" + "0xc83ba6dd9549be1d3287a5a654d106c34c6b5da2": { + "balance": "0x17b7883c06916600000" }, - "f870995fe1e522321d754337a45c0c9d7b38951c": { - "balance": "20000000000000000000" + "0xf870995fe1e522321d754337a45c0c9d7b38951c": { + "balance": "0x1158e460913d00000" }, - "0d8ed7d0d15638330ed7e4eaccab8a458d75737e": { - "balance": "2000000000000000000000" + "0x0d8ed7d0d15638330ed7e4eaccab8a458d75737e": { + "balance": "0x6c6b935b8bbd400000" }, - "36c510bf8d6e569bf2f37d47265dbcb502ff2bce": { - "balance": "30000000000000000000000" + "0x36c510bf8d6e569bf2f37d47265dbcb502ff2bce": { + "balance": "0x65a4da25d3016c00000" }, - "0eccf617844fd61fba62cb0e445b7ac68bcc1fbe": { - "balance": "387260000000000000000" + "0x0eccf617844fd61fba62cb0e445b7ac68bcc1fbe": { + "balance": "0x14fe4fe63565c60000" }, - "ae10e27a014f0d306baf266d4897c89aeee2e974": { - "balance": "20000000000000000000000" + "0xae10e27a014f0d306baf266d4897c89aeee2e974": { + "balance": "0x43c33c1937564800000" }, - "1827039f09570294088fddf047165c33e696a492": { - "balance": "9550000000000000000000" + "0x1827039f09570294088fddf047165c33e696a492": { + "balance": "0x205b4dfa1ee74780000" }, - "23378f42926d0184b793b0c827a6dd3e3d334fcd": { - "balance": "56000000000000000000" + "0x23378f42926d0184b793b0c827a6dd3e3d334fcd": { + "balance": "0x30927f74c9de00000" }, - "467124ae7f452f26b3d574f6088894fa5d1cfb3b": { - "balance": "2700000000000000000000" + "0x467124ae7f452f26b3d574f6088894fa5d1cfb3b": { + "balance": "0x925e06eec972b00000" }, - "aae61e43cb0d0c96b30699f77e00d711d0a3979b": { - "balance": "1000000000000000000000" + "0xaae61e43cb0d0c96b30699f77e00d711d0a3979b": { + "balance": "0x3635c9adc5dea00000" }, - "15c7edb8118ee27b342285eb5926b47a855bc7a5": { - "balance": "20000000000000000000" + "0x15c7edb8118ee27b342285eb5926b47a855bc7a5": { + "balance": "0x1158e460913d00000" }, - "0d5d98565c647ca5f177a2adb9d3022fac287f21": { - "balance": "200000000000000000000" + "0x0d5d98565c647ca5f177a2adb9d3022fac287f21": { + "balance": "0xad78ebc5ac6200000" }, - "7222fec7711781d26eaa4e8485f7aa3fac442483": { - "balance": "456000000000000000000" + "0x7222fec7711781d26eaa4e8485f7aa3fac442483": { + "balance": "0x18b84570022a200000" }, - "dc44275b1715baea1b0345735a29ac42c9f51b4f": { - "balance": "1164000000000000000000" + "0xdc44275b1715baea1b0345735a29ac42c9f51b4f": { + "balance": "0x3f19beb8dd1ab00000" }, - "04d82af9e01a936d97f8f85940b970f9d4db9936": { - "balance": "200000000000000000000" + "0x04d82af9e01a936d97f8f85940b970f9d4db9936": { + "balance": "0xad78ebc5ac6200000" }, - "45533390e340fe0de3b3cf5fb9fc8ea552e29e62": { - "balance": "1460000000000000000000" + "0x45533390e340fe0de3b3cf5fb9fc8ea552e29e62": { + "balance": "0x4f2591f896a6500000" }, - "1284f0cee9d2ff2989b65574d06ffd9ab0f7b805": { - "balance": "400000000000000000000" + "0x1284f0cee9d2ff2989b65574d06ffd9ab0f7b805": { + "balance": "0x15af1d78b58c400000" }, - "ed9ebccba42f9815e78233266dd6e835b6afc31b": { - "balance": "6000000000000000000000" + "0xed9ebccba42f9815e78233266dd6e835b6afc31b": { + "balance": "0x14542ba12a337c00000" }, - "e4324912d64ea3aef76b3c2ff9df82c7e13ae991": { - "balance": "2000000000000000000000" + "0xe4324912d64ea3aef76b3c2ff9df82c7e13ae991": { + "balance": "0x6c6b935b8bbd400000" }, - "94c742fd7a8b7906b3bfe4f8904fc0be5c768033": { - "balance": "20000000000000000000000" + "0x94c742fd7a8b7906b3bfe4f8904fc0be5c768033": { + "balance": "0x43c33c1937564800000" }, - "62fb8bd1f0e66b90533e071e6cbe6111fef0bc63": { - "balance": "17600000000000000000000" + "0x62fb8bd1f0e66b90533e071e6cbe6111fef0bc63": { + "balance": "0x3ba1910bf341b000000" }, - "2c83aeb02fcf067d65a47082fd977833ab1cec91": { - "balance": "150400000000000000000" + "0x2c83aeb02fcf067d65a47082fd977833ab1cec91": { + "balance": "0x8273823258ac00000" }, - "06cbfa08cdd4fba737bac407be8224f4eef35828": { - "balance": "593459000000000000000" + "0x06cbfa08cdd4fba737bac407be8224f4eef35828": { + "balance": "0x202be5e8382e8b8000" }, - "67ee406ea4a7ae6a3a381eb4edd2f09f174b4928": { - "balance": "1036000000000000000000" + "0x67ee406ea4a7ae6a3a381eb4edd2f09f174b4928": { + "balance": "0x3829635f0968b00000" }, - "83c23d8a502124ee150f08d71dc6727410a0f901": { - "balance": "33999600000000000000000" + "0x83c23d8a502124ee150f08d71dc6727410a0f901": { + "balance": "0x7331f3bfe661b180000" }, - "f7c00cdb1f020310d5acab7b496aaa44b779085e": { - "balance": "1670000000000000000000" + "0xf7c00cdb1f020310d5acab7b496aaa44b779085e": { + "balance": "0x5a87e7d7f5f6580000" }, - "d096565b7c7407d06536580355fdd6d239144aa1": { - "balance": "250000000000000000000" + "0xd096565b7c7407d06536580355fdd6d239144aa1": { + "balance": "0xd8d726b7177a80000" }, - "f8d52dcc5f96cc28007b3ecbb409f7e22a646caa": { - "balance": "149200000000000000000" + "0xf8d52dcc5f96cc28007b3ecbb409f7e22a646caa": { + "balance": "0x81690e18128480000" }, - "0c222c7c41c9b048efcce0a232434362e12d673b": { - "balance": "10007600000000000000000" + "0x0c222c7c41c9b048efcce0a232434362e12d673b": { + "balance": "0x21e8359697677380000" }, - "503bdbd8bc421c32a443032deb2e3e4cd5ba8b4e": { - "balance": "2000000000000000000000" + "0x503bdbd8bc421c32a443032deb2e3e4cd5ba8b4e": { + "balance": "0x6c6b935b8bbd400000" }, - "77da5e6c72fb36bce1d9798f7bcdf1d18f459c2e": { - "balance": "22380000000000000000" + "0x77da5e6c72fb36bce1d9798f7bcdf1d18f459c2e": { + "balance": "0x13695bb6cf93e0000" }, - "e62f98650712eb158753d82972b8e99ca3f61877": { - "balance": "2000000000000000000000" + "0xe62f98650712eb158753d82972b8e99ca3f61877": { + "balance": "0x6c6b935b8bbd400000" }, - "87a7c508ef71582dd9a54372f89cb01f252fb180": { - "balance": "200000000000000000000" + "0x87a7c508ef71582dd9a54372f89cb01f252fb180": { + "balance": "0xad78ebc5ac6200000" }, - "f61283b4bd8504058ca360e993999b62cbc8cd67": { - "balance": "255000000000000000000" + "0xf61283b4bd8504058ca360e993999b62cbc8cd67": { + "balance": "0xdd2d5fcf3bc9c0000" }, - "9ccddcb2cfc2b25b08729a0a98d9e6f0202ea2c1": { - "balance": "100000000000000000000" + "0x9ccddcb2cfc2b25b08729a0a98d9e6f0202ea2c1": { + "balance": "0x56bc75e2d63100000" }, - "d460a4b908dd2b056759b488850b66a838fc77a8": { - "balance": "1970000000000000000000" + "0xd460a4b908dd2b056759b488850b66a838fc77a8": { + "balance": "0x6acb3df27e1f880000" }, - "5431b1d18751b98fc9e2888ac7759f1535a2db47": { - "balance": "2000000000000000000000" + "0x5431b1d18751b98fc9e2888ac7759f1535a2db47": { + "balance": "0x6c6b935b8bbd400000" }, - "da2a14f9724015d79014ed8e5909681d596148f1": { - "balance": "48499000000000000000" + "0xda2a14f9724015d79014ed8e5909681d596148f1": { + "balance": "0x2a10f0f8a91ab8000" }, - "c989434f825aaf9c552f685eba7c11db4a5fc73a": { - "balance": "501000000000000000000" + "0xc989434f825aaf9c552f685eba7c11db4a5fc73a": { + "balance": "0x1b28c58d9696b40000" }, - "2b701d16c0d3cc1e4cd85445e6ad02eea4ac012d": { - "balance": "600000000000000000000" + "0x2b701d16c0d3cc1e4cd85445e6ad02eea4ac012d": { + "balance": "0x2086ac351052600000" }, - "78b978a9d7e91ee529ea4fc4b76feaf8762f698c": { - "balance": "32000000000000000000000" + "0x78b978a9d7e91ee529ea4fc4b76feaf8762f698c": { + "balance": "0x6c6b935b8bbd4000000" }, - "c89cf504b9f3f835181fd8424f5ccbc8e1bddf7d": { - "balance": "10000000000000000000000" + "0xc89cf504b9f3f835181fd8424f5ccbc8e1bddf7d": { + "balance": "0x21e19e0c9bab2400000" }, - "e94941b6036019b4016a30c1037d5a6903babaad": { - "balance": "780000000000000000000" + "0xe94941b6036019b4016a30c1037d5a6903babaad": { + "balance": "0x2a48acab6204b00000" }, - "95d98d0c1069908f067a52acac2b8b534da37afd": { - "balance": "2054053000000000000000" + "0x95d98d0c1069908f067a52acac2b8b534da37afd": { + "balance": "0x6f59b630a929708000" }, - "8284923b62e68bbf7c2b9f3414d13ef6c812a904": { - "balance": "3880000000000000000000" + "0x8284923b62e68bbf7c2b9f3414d13ef6c812a904": { + "balance": "0xd255d112e103a00000" }, - "3e5a39fdda70df1126ab0dc49a7378311a537a1f": { - "balance": "2400000000000000000000" + "0x3e5a39fdda70df1126ab0dc49a7378311a537a1f": { + "balance": "0x821ab0d44149800000" }, - "a2ace4c993bb1e5383f8ac74e179066e814f0591": { - "balance": "100000000000000000000" + "0xa2ace4c993bb1e5383f8ac74e179066e814f0591": { + "balance": "0x56bc75e2d63100000" }, - "0609d83a6ce1ffc9b690f3e9a81e983e8bdc4d9d": { - "balance": "70000000000000000000000" + "0x0609d83a6ce1ffc9b690f3e9a81e983e8bdc4d9d": { + "balance": "0xed2b525841adfc00000" }, - "d119417c46732cf34d1a1afb79c3e7e2cd8eece4": { - "balance": "2000000000000000000000" + "0xd119417c46732cf34d1a1afb79c3e7e2cd8eece4": { + "balance": "0x6c6b935b8bbd400000" }, - "fdb33944f2360615e5be239577c8a19ba52d9887": { - "balance": "601650000000000000000" + "0xfdb33944f2360615e5be239577c8a19ba52d9887": { + "balance": "0x209d922f5259c50000" }, - "dd95dbe30f1f1877c5dd7684aeef302ab6885192": { - "balance": "8372000000000000000000" + "0xdd95dbe30f1f1877c5dd7684aeef302ab6885192": { + "balance": "0x1c5d8d6eb3e32500000" }, - "413f4b02669ccff6806bc826fcb7deca3b0ea9bc": { - "balance": "20000000000000000000" + "0x413f4b02669ccff6806bc826fcb7deca3b0ea9bc": { + "balance": "0x1158e460913d00000" }, - "5800cd8130839e94495d2d8415a8ea2c90e0c5cb": { - "balance": "200000000000000000000" + "0x5800cd8130839e94495d2d8415a8ea2c90e0c5cb": { + "balance": "0xad78ebc5ac6200000" }, - "65053191319e067a25e6361d47f37f6318f83419": { - "balance": "394000000000000000000" + "0x65053191319e067a25e6361d47f37f6318f83419": { + "balance": "0x155bd9307f9fe80000" }, - "9bc573bcda23b8b26f9073d90c230e8e71e0270b": { - "balance": "999544000000000000000" + "0x9bc573bcda23b8b26f9073d90c230e8e71e0270b": { + "balance": "0x362f75a4305d0c0000" }, - "97f7760657c1e202759086963eb4211c5f8139b9": { - "balance": "49770000000000000000000" + "0x97f7760657c1e202759086963eb4211c5f8139b9": { + "balance": "0xa8a097fcb3d17680000" }, - "126897a311a14ad43b78e0920100c4426bfd6bdd": { - "balance": "973581000000000000000" + "0x126897a311a14ad43b78e0920100c4426bfd6bdd": { + "balance": "0x34c726893f2d948000" }, - "d5276f0cd5ffd5ffb63f98b5703d5594ede0838b": { - "balance": "400000000000000000000" + "0xd5276f0cd5ffd5ffb63f98b5703d5594ede0838b": { + "balance": "0x15af1d78b58c400000" }, - "e9c35c913ca1fceab461582fe1a5815164b4fd21": { - "balance": "8000000000000000000000" + "0xe9c35c913ca1fceab461582fe1a5815164b4fd21": { + "balance": "0x1b1ae4d6e2ef5000000" }, - "b43067fe70d9b55973ba58dc64dd7f311e554259": { - "balance": "200000000000000000000" + "0xb43067fe70d9b55973ba58dc64dd7f311e554259": { + "balance": "0xad78ebc5ac6200000" }, - "6f8f0d15cc96fb7fe94f1065bc6940f8d12957b2": { - "balance": "1000000000000000000000" + "0x6f8f0d15cc96fb7fe94f1065bc6940f8d12957b2": { + "balance": "0x3635c9adc5dea00000" }, - "b1dba5250ba9625755246e067967f2ad2f0791de": { - "balance": "80000000000000000000000" + "0xb1dba5250ba9625755246e067967f2ad2f0791de": { + "balance": "0x10f0cf064dd592000000" }, - "72b7a03dda14ca9c661a1d469fd33736f673c8e8": { - "balance": "2000000000000000000000" + "0x72b7a03dda14ca9c661a1d469fd33736f673c8e8": { + "balance": "0x6c6b935b8bbd400000" }, - "e792349ce9f6f14f81d0674096befa1f9221cdea": { - "balance": "1685365000000000000000" + "0xe792349ce9f6f14f81d0674096befa1f9221cdea": { + "balance": "0x5b5d234a0db4388000" }, - "1815279dff9952da3be8f77249dbe22243377be7": { - "balance": "4749800000000000000000" + "0x1815279dff9952da3be8f77249dbe22243377be7": { + "balance": "0x1017cb76e7b26640000" }, - "33481e856ebed48ea708a27426ef28e867f57cd1": { - "balance": "200000000000000000000" + "0x33481e856ebed48ea708a27426ef28e867f57cd1": { + "balance": "0xad78ebc5ac6200000" }, - "8eb8c71982a00fb84275293253f8044544b66b49": { - "balance": "400000000000000000000" + "0x8eb8c71982a00fb84275293253f8044544b66b49": { + "balance": "0x15af1d78b58c400000" }, - "65f5870f26bce089677dfc23b5001ee492483428": { - "balance": "5067230000000000000000" + "0x65f5870f26bce089677dfc23b5001ee492483428": { + "balance": "0x112b1f155aa32a30000" }, - "8e23facd12c765c36ab81a6dd34d8aa9e68918ae": { - "balance": "167310000000000000000" + "0x8e23facd12c765c36ab81a6dd34d8aa9e68918ae": { + "balance": "0x911e4868dba9b0000" }, - "4912d902931676ff39fc34fe3c3cc8fb2182fa7a": { - "balance": "20000000000000000000" + "0x4912d902931676ff39fc34fe3c3cc8fb2182fa7a": { + "balance": "0x1158e460913d00000" }, - "c09a66172aea370d9a63da04ff71ffbbfcff7f94": { - "balance": "2000000000000000000000" + "0xc09a66172aea370d9a63da04ff71ffbbfcff7f94": { + "balance": "0x6c6b935b8bbd400000" }, - "e969ea1595edc5c4a707cfde380929633251a2b0": { - "balance": "200000000000000000000" + "0xe969ea1595edc5c4a707cfde380929633251a2b0": { + "balance": "0xad78ebc5ac6200000" }, - "4f2b47e2775a1fa7178dad92985a5bbe493ba6d6": { - "balance": "200000000000000000000" + "0x4f2b47e2775a1fa7178dad92985a5bbe493ba6d6": { + "balance": "0xad78ebc5ac6200000" }, - "cab9a97ada065c87816e6860a8f1426fe6b3d775": { - "balance": "1000000000000000000000" + "0xcab9a97ada065c87816e6860a8f1426fe6b3d775": { + "balance": "0x3635c9adc5dea00000" }, - "cdfd8217339725d7ebac11a63655f265eff1cc3d": { - "balance": "4999962000000000000000" + "0xcdfd8217339725d7ebac11a63655f265eff1cc3d": { + "balance": "0x10f0c696410e3a90000" }, - "ab4004c0403f7eabb0ea586f212156c4203d67f1": { - "balance": "1999944000000000000000" + "0xab4004c0403f7eabb0ea586f212156c4203d67f1": { + "balance": "0x6c6acc67d7b1d40000" }, - "1c7cb2fe6bf3e09cbcdc187af38fa8f5053a70b6": { - "balance": "9970823000000000000000" + "0x1c7cb2fe6bf3e09cbcdc187af38fa8f5053a70b6": { + "balance": "0x21c84f742d0cead8000" }, - "a951b244ff50cfae591d5e1a148df6a938ef2a1a": { - "balance": "1734000000000000000000" + "0xa951b244ff50cfae591d5e1a148df6a938ef2a1a": { + "balance": "0x5e001584dfcf580000" }, - "b158db43fa62d30e65f3d09bf781c7b67372ebaa": { - "balance": "1999000000000000000000" + "0xb158db43fa62d30e65f3d09bf781c7b67372ebaa": { + "balance": "0x6c5db2a4d815dc0000" }, - "25e037f00a18270ba5ec3420229ddb0a2ce38fa2": { - "balance": "10000000000000000000000" + "0x25e037f00a18270ba5ec3420229ddb0a2ce38fa2": { + "balance": "0x21e19e0c9bab2400000" }, - "2aaea1f1046f30f109faec1c63ef5c7594eb08da": { - "balance": "4000000000000000000000" + "0x2aaea1f1046f30f109faec1c63ef5c7594eb08da": { + "balance": "0xd8d726b7177a800000" }, - "73d7269ff06c9ffd33754ce588f74a966abbbbba": { - "balance": "6600000000000000000000" + "0x73d7269ff06c9ffd33754ce588f74a966abbbbba": { + "balance": "0x165c96647b38a200000" }, - "4c767b65fd91161f4fbdcc6a69e2f6ad711bb918": { - "balance": "720000000000000000000" + "0x4c767b65fd91161f4fbdcc6a69e2f6ad711bb918": { + "balance": "0x270801d946c9400000" }, - "92ae5b7c7eb492ff1ffa16dd42ad9cad40b7f8dc": { - "balance": "865000000000000000000" + "0x92ae5b7c7eb492ff1ffa16dd42ad9cad40b7f8dc": { + "balance": "0x2ee449550898e40000" }, - "a04f2ae02add14c12faf65cb259022d0830a8e26": { - "balance": "100000000000000000000000" + "0xa04f2ae02add14c12faf65cb259022d0830a8e26": { + "balance": "0x152d02c7e14af6800000" }, - "63ef2fbc3daf5edaf4a295629ccf31bcdf4038e5": { - "balance": "1460000000000000000000" + "0x63ef2fbc3daf5edaf4a295629ccf31bcdf4038e5": { + "balance": "0x4f2591f896a6500000" }, - "749ad6f2b5706bbe2f689a44c4b640b58e96b992": { - "balance": "100000000000000000000" + "0x749ad6f2b5706bbe2f689a44c4b640b58e96b992": { + "balance": "0x56bc75e2d63100000" }, - "4d836d9d3b0e2cbd4de050596faa490cffb60d5d": { - "balance": "300000000000000000000" + "0x4d836d9d3b0e2cbd4de050596faa490cffb60d5d": { + "balance": "0x1043561a8829300000" }, - "59f6247b0d582aaa25e5114765e4bf3c774f43c2": { - "balance": "50000000000000000000" + "0x59f6247b0d582aaa25e5114765e4bf3c774f43c2": { + "balance": "0x2b5e3af16b1880000" }, - "1293c78c7d6a443b9d74b0ba5ee7bb47fd418588": { - "balance": "6685000000000000000000" + "0x1293c78c7d6a443b9d74b0ba5ee7bb47fd418588": { + "balance": "0x16a6502f15a1e540000" }, - "67bc85e87dc34c4e80aafa066ba8d29dbb8e438e": { - "balance": "402500000000000000000" + "0x67bc85e87dc34c4e80aafa066ba8d29dbb8e438e": { + "balance": "0x15d1cf4176aeba0000" }, - "a09f4d5eaa65a2f4cb750a49923401dae59090af": { - "balance": "140000000000000000000" + "0xa09f4d5eaa65a2f4cb750a49923401dae59090af": { + "balance": "0x796e3ea3f8ab00000" }, - "ebbd4db9019952d68b1b0f6d8cf0683c00387bb5": { - "balance": "332330000000000000000" + "0xebbd4db9019952d68b1b0f6d8cf0683c00387bb5": { + "balance": "0x120401563d7d910000" }, - "b16479ba8e7df8f63e1b95d149cd8529d735c2da": { - "balance": "846477000000000000000" + "0xb16479ba8e7df8f63e1b95d149cd8529d735c2da": { + "balance": "0x2de33a6aac32548000" }, - "e1b2aca154b8e0766c4eba30bc10c7f35036f368": { - "balance": "19980000000000000000" + "0xe1b2aca154b8e0766c4eba30bc10c7f35036f368": { + "balance": "0x115473824344e0000" }, - "5c464197791c8a3da3c925436f277ab13bf2faa2": { - "balance": "8000000000000000000000" + "0x5c464197791c8a3da3c925436f277ab13bf2faa2": { + "balance": "0x1b1ae4d6e2ef5000000" }, - "170a88a8997f92d238370f1affdee6347050b013": { - "balance": "3000800000000000000000" + "0x170a88a8997f92d238370f1affdee6347050b013": { + "balance": "0xa2ac77351488300000" }, - "dadbfafd8b62b92a24efd75256dd83abdbd7bbdb": { - "balance": "19700000000000000000" + "0xdadbfafd8b62b92a24efd75256dd83abdbd7bbdb": { + "balance": "0x11164759ffb320000" }, - "bb993b96ee925ada7d99d786573d3f89180ce3aa": { - "balance": "2000000000000000000000" + "0xbb993b96ee925ada7d99d786573d3f89180ce3aa": { + "balance": "0x6c6b935b8bbd400000" }, - "f2c362b0ef991bc82fb36e66ff75932ae8dd8225": { - "balance": "74000000000000000000" + "0xf2c362b0ef991bc82fb36e66ff75932ae8dd8225": { + "balance": "0x402f4cfee62e80000" }, - "7f2382ffd8f83956467937f9ba72374623f11b38": { - "balance": "600000000000000000000" + "0x7f2382ffd8f83956467937f9ba72374623f11b38": { + "balance": "0x2086ac351052600000" }, - "74d1a4d0c7524e018d4e06ed3b648092b5b6af2c": { - "balance": "50000000000000000000" + "0x74d1a4d0c7524e018d4e06ed3b648092b5b6af2c": { + "balance": "0x2b5e3af16b1880000" }, - "24a750eae5874711116dd7d47b7186ce990d3103": { - "balance": "200000000000000000000" + "0x24a750eae5874711116dd7d47b7186ce990d3103": { + "balance": "0xad78ebc5ac6200000" }, - "a8e42a4e33d7526cca19d9a36dcd6e8040d0ea73": { - "balance": "1080000000000000000000" + "0xa8e42a4e33d7526cca19d9a36dcd6e8040d0ea73": { + "balance": "0x3a8c02c5ea2de00000" }, - "3e1b2230afbbd310b4926a4c776d5ae7819c661d": { - "balance": "30000000000000000000000" + "0x3e1b2230afbbd310b4926a4c776d5ae7819c661d": { + "balance": "0x65a4da25d3016c00000" }, - "6af9f0dfeeaebb5f64bf91ab771669bf05295553": { - "balance": "400000000000000000000" + "0x6af9f0dfeeaebb5f64bf91ab771669bf05295553": { + "balance": "0x15af1d78b58c400000" }, - "41e4a20275e39bdcefeb655c0322744b765140c2": { - "balance": "10000000000000000000000" + "0x41e4a20275e39bdcefeb655c0322744b765140c2": { + "balance": "0x21e19e0c9bab2400000" }, - "ceb089ec8a78337e8ef88de11b49e3dd910f748f": { - "balance": "1000000000000000000000" + "0xceb089ec8a78337e8ef88de11b49e3dd910f748f": { + "balance": "0x3635c9adc5dea00000" }, - "e6bcd30a8fa138c5d9e5f6c7d2da806992812dcd": { - "balance": "260000000000000000000000" + "0xe6bcd30a8fa138c5d9e5f6c7d2da806992812dcd": { + "balance": "0x370ea0d47cf61a800000" }, - "e08c60313106e3f9334fe6f7e7624d211130c077": { - "balance": "40000000000000000000" + "0xe08c60313106e3f9334fe6f7e7624d211130c077": { + "balance": "0x22b1c8c1227a00000" }, - "f5cffbba624e7eb321bc83c60ca68199b4e36671": { - "balance": "2000000000000000000000" + "0xf5cffbba624e7eb321bc83c60ca68199b4e36671": { + "balance": "0x6c6b935b8bbd400000" }, - "d7c2803ed7b0e0837351411a8e6637d168bc5b05": { - "balance": "29549015000000000000000" + "0xd7c2803ed7b0e0837351411a8e6637d168bc5b05": { + "balance": "0x641daf5c91bd9358000" }, - "0f3665d48e9f1419cd984fc7fa92788710c8f2e4": { - "balance": "2000000000000000000000" + "0x0f3665d48e9f1419cd984fc7fa92788710c8f2e4": { + "balance": "0x6c6b935b8bbd400000" }, - "b48921c9687d5510744584936e8886bdbf2df69b": { - "balance": "1000000000000000000000" + "0xb48921c9687d5510744584936e8886bdbf2df69b": { + "balance": "0x3635c9adc5dea00000" }, - "a94bbb8214cf8da0c2f668a2ac73e86248528d4b": { - "balance": "960000000000000000000" + "0xa94bbb8214cf8da0c2f668a2ac73e86248528d4b": { + "balance": "0x340aad21b3b7000000" }, - "be0c2a80b9de084b172894a76cf4737a4f529e1a": { - "balance": "1999944000000000000000" + "0xbe0c2a80b9de084b172894a76cf4737a4f529e1a": { + "balance": "0x6c6acc67d7b1d40000" }, - "fcf199f8b854222f182e4e1d099d4e323e2aae01": { - "balance": "1000000000000000000000" + "0xfcf199f8b854222f182e4e1d099d4e323e2aae01": { + "balance": "0x3635c9adc5dea00000" }, - "b52dfb45de5d74e3df208332bc571c809b8dcf32": { - "balance": "6000000000000000000000" + "0xb52dfb45de5d74e3df208332bc571c809b8dcf32": { + "balance": "0x14542ba12a337c00000" }, - "704819d2e44d6ed1da25bfce84c49fcca25613e5": { - "balance": "400000000000000000000" + "0x704819d2e44d6ed1da25bfce84c49fcca25613e5": { + "balance": "0x15af1d78b58c400000" }, - "6ff6cc90d649de4e96cffee1077a5b302a848dcb": { - "balance": "28600000000000000000" + "0x6ff6cc90d649de4e96cffee1077a5b302a848dcb": { + "balance": "0x18ce79c78802c0000" }, - "4d9c77d0750c5e6fbc247f2fd79274686cb353d6": { - "balance": "20000000000000000000" + "0x4d9c77d0750c5e6fbc247f2fd79274686cb353d6": { + "balance": "0x1158e460913d00000" }, - "68e8022740f4af29eb48db32bcecddfd148d3de3": { - "balance": "1000000000000000000000" + "0x68e8022740f4af29eb48db32bcecddfd148d3de3": { + "balance": "0x3635c9adc5dea00000" }, - "2cb615073a40dcdb99faa848572e987b3b056efb": { - "balance": "799600000000000000000" + "0x2cb615073a40dcdb99faa848572e987b3b056efb": { + "balance": "0x2b58addb89a2580000" }, - "64adcceec53dd9d9dd15c8cc1a9e736de4241d2c": { - "balance": "56000000000000000000" + "0x64adcceec53dd9d9dd15c8cc1a9e736de4241d2c": { + "balance": "0x30927f74c9de00000" }, - "2aec809df9325b9f483996e99f7331097f08aa0e": { - "balance": "4000000000000000000000" + "0x2aec809df9325b9f483996e99f7331097f08aa0e": { + "balance": "0xd8d726b7177a800000" }, - "438c2f54ff8e629bab36b1442b760b12a88f02ae": { - "balance": "2000000000000000000000" + "0x438c2f54ff8e629bab36b1442b760b12a88f02ae": { + "balance": "0x6c6b935b8bbd400000" }, - "9e35399071a4a101e9194daa3f09f04a0b5f9870": { - "balance": "4000000000000000000000" + "0x9e35399071a4a101e9194daa3f09f04a0b5f9870": { + "balance": "0xd8d726b7177a800000" }, - "a5c336083b04f9471b8c6ed73679b74d66c363ec": { - "balance": "3014100000000000000000" + "0xa5c336083b04f9471b8c6ed73679b74d66c363ec": { + "balance": "0xa3650a4c9d20e20000" }, - "7ad3f307616f19dcb143e6444dab9c3c33611f52": { - "balance": "50000000000000000000" + "0x7ad3f307616f19dcb143e6444dab9c3c33611f52": { + "balance": "0x2b5e3af16b1880000" }, - "455cb8ee39ffbc752331e5aefc588ef0ee593454": { - "balance": "999963000000000000000" + "0x455cb8ee39ffbc752331e5aefc588ef0ee593454": { + "balance": "0x3635463a780def8000" }, - "c4c01afc3e0f045221da1284d7878574442fb9ac": { - "balance": "7419944000000000000000" + "0xc4c01afc3e0f045221da1284d7878574442fb9ac": { + "balance": "0x1923c688b73ab040000" }, - "99268327c373332e06c3f6164287d455b9d5fa4b": { - "balance": "2000000000000000000000" + "0x99268327c373332e06c3f6164287d455b9d5fa4b": { + "balance": "0x6c6b935b8bbd400000" }, - "4367ae4b0ce964f4a54afd4b5c368496db169e9a": { - "balance": "2000000000000000000000" + "0x4367ae4b0ce964f4a54afd4b5c368496db169e9a": { + "balance": "0x6c6b935b8bbd400000" }, - "2cd79eb52027b12c18828e3eaab2969bfcd287e9": { - "balance": "20000000000000000000" + "0x2cd79eb52027b12c18828e3eaab2969bfcd287e9": { + "balance": "0x1158e460913d00000" }, - "b96841cabbc7dbd69ef0cf8f81dff3c8a5e21570": { - "balance": "12000000000000000000000" + "0xb96841cabbc7dbd69ef0cf8f81dff3c8a5e21570": { + "balance": "0x28a857425466f800000" }, - "d7ebddb9f93987779b680155375438db65afcb6a": { - "balance": "100600000000000000000" + "0xd7ebddb9f93987779b680155375438db65afcb6a": { + "balance": "0x5741afeff944c0000" }, - "0631d18bbbbd30d9e1732bf36edae2ce8901ab80": { - "balance": "3024800000000000000000" + "0x0631d18bbbbd30d9e1732bf36edae2ce8901ab80": { + "balance": "0xa3f98855ec39900000" }, - "5fad960f6b2c84569c9f4d47bf1985fcb2c65da6": { - "balance": "999972000000000000000" + "0x5fad960f6b2c84569c9f4d47bf1985fcb2c65da6": { + "balance": "0x36356633ebd8ea0000" }, - "01d599ee0d5f8c38ab2d392e2c65b74c3ce31820": { - "balance": "510000000000000000000" + "0x01d599ee0d5f8c38ab2d392e2c65b74c3ce31820": { + "balance": "0x1ba5abf9e779380000" }, - "ff0cc8dac824fa24fc3caa2169e6e057cf638ad6": { - "balance": "4000000000000000000000" + "0xff0cc8dac824fa24fc3caa2169e6e057cf638ad6": { + "balance": "0xd8d726b7177a800000" }, - "c25266c7676632f13ef29be455ed948add567792": { - "balance": "1337000000000000000000" + "0xc25266c7676632f13ef29be455ed948add567792": { + "balance": "0x487a9a304539440000" }, - "9c344098ba615a398f11d009905b177c44a7b602": { - "balance": "1000000000000000000000" + "0x9c344098ba615a398f11d009905b177c44a7b602": { + "balance": "0x3635c9adc5dea00000" }, - "3b0accaf4b607cfe61d17334c214b75cdefdbd89": { - "balance": "2000000000000000000000" + "0x3b0accaf4b607cfe61d17334c214b75cdefdbd89": { + "balance": "0x6c6b935b8bbd400000" }, - "6d6634b5b8a40195d949027af4828802092ceeb6": { - "balance": "3000000000000000000000" + "0x6d6634b5b8a40195d949027af4828802092ceeb6": { + "balance": "0xa2a15d09519be00000" }, - "208c45732c0a378f17ac8324926d459ba8b658b4": { - "balance": "2955000000000000000000" + "0x208c45732c0a378f17ac8324926d459ba8b658b4": { + "balance": "0xa030dcebbd2f4c0000" }, - "c24399b4bf86f7338fbf645e3b22b0e0b7973912": { - "balance": "2000000000000000000000" + "0xc24399b4bf86f7338fbf645e3b22b0e0b7973912": { + "balance": "0x6c6b935b8bbd400000" }, - "29763dd6da9a7c161173888321eba6b63c8fb845": { - "balance": "328000000000000000000" + "0x29763dd6da9a7c161173888321eba6b63c8fb845": { + "balance": "0x11c7ea162e78200000" }, - "9c2fd54089af665df5971d73b804616039647375": { - "balance": "1000000000000000000000" + "0x9c2fd54089af665df5971d73b804616039647375": { + "balance": "0x3635c9adc5dea00000" }, - "0e09646c99af438e99fa274cb2f9c856cb65f736": { - "balance": "1910000000000000000000" + "0x0e09646c99af438e99fa274cb2f9c856cb65f736": { + "balance": "0x678a932062e4180000" }, - "be73274d8c5aa44a3cbefc8263c37ba121b20ad3": { - "balance": "500000000000000000000" + "0xbe73274d8c5aa44a3cbefc8263c37ba121b20ad3": { + "balance": "0x1b1ae4d6e2ef500000" }, - "ecfd004d02f36cd4d8b4a8c1a9533b6af85cd716": { - "balance": "5003800000000000000000" + "0xecfd004d02f36cd4d8b4a8c1a9533b6af85cd716": { + "balance": "0x10f41acb4bb3b9c0000" }, - "f978b025b64233555cc3c19ada7f4199c9348bf7": { - "balance": "400000000000000000000000" + "0xf978b025b64233555cc3c19ada7f4199c9348bf7": { + "balance": "0x54b40b1f852bda000000" }, - "705ddd38355482b8c7d3b515bda1500dd7d7a817": { - "balance": "400000000000000000000" + "0x705ddd38355482b8c7d3b515bda1500dd7d7a817": { + "balance": "0x15af1d78b58c400000" }, - "2b8a0dee5cb0e1e97e15cfca6e19ad21f995efad": { - "balance": "504206000000000000000" + "0x2b8a0dee5cb0e1e97e15cfca6e19ad21f995efad": { + "balance": "0x1b55438d9a249b0000" }, - "1098cc20ef84bad5146639c4cd1ca6c3996cb99b": { - "balance": "18200000000000000000" + "0x1098cc20ef84bad5146639c4cd1ca6c3996cb99b": { + "balance": "0xfc936392801c0000" }, - "afdac5c1cb56e245bf70330066a817eaafac4cd1": { - "balance": "20000000000000000000" + "0xafdac5c1cb56e245bf70330066a817eaafac4cd1": { + "balance": "0x1158e460913d00000" }, - "910e996543344c6815fb97cda7af4b8698765a5b": { - "balance": "103400000000000000000" + "0x910e996543344c6815fb97cda7af4b8698765a5b": { + "balance": "0x59af69829cf640000" }, - "94612781033b57b146ee74e753c672017f5385e4": { - "balance": "3600000000000000000000" + "0x94612781033b57b146ee74e753c672017f5385e4": { + "balance": "0xc328093e61ee400000" }, - "d03fc165576aaed525e5502c8e140f8b2e869639": { - "balance": "6850000000000000000000" + "0xd03fc165576aaed525e5502c8e140f8b2e869639": { + "balance": "0x17356d8b32501c80000" }, - "293384c42b6f8f2905ce52b7205c2274376c612b": { - "balance": "1400000000000000000000" + "0x293384c42b6f8f2905ce52b7205c2274376c612b": { + "balance": "0x4be4e7267b6ae00000" }, - "09ee12b1b42b05af9cf207d5fcac255b2ec411f2": { - "balance": "58929000000000000000" + "0x09ee12b1b42b05af9cf207d5fcac255b2ec411f2": { + "balance": "0x331cddd47e0fe8000" }, - "dbd71efa4b93c889e76593de609c3b04cbafbe08": { - "balance": "20000000000000000000" + "0xdbd71efa4b93c889e76593de609c3b04cbafbe08": { + "balance": "0x1158e460913d00000" }, - "fa86ca27bf2854d98870837fb6f6dfe4bf6453fc": { - "balance": "322061000000000000000" + "0xfa86ca27bf2854d98870837fb6f6dfe4bf6453fc": { + "balance": "0x11757e8525cf148000" }, - "61ff8e67b34d9ee6f78eb36ffea1b9f7c15787af": { - "balance": "1640000000000000000000" + "0x61ff8e67b34d9ee6f78eb36ffea1b9f7c15787af": { + "balance": "0x58e7926ee858a00000" }, - "6d4cbf3d8284833ae99344303e08b4d614bfda3b": { - "balance": "12000000000000000000000" + "0x6d4cbf3d8284833ae99344303e08b4d614bfda3b": { + "balance": "0x28a857425466f800000" }, - "2ff160c44f72a299b5ec2d71e28ce5446d2fcbaf": { - "balance": "360000000000000000000" + "0x2ff160c44f72a299b5ec2d71e28ce5446d2fcbaf": { + "balance": "0x138400eca364a00000" }, - "94a7cda8f481f9d89d42c303ae1632b3b709db1d": { - "balance": "300000000000000000000" + "0x94a7cda8f481f9d89d42c303ae1632b3b709db1d": { + "balance": "0x1043561a8829300000" }, - "7566496162ba584377be040a4f87777a707acaeb": { - "balance": "4000000000000000000000" + "0x7566496162ba584377be040a4f87777a707acaeb": { + "balance": "0xd8d726b7177a800000" }, - "bdc461462b6322b462bdb33f22799e8108e2417d": { - "balance": "668500000000000000000" + "0xbdc461462b6322b462bdb33f22799e8108e2417d": { + "balance": "0x243d4d18229ca20000" }, - "7e47637e97c14622882be057bea229386f4052e5": { - "balance": "440000000000000000000" + "0x7e47637e97c14622882be057bea229386f4052e5": { + "balance": "0x17da3a04c7b3e00000" }, - "3b5c251d7fd7893ba209fe541cecd0ce253a990d": { - "balance": "30000000000000000000000" + "0x3b5c251d7fd7893ba209fe541cecd0ce253a990d": { + "balance": "0x65a4da25d3016c00000" }, - "0e498800447177b8c8afc3fdfa7f69f4051bb629": { - "balance": "2140234000000000000000" + "0x0e498800447177b8c8afc3fdfa7f69f4051bb629": { + "balance": "0x7405b69b8de5610000" }, - "b71623f35107cf7431a83fb3d204b29ee0b1a7f4": { - "balance": "19700000000000000000" + "0xb71623f35107cf7431a83fb3d204b29ee0b1a7f4": { + "balance": "0x11164759ffb320000" }, - "1d395b30adda1cf21f091a4f4a7b753371189441": { - "balance": "100000000000000000000000" + "0x1d395b30adda1cf21f091a4f4a7b753371189441": { + "balance": "0x152d02c7e14af6800000" }, - "2c2428e4a66974edc822d5dbfb241b2728075158": { - "balance": "2000000000000000000000" + "0x2c2428e4a66974edc822d5dbfb241b2728075158": { + "balance": "0x6c6b935b8bbd400000" }, - "a575f2891dcfcda83c5cf01474af11ee01b72dc2": { - "balance": "100076000000000000000" + "0xa575f2891dcfcda83c5cf01474af11ee01b72dc2": { + "balance": "0x56cd55fc64dfe0000" }, - "ad728121873f0456d0518b80ab6580a203706595": { - "balance": "500000000000000000000" + "0xad728121873f0456d0518b80ab6580a203706595": { + "balance": "0x1b1ae4d6e2ef500000" }, - "48669eb5a801d8b75fb6aa58c3451b7058c243bf": { - "balance": "30940000000000000000000" + "0x48669eb5a801d8b75fb6aa58c3451b7058c243bf": { + "balance": "0x68d42c138dab9f00000" }, - "b3ae54fba09d3ee1d6bdd1e957923919024c35fa": { - "balance": "65513000000000000000" + "0xb3ae54fba09d3ee1d6bdd1e957923919024c35fa": { + "balance": "0x38d2cee65b22a8000" }, - "0d35408f226566116fb8acdaa9e2c9d59b76683f": { - "balance": "940000000000000000000" + "0x0d35408f226566116fb8acdaa9e2c9d59b76683f": { + "balance": "0x32f51edbaaa3300000" }, - "df211cd21288d6c56fae66c3ff54625dd4b15427": { - "balance": "2500024000000000000000" + "0xdf211cd21288d6c56fae66c3ff54625dd4b15427": { + "balance": "0x8786cd764e1f2c0000" }, - "8a746c5d67064711bfca685b95a4fe291a27028e": { - "balance": "40000000000000000000" + "0x8a746c5d67064711bfca685b95a4fe291a27028e": { + "balance": "0x22b1c8c1227a00000" }, - "1cf105ab23023b554c583e86d7921179ee83169f": { - "balance": "1970000000000000000000" + "0x1cf105ab23023b554c583e86d7921179ee83169f": { + "balance": "0x6acb3df27e1f880000" }, - "8cfedef198db0a9143f09129b3fd64dcbb9b4956": { - "balance": "2000000000000000000000" + "0x8cfedef198db0a9143f09129b3fd64dcbb9b4956": { + "balance": "0x6c6b935b8bbd400000" }, - "1e381adcf801a3bf9fd7bfac9ccc2b8482ad5e66": { - "balance": "600200000000000000000" + "0x1e381adcf801a3bf9fd7bfac9ccc2b8482ad5e66": { + "balance": "0x208972c0010d740000" }, - "e74608f506866ada6bfbfdf20fea440be76989ef": { - "balance": "1999944000000000000000" + "0xe74608f506866ada6bfbfdf20fea440be76989ef": { + "balance": "0x6c6acc67d7b1d40000" }, - "27e63989ca1e903bc620cf1b9c3f67b9e2ae6581": { - "balance": "1337000000000000000000" + "0x27e63989ca1e903bc620cf1b9c3f67b9e2ae6581": { + "balance": "0x487a9a304539440000" }, - "bb0857f1c911b24b86c8a70681473fe6aaa1cce2": { - "balance": "100000000000000000000" + "0xbb0857f1c911b24b86c8a70681473fe6aaa1cce2": { + "balance": "0x56bc75e2d63100000" }, - "4f8e8d274fb22a3fd36a47fe72980471544b3434": { - "balance": "200000000000000000000" + "0x4f8e8d274fb22a3fd36a47fe72980471544b3434": { + "balance": "0xad78ebc5ac6200000" }, - "127d3fc5003bf63c0d83e93957836515fd279045": { - "balance": "111890000000000000000" + "0x127d3fc5003bf63c0d83e93957836515fd279045": { + "balance": "0x610c9222e6e750000" }, - "95809e8da3fbe4b7f281f0b8b1715f420f7d7d63": { - "balance": "2000000000000000000000" + "0x95809e8da3fbe4b7f281f0b8b1715f420f7d7d63": { + "balance": "0x6c6b935b8bbd400000" }, - "28904bb7c4302943b709b14d7970e42b8324e1a1": { - "balance": "10027500000000000000000" + "0x28904bb7c4302943b709b14d7970e42b8324e1a1": { + "balance": "0x21f97846a072d7e0000" }, - "c07e3867ada096807a051a6c9c34cc3b3f4ad34a": { - "balance": "1788210000000000000000" + "0xc07e3867ada096807a051a6c9c34cc3b3f4ad34a": { + "balance": "0x60f06620a849450000" }, - "f0b469eae89d400ce7d5d66a9695037036b88903": { - "balance": "20000000000000000000000" + "0xf0b469eae89d400ce7d5d66a9695037036b88903": { + "balance": "0x43c33c1937564800000" }, - "7445202f0c74297a004eb3726aa6a82dd7c02fa1": { - "balance": "2000000000000000000000" + "0x7445202f0c74297a004eb3726aa6a82dd7c02fa1": { + "balance": "0x6c6b935b8bbd400000" }, - "c58f62fee9711e6a05dc0910b618420aa127f288": { - "balance": "3980000000000000000000" + "0xc58f62fee9711e6a05dc0910b618420aa127f288": { + "balance": "0xd7c198710e66b00000" }, - "801d65c518b11d0e3f4f470221417013c8e53ec5": { - "balance": "4000000000000000000000" + "0x801d65c518b11d0e3f4f470221417013c8e53ec5": { + "balance": "0xd8d726b7177a800000" }, - "41010fc8baf8437d17a04369809a168a17ca56fb": { - "balance": "100000000000000000000" + "0x41010fc8baf8437d17a04369809a168a17ca56fb": { + "balance": "0x56bc75e2d63100000" }, - "a1998144968a5c70a6415554cefec2824690c4a5": { - "balance": "20000000000000000000" + "0xa1998144968a5c70a6415554cefec2824690c4a5": { + "balance": "0x1158e460913d00000" }, - "e9559185f166fc9513cc71116144ce2deb0f1d4b": { - "balance": "20000000000000000000000" + "0xe9559185f166fc9513cc71116144ce2deb0f1d4b": { + "balance": "0x43c33c1937564800000" }, - "ed5b4c41e762d942404373caf21ed4615d25e6c1": { - "balance": "2013960000000000000000" + "0xed5b4c41e762d942404373caf21ed4615d25e6c1": { + "balance": "0x6d2d4f3d9525b40000" }, - "665b000f0b772750cc3c217a5ef429a92bf1ccbb": { - "balance": "4000000000000000000000" + "0x665b000f0b772750cc3c217a5ef429a92bf1ccbb": { + "balance": "0xd8d726b7177a800000" }, - "febd9f81cf78bd5fb6c4b9a24bd414bb9bfa4c4e": { - "balance": "1990019000000000000000" + "0xfebd9f81cf78bd5fb6c4b9a24bd414bb9bfa4c4e": { + "balance": "0x6be10fb8ed6e138000" }, - "a072691c8dd7cd4237ff72a75c1a9506d0ce5b9e": { - "balance": "370000000000000000000" + "0xa072691c8dd7cd4237ff72a75c1a9506d0ce5b9e": { + "balance": "0x140ec80fa7ee880000" }, - "6765df25280e8e4f38d4b1cf446fc5d7eb659e34": { - "balance": "100000000000000000000" + "0x6765df25280e8e4f38d4b1cf446fc5d7eb659e34": { + "balance": "0x56bc75e2d63100000" }, - "524fb210522c5e23bb67dfbf8c26aa616da49955": { - "balance": "999971000000000000000" + "0x524fb210522c5e23bb67dfbf8c26aa616da49955": { + "balance": "0x363562a66d34238000" }, - "e987e6139e6146a717fef96bc24934a5447fe05d": { - "balance": "2000000000000000000000" + "0xe987e6139e6146a717fef96bc24934a5447fe05d": { + "balance": "0x6c6b935b8bbd400000" }, - "d6110276cfe31e42825a577f6b435dbcc10cf764": { - "balance": "1000000000000000000000" + "0xd6110276cfe31e42825a577f6b435dbcc10cf764": { + "balance": "0x3635c9adc5dea00000" }, - "5e51b8a3bb09d303ea7c86051582fd600fb3dc1a": { - "balance": "20000000000000000000" + "0x5e51b8a3bb09d303ea7c86051582fd600fb3dc1a": { + "balance": "0x1158e460913d00000" }, - "5c4f24e994ed8f850ea7818f471c8fac3bcf0452": { - "balance": "1724800000000000000000" + "0x5c4f24e994ed8f850ea7818f471c8fac3bcf0452": { + "balance": "0x5d80688d9e31c00000" }, - "85b2998d0c73302cb2ba13f489313301e053be15": { - "balance": "10000000000000000000000" + "0x85b2998d0c73302cb2ba13f489313301e053be15": { + "balance": "0x21e19e0c9bab2400000" }, - "0af6c8d539c96d50259e1ba6719e9c8060f388c2": { - "balance": "1000000000000000000000" + "0x0af6c8d539c96d50259e1ba6719e9c8060f388c2": { + "balance": "0x3635c9adc5dea00000" }, - "7d901b28bf7f88ef73d8f73cca97564913ea8a24": { - "balance": "955000000000000000000" + "0x7d901b28bf7f88ef73d8f73cca97564913ea8a24": { + "balance": "0x33c5499031720c0000" }, - "e01859f242f1a0ec602fa8a3b0b57640ec89075e": { - "balance": "555000000000000000000" + "0xe01859f242f1a0ec602fa8a3b0b57640ec89075e": { + "balance": "0x1e162c177be5cc0000" }, - "c66ae4cee87fb3353219f77f1d6486c580280332": { - "balance": "29550000000000000000" + "0xc66ae4cee87fb3353219f77f1d6486c580280332": { + "balance": "0x19a16b06ff8cb0000" }, - "2d40558b06f90a3923145592123b6774e46e31f4": { - "balance": "1000000000000000000000" + "0x2d40558b06f90a3923145592123b6774e46e31f4": { + "balance": "0x3635c9adc5dea00000" }, - "ccf43975b76bfe735fec3cb7d4dd24f805ba0962": { - "balance": "60000000000000000000" + "0xccf43975b76bfe735fec3cb7d4dd24f805ba0962": { + "balance": "0x340aad21b3b700000" }, - "1703b4b292b8a9deddede81bb25d89179f6446b6": { - "balance": "19690000000000000000000" + "0x1703b4b292b8a9deddede81bb25d89179f6446b6": { + "balance": "0x42b65a455e8b1680000" }, - "0e9096d343c060db581a120112b278607ec6e52b": { - "balance": "20000000000000000000" + "0x0e9096d343c060db581a120112b278607ec6e52b": { + "balance": "0x1158e460913d00000" }, - "f65819ac4cc14c137f05dd7977c7dae08d1a4ab5": { - "balance": "102000000000000000000" + "0xf65819ac4cc14c137f05dd7977c7dae08d1a4ab5": { + "balance": "0x58788cb94b1d80000" }, - "ca373fe3c906b8c6559ee49ccd07f37cd4fb5266": { - "balance": "1790000000000000000000" + "0xca373fe3c906b8c6559ee49ccd07f37cd4fb5266": { + "balance": "0x61093d7c2c6d380000" }, - "d28298524df5ec4b24b0ffb9df85170a145a9eb5": { - "balance": "287700000000000000000" + "0xd28298524df5ec4b24b0ffb9df85170a145a9eb5": { + "balance": "0xf98a3b9b337e20000" }, - "5fcda847aaf8d7fa8bca08029ca2849166aa15a3": { - "balance": "623350000000000000000" + "0x5fcda847aaf8d7fa8bca08029ca2849166aa15a3": { + "balance": "0x21cab81259a3bf0000" }, - "bdc739a699700b2e8e2c4a4c7b058a0e513ddebe": { - "balance": "2000000000000000000000" + "0xbdc739a699700b2e8e2c4a4c7b058a0e513ddebe": { + "balance": "0x6c6b935b8bbd400000" }, - "0bb05f7224bb5804856556c07eeadbed87ba8f7c": { - "balance": "401100000000000000000" + "0x0bb05f7224bb5804856556c07eeadbed87ba8f7c": { + "balance": "0x15be6174e1912e0000" }, - "ab416fe30d58afe5d9454c7fce7f830bcc750356": { - "balance": "114515000000000000000" + "0xab416fe30d58afe5d9454c7fce7f830bcc750356": { + "balance": "0x6353701c605db8000" }, - "3eee6f1e96360b7689b3069adaf9af8eb60ce481": { - "balance": "1000000000000000000000" + "0x3eee6f1e96360b7689b3069adaf9af8eb60ce481": { + "balance": "0x3635c9adc5dea00000" }, - "9a0d3cee3d9892ea3b3700a27ff84140d9025493": { - "balance": "60000000000000000000" + "0x9a0d3cee3d9892ea3b3700a27ff84140d9025493": { + "balance": "0x340aad21b3b700000" }, - "5dc36de5359450a1ec09cb0c44cf2bb42b3ae435": { - "balance": "1117500000000000000000" + "0x5dc36de5359450a1ec09cb0c44cf2bb42b3ae435": { + "balance": "0x3c946d893b33060000" }, - "35c8adc11125432b3b77acd64625fe58ebee9d66": { - "balance": "2000000000000000000000" + "0x35c8adc11125432b3b77acd64625fe58ebee9d66": { + "balance": "0x6c6b935b8bbd400000" }, - "a5e9cd4b74255d22b7d9b27ae8dd43ed6ed0252b": { - "balance": "766527000000000000000" + "0xa5e9cd4b74255d22b7d9b27ae8dd43ed6ed0252b": { + "balance": "0x298db2f54411d98000" }, - "31ea12d49a35a740780ddeeaece84c0835b26270": { - "balance": "200000000000000000000" + "0x31ea12d49a35a740780ddeeaece84c0835b26270": { + "balance": "0xad78ebc5ac6200000" }, - "7aef7b551f0b9c46e755c0f38e5b3a73fe1199f5": { - "balance": "1490000000000000000000" + "0x7aef7b551f0b9c46e755c0f38e5b3a73fe1199f5": { + "balance": "0x50c5e761a444080000" }, - "cc6d7b12061bc96d104d606d65ffa32b0036eb07": { - "balance": "10000000000000000000000" + "0xcc6d7b12061bc96d104d606d65ffa32b0036eb07": { + "balance": "0x21e19e0c9bab2400000" }, - "322021022678a0166d204b3aaa7ad4ec4b88b7d0": { - "balance": "400000000000000000000" + "0x322021022678a0166d204b3aaa7ad4ec4b88b7d0": { + "balance": "0x15af1d78b58c400000" }, - "b31196714a48dff726ea9433cd2912f1a414b3b3": { - "balance": "2680000000000000000000" + "0xb31196714a48dff726ea9433cd2912f1a414b3b3": { + "balance": "0x914878a8c05ee00000" }, - "0f2fb884c8aaff6f543ac6228bd08e4f60b0a5fd": { - "balance": "3145000000000000000000" + "0x0f2fb884c8aaff6f543ac6228bd08e4f60b0a5fd": { + "balance": "0xaa7da485136b840000" }, - "7d9d221a3df89ddd7b5f61c1468c6787d6b333e6": { - "balance": "138000000000000000000" + "0x7d9d221a3df89ddd7b5f61c1468c6787d6b333e6": { + "balance": "0x77b227cd83be80000" }, - "367f59cc82795329384e41e1283115e791f26a01": { - "balance": "2000000000000000000000" + "0x367f59cc82795329384e41e1283115e791f26a01": { + "balance": "0x6c6b935b8bbd400000" }, - "fd9579f119bbc819a02b61e38d8803c942f24d32": { - "balance": "105600000000000000000" + "0xfd9579f119bbc819a02b61e38d8803c942f24d32": { + "balance": "0x5b97e9081d9400000" }, - "3e2f26235e137a7324e4dc154b5df5af46ea1a49": { - "balance": "22458000000000000000" + "0x3e2f26235e137a7324e4dc154b5df5af46ea1a49": { + "balance": "0x137aad8032db90000" }, - "4c1579af3312e4f88ae93c68e9449c2e9a68d9c4": { - "balance": "2000000000000000000000" + "0x4c1579af3312e4f88ae93c68e9449c2e9a68d9c4": { + "balance": "0x6c6b935b8bbd400000" }, - "ffb04726dfa41afdc819168418610472970d7bfc": { - "balance": "4000000000000000000000" + "0xffb04726dfa41afdc819168418610472970d7bfc": { + "balance": "0xd8d726b7177a800000" }, - "403c64896a75cad816a9105e18d8aa5bf80f238e": { - "balance": "985000000000000000000" + "0x403c64896a75cad816a9105e18d8aa5bf80f238e": { + "balance": "0x35659ef93f0fc40000" }, - "5cd588a14ec648ccf64729f9167aa7bf8be6eb3d": { - "balance": "1000000000000000000000" + "0x5cd588a14ec648ccf64729f9167aa7bf8be6eb3d": { + "balance": "0x3635c9adc5dea00000" }, - "24b2be118b16d8b2174769d17b4cf84f07ca946d": { - "balance": "2000000000000000000000" + "0x24b2be118b16d8b2174769d17b4cf84f07ca946d": { + "balance": "0x6c6b935b8bbd400000" }, - "d3bb59fa31258be62f8ed232f1a7d47b4a0b41ee": { - "balance": "100000000000000000000" + "0xd3bb59fa31258be62f8ed232f1a7d47b4a0b41ee": { + "balance": "0x56bc75e2d63100000" }, - "cc9ac715cd6f2610c52b58676456884297018b29": { - "balance": "13370000000000000000" + "0xcc9ac715cd6f2610c52b58676456884297018b29": { + "balance": "0xb98bc829a6f90000" }, - "6f2a31900e240395b19f159c1d00dfe4d898ebdf": { - "balance": "1999600000000000000000" + "0x6f2a31900e240395b19f159c1d00dfe4d898ebdf": { + "balance": "0x6c660645aa47180000" }, - "d60b247321a32a5affb96b1e279927cc584de943": { - "balance": "2265500000000000000000" + "0xd60b247321a32a5affb96b1e279927cc584de943": { + "balance": "0x7ad020d6ddd7760000" }, - "f7a1ade2d0f529123d1055f19b17919f56214e67": { - "balance": "500000000000000000000" + "0xf7a1ade2d0f529123d1055f19b17919f56214e67": { + "balance": "0x1b1ae4d6e2ef500000" }, - "bea00df17067a43a82bc1daecafb6c14300e89e6": { - "balance": "1820000000000000000000" + "0xbea00df17067a43a82bc1daecafb6c14300e89e6": { + "balance": "0x62a992e53a0af00000" }, - "a2968fc1c64bac0b7ae0d68ba949874d6db253f4": { - "balance": "20000000000000000000000" + "0xa2968fc1c64bac0b7ae0d68ba949874d6db253f4": { + "balance": "0x43c33c1937564800000" }, - "92d8ad9a4d61683b80d4a6672e84c20d62421e80": { - "balance": "20000000000000000000" + "0x92d8ad9a4d61683b80d4a6672e84c20d62421e80": { + "balance": "0x1158e460913d00000" }, - "6ed2a12b02f8c688c7b5d3a6ea14d63687dab3b6": { - "balance": "2000000000000000000000" + "0x6ed2a12b02f8c688c7b5d3a6ea14d63687dab3b6": { + "balance": "0x6c6b935b8bbd400000" }, - "7a63869fc767a4c6b1cd0e0649f3634cb121d24b": { - "balance": "77500000000000000000" + "0x7a63869fc767a4c6b1cd0e0649f3634cb121d24b": { + "balance": "0x433874f632cc60000" }, - "84f522f0520eba52dd18ad21fa4b829f2b89cb97": { - "balance": "4949566000000000000000" + "0x84f522f0520eba52dd18ad21fa4b829f2b89cb97": { + "balance": "0x10c5106d5134f130000" }, - "d6234aaf45c6f22e66a225ffb93add629b4ef80f": { - "balance": "1000000000000000000000" + "0xd6234aaf45c6f22e66a225ffb93add629b4ef80f": { + "balance": "0x3635c9adc5dea00000" }, - "e3d8bf4efe84b1616d1b89e427ddc6c8830685ae": { - "balance": "2000000000000000000000" + "0xe3d8bf4efe84b1616d1b89e427ddc6c8830685ae": { + "balance": "0x6c6b935b8bbd400000" }, - "a3db364a332d884ba93b2617ae4d85a1489bea47": { - "balance": "1700000000000000000000" + "0xa3db364a332d884ba93b2617ae4d85a1489bea47": { + "balance": "0x5c283d410394100000" }, - "9f7986924aeb02687cd64189189fb167ded2dd5c": { - "balance": "985000000000000000000" + "0x9f7986924aeb02687cd64189189fb167ded2dd5c": { + "balance": "0x35659ef93f0fc40000" }, - "2eaf4e2a46b789ccc288c8d1d9294e3fb0853896": { - "balance": "2000000000000000000000" + "0x2eaf4e2a46b789ccc288c8d1d9294e3fb0853896": { + "balance": "0x6c6b935b8bbd400000" }, - "a02dc6aa328b880de99eac546823fccf774047fb": { - "balance": "1970000000000000000000" + "0xa02dc6aa328b880de99eac546823fccf774047fb": { + "balance": "0x6acb3df27e1f880000" }, - "873b7f786d3c99ff012c4a7cae2677270240b9c5": { - "balance": "1730000000000000000000" + "0x873b7f786d3c99ff012c4a7cae2677270240b9c5": { + "balance": "0x5dc892aa1131c80000" }, - "1d69c83d28ff0474ceebeacb3ad227a144ece7a3": { - "balance": "5474937000000000000000" + "0x1d69c83d28ff0474ceebeacb3ad227a144ece7a3": { + "balance": "0x128cc03920a62d28000" }, - "7b827cae7ff4740918f2e030ab26cb98c4f46cf5": { - "balance": "7460000000000000000000" + "0x7b827cae7ff4740918f2e030ab26cb98c4f46cf5": { + "balance": "0x194684c0b39de100000" }, - "3083ef0ed4c4401196774a95cf4edc83edc1484f": { - "balance": "170000000000000000000000" + "0x3083ef0ed4c4401196774a95cf4edc83edc1484f": { + "balance": "0x23ffb7ed6565d6400000" }, - "40ad74bc0bce2a45e52f36c3debb1b3ada1b7619": { - "balance": "6790000000000000000000" + "0x40ad74bc0bce2a45e52f36c3debb1b3ada1b7619": { + "balance": "0x170162de109c6580000" }, - "05423a54c8d0f9707e704173d923b946edc8e700": { - "balance": "127543000000000000000" + "0x05423a54c8d0f9707e704173d923b946edc8e700": { + "balance": "0x6ea03c2bf8ba58000" }, - "22eb7db0ba56b0f8b816ccb206e615d929185b0d": { - "balance": "80500000000000000000" + "0x22eb7db0ba56b0f8b816ccb206e615d929185b0d": { + "balance": "0x45d29737e22f20000" }, - "66082c75a8de31a53913bbd44de3a0374f7faa41": { - "balance": "1460000000000000000000" + "0x66082c75a8de31a53913bbd44de3a0374f7faa41": { + "balance": "0x4f2591f896a6500000" }, - "e3d3eaa299887865569e88be219be507189be1c9": { - "balance": "456156000000000000000" + "0xe3d3eaa299887865569e88be219be507189be1c9": { + "balance": "0x18ba6fa92e93160000" }, - "ae57cc129a96a89981dac60d2ffb877d5dc5e432": { - "balance": "1110994000000000000000" + "0xae57cc129a96a89981dac60d2ffb877d5dc5e432": { + "balance": "0x3c3a2394b396550000" }, - "1a2434cc774422d48d53d59c5d562cce8407c94b": { - "balance": "30000000000000000000" + "0x1a2434cc774422d48d53d59c5d562cce8407c94b": { + "balance": "0x1a055690d9db80000" }, - "21546914dfd3af2add41b0ff3e83ffda7414e1e0": { - "balance": "5969100000000000000000" + "0x21546914dfd3af2add41b0ff3e83ffda7414e1e0": { + "balance": "0x14395e7385a502e0000" }, - "4dcf62a3de3f061db91498fd61060f1f6398ff73": { - "balance": "1999944000000000000000" + "0x4dcf62a3de3f061db91498fd61060f1f6398ff73": { + "balance": "0x6c6acc67d7b1d40000" }, - "6fd98e563d12ce0fd60f4f1f850ae396a9823c02": { - "balance": "1261000000000000000000" + "0x6fd98e563d12ce0fd60f4f1f850ae396a9823c02": { + "balance": "0x445be3f2ef87940000" }, - "edf8a3e1d40f13b79ec8e3e1ecf262fd92116263": { - "balance": "158000000000000000000" + "0xedf8a3e1d40f13b79ec8e3e1ecf262fd92116263": { + "balance": "0x890b0c2e14fb80000" }, - "c09e3cfc19f605ff3ec9c9c70e2540d7ee974366": { - "balance": "500000000000000000000" + "0xc09e3cfc19f605ff3ec9c9c70e2540d7ee974366": { + "balance": "0x1b1ae4d6e2ef500000" }, - "953572f0ea6df9b197cae40e4b8ecc056c4371c5": { - "balance": "1000000000000000000000" + "0x953572f0ea6df9b197cae40e4b8ecc056c4371c5": { + "balance": "0x3635c9adc5dea00000" }, - "163cc8be227646cb09719159f28ed09c5dc0dce0": { - "balance": "1337000000000000000000" + "0x163cc8be227646cb09719159f28ed09c5dc0dce0": { + "balance": "0x487a9a304539440000" }, - "a3932a31d6ff75fb3b1271ace7caa7d5e1ff1051": { - "balance": "20000000000000000000000" + "0xa3932a31d6ff75fb3b1271ace7caa7d5e1ff1051": { + "balance": "0x43c33c1937564800000" }, - "f9a94bd56198da245ed01d1e6430b24b2708dcc0": { - "balance": "749938000000000000000" + "0xf9a94bd56198da245ed01d1e6430b24b2708dcc0": { + "balance": "0x28a77afda87ee50000" }, - "3eb8b33b21d23cda86d8288884ab470e164691b5": { - "balance": "500000000000000000000" + "0x3eb8b33b21d23cda86d8288884ab470e164691b5": { + "balance": "0x1b1ae4d6e2ef500000" }, - "84bcbf22c09607ac84341d2edbc03bfb1739d744": { - "balance": "500000000000000000000" + "0x84bcbf22c09607ac84341d2edbc03bfb1739d744": { + "balance": "0x1b1ae4d6e2ef500000" }, - "961c59adc74505d1864d1ecfcb8afa0412593c93": { - "balance": "40000000000000000000000" + "0x961c59adc74505d1864d1ecfcb8afa0412593c93": { + "balance": "0x878678326eac9000000" }, - "f068dfe95d15cd3a7f98ffa688b4346842be2690": { - "balance": "1255160000000000000000" + "0xf068dfe95d15cd3a7f98ffa688b4346842be2690": { + "balance": "0x440ad819e0974c0000" }, - "291efe0081dce8c14799f7b2a43619c0c3b3fc1f": { - "balance": "1200000000000000000000" + "0x291efe0081dce8c14799f7b2a43619c0c3b3fc1f": { + "balance": "0x410d586a20a4c00000" }, - "be4fd073617022b67f5c13499b827f763639e4e3": { - "balance": "2000000000000000000000" + "0xbe4fd073617022b67f5c13499b827f763639e4e3": { + "balance": "0x6c6b935b8bbd400000" }, - "e40a7c82e157540a0b00901dbb86c716e1a062da": { - "balance": "49800000000000000000" + "0xe40a7c82e157540a0b00901dbb86c716e1a062da": { + "balance": "0x2b31d2425f6740000" }, - "6635b46f711d2da6f0e16370cd8ee43efb2c2d52": { - "balance": "2000000000000000000000" + "0x6635b46f711d2da6f0e16370cd8ee43efb2c2d52": { + "balance": "0x6c6b935b8bbd400000" }, - "43748928e8c3ec4436a1d092fbe43ac749be1251": { - "balance": "400000000000000000000" + "0x43748928e8c3ec4436a1d092fbe43ac749be1251": { + "balance": "0x15af1d78b58c400000" }, - "b557ab9439ef50d237b553f02508364a466a5c03": { - "balance": "200000000000000000000" + "0xb557ab9439ef50d237b553f02508364a466a5c03": { + "balance": "0xad78ebc5ac6200000" }, - "11928378d27d55c520ceedf24ceb1e822d890df0": { - "balance": "8000000000000000000000" + "0x11928378d27d55c520ceedf24ceb1e822d890df0": { + "balance": "0x1b1ae4d6e2ef5000000" }, - "61518464fdd8b73c1bb6ac6db600654938dbf17a": { - "balance": "200000000000000000000" + "0x61518464fdd8b73c1bb6ac6db600654938dbf17a": { + "balance": "0xad78ebc5ac6200000" }, - "004bfbe1546bc6c65b5c7eaa55304b38bbfec6d3": { - "balance": "2000000000000000000000" + "0x004bfbe1546bc6c65b5c7eaa55304b38bbfec6d3": { + "balance": "0x6c6b935b8bbd400000" }, - "a5e0fc3c3affed3db6710947d1d6fb017f3e276d": { - "balance": "2000000000000000000000" + "0xa5e0fc3c3affed3db6710947d1d6fb017f3e276d": { + "balance": "0x6c6b935b8bbd400000" }, - "8ecbcfacbfafe9f00c3922a24e2cf0026756ca20": { - "balance": "5640000000000000000000" + "0x8ecbcfacbfafe9f00c3922a24e2cf0026756ca20": { + "balance": "0x131beb925ffd3200000" }, - "fb5ffaa0f7615726357891475818939d2037cf96": { - "balance": "20000000000000000000" + "0xfb5ffaa0f7615726357891475818939d2037cf96": { + "balance": "0x1158e460913d00000" }, - "ae222865799079aaf4f0674a0cdaab02a6d570ff": { - "balance": "2000000000000000000000" + "0xae222865799079aaf4f0674a0cdaab02a6d570ff": { + "balance": "0x6c6b935b8bbd400000" }, - "9edc90f4be210865214ab5b35e5a8dd77415279d": { - "balance": "4000000000000000000000" + "0x9edc90f4be210865214ab5b35e5a8dd77415279d": { + "balance": "0xd8d726b7177a800000" }, - "9d7831e834c20b1baa697af1d8e0c621c5afff9a": { - "balance": "86500000000000000000" + "0x9d7831e834c20b1baa697af1d8e0c621c5afff9a": { + "balance": "0x4b06dbbb40f4a0000" }, - "046d274b1af615fb505a764ad8dda770b1db2f3d": { - "balance": "2000000000000000000000" + "0x046d274b1af615fb505a764ad8dda770b1db2f3d": { + "balance": "0x6c6b935b8bbd400000" }, - "eaea23aa057200e7c9c15e8ff190d0e66c0c0e83": { - "balance": "2000000000000000000000" + "0xeaea23aa057200e7c9c15e8ff190d0e66c0c0e83": { + "balance": "0x6c6b935b8bbd400000" }, - "417a3cd19496530a6d4204c3b5a17ce0f207b1a5": { - "balance": "8000000000000000000000" + "0x417a3cd19496530a6d4204c3b5a17ce0f207b1a5": { + "balance": "0x1b1ae4d6e2ef5000000" }, - "a035a3652478f82dbd6d115faa8ca946ec9e681d": { - "balance": "109880000000000000000" + "0xa035a3652478f82dbd6d115faa8ca946ec9e681d": { + "balance": "0x5f4e42dd4afec0000" }, - "4f5801b1eb30b712d8a0575a9a71ff965d4f34eb": { - "balance": "300000000000000000000" + "0x4f5801b1eb30b712d8a0575a9a71ff965d4f34eb": { + "balance": "0x1043561a8829300000" }, - "91dbb6aaad149585be47375c5d6de5ff09191518": { - "balance": "20000000000000000000000" + "0x91dbb6aaad149585be47375c5d6de5ff09191518": { + "balance": "0x43c33c1937564800000" }, - "d043a011ec4270ee7ec8b968737515e503f83028": { - "balance": "500000000000000000000" + "0xd043a011ec4270ee7ec8b968737515e503f83028": { + "balance": "0x1b1ae4d6e2ef500000" }, - "bb371c72c9f0316cea2bd9c6fbb4079e775429ef": { - "balance": "1760000000000000000000" + "0xbb371c72c9f0316cea2bd9c6fbb4079e775429ef": { + "balance": "0x5f68e8131ecf800000" }, - "aa1df92e51dff70b1973e0e924c66287b494a178": { - "balance": "534400000000000000000" + "0xaa1df92e51dff70b1973e0e924c66287b494a178": { + "balance": "0x1cf84a30a0a0c00000" }, - "bd5f46caab2c3d4b289396bbb07f203c4da82530": { - "balance": "80000000000000000000" + "0xbd5f46caab2c3d4b289396bbb07f203c4da82530": { + "balance": "0x4563918244f400000" }, - "4d29fc523a2c1629532121da9998e9b5ab9d1b45": { - "balance": "15800000000000000000" + "0x4d29fc523a2c1629532121da9998e9b5ab9d1b45": { + "balance": "0xdb44e049bb2c0000" }, - "addb26317227f45c87a2cb90dc4cfd02fb23caf8": { - "balance": "1000000000000000000000" + "0xaddb26317227f45c87a2cb90dc4cfd02fb23caf8": { + "balance": "0x3635c9adc5dea00000" }, - "52e46783329a769301b175009d346768f4c87ee4": { - "balance": "2000000000000000000000" + "0x52e46783329a769301b175009d346768f4c87ee4": { + "balance": "0x6c6b935b8bbd400000" }, - "caad9dc20d589ce428d8fda3a9d53a607b7988b5": { - "balance": "4000000000000000000000" + "0xcaad9dc20d589ce428d8fda3a9d53a607b7988b5": { + "balance": "0xd8d726b7177a800000" }, - "95034e1621865137cd4739b346dc17da3a27c34e": { - "balance": "1580000000000000000000" + "0x95034e1621865137cd4739b346dc17da3a27c34e": { + "balance": "0x55a6e79ccd1d300000" }, - "0c3239e2e841242db989a61518c22247e8c55208": { - "balance": "263656000000000000000" + "0x0c3239e2e841242db989a61518c22247e8c55208": { + "balance": "0xe4af6471734640000" }, - "5a0d609aae2332b137ab3b2f26615a808f37e433": { - "balance": "160000000000000000000000" + "0x5a0d609aae2332b137ab3b2f26615a808f37e433": { + "balance": "0x21e19e0c9bab24000000" }, - "2334c590c7a48769103045c5b6534c8a3469f44a": { - "balance": "17443200000000000000000" + "0x2334c590c7a48769103045c5b6534c8a3469f44a": { + "balance": "0x3b199073df72dc00000" }, - "ddfcca13f934f0cfbe231da13039d70475e6a1d0": { - "balance": "1000169000000000000000" + "0xddfcca13f934f0cfbe231da13039d70475e6a1d0": { + "balance": "0x3638221660a5aa8000" }, - "ee7288d91086d9e2eb910014d9ab90a02d78c2a0": { - "balance": "2000000000000000000000" + "0xee7288d91086d9e2eb910014d9ab90a02d78c2a0": { + "balance": "0x6c6b935b8bbd400000" }, - "fb91fb1a695553f0c68e21276decf0b83909b86d": { - "balance": "100016000000000000000" + "0xfb91fb1a695553f0c68e21276decf0b83909b86d": { + "balance": "0x56c003617af780000" }, - "38695fc7e1367ceb163ebb053751f9f68ddb07a0": { - "balance": "2000000000000000000000" + "0x38695fc7e1367ceb163ebb053751f9f68ddb07a0": { + "balance": "0x6c6b935b8bbd400000" }, - "65093b239bbfba23c7775ca7da5a8648a9f54cf7": { - "balance": "400000000000000000000" + "0x65093b239bbfba23c7775ca7da5a8648a9f54cf7": { + "balance": "0x15af1d78b58c400000" }, - "73d8fee3cb864dce22bb26ca9c2f086d5e95e63b": { - "balance": "1000000000000000000000" + "0x73d8fee3cb864dce22bb26ca9c2f086d5e95e63b": { + "balance": "0x3635c9adc5dea00000" }, - "f7155213449892744bc60f2e04400788bd041fdd": { - "balance": "66850000000000000000" + "0xf7155213449892744bc60f2e04400788bd041fdd": { + "balance": "0x39fbae8d042dd0000" }, - "d1a71b2d0858e83270085d95a3b1549650035e23": { - "balance": "14900000000000000000000" + "0xd1a71b2d0858e83270085d95a3b1549650035e23": { + "balance": "0x327bb09d06aa8500000" }, - "eac17b81ed5191fb0802aa54337313834107aaa4": { - "balance": "8000000000000000000000" + "0xeac17b81ed5191fb0802aa54337313834107aaa4": { + "balance": "0x1b1ae4d6e2ef5000000" }, - "bb076aac92208069ea318a31ff8eeb14b7e996e3": { - "balance": "149000000000000000000" + "0xbb076aac92208069ea318a31ff8eeb14b7e996e3": { + "balance": "0x813ca56906d340000" }, - "9f46e7c1e9078cae86305ac7060b01467d6685ee": { - "balance": "668500000000000000000" + "0x9f46e7c1e9078cae86305ac7060b01467d6685ee": { + "balance": "0x243d4d18229ca20000" }, - "1598127982f2f8ad3b6b8fc3cf27bf617801ba2b": { - "balance": "173000000000000000000" + "0x1598127982f2f8ad3b6b8fc3cf27bf617801ba2b": { + "balance": "0x960db77681e940000" }, - "e91dac0195b19e37b59b53f7c017c0b2395ba44c": { - "balance": "1880000000000000000000" + "0xe91dac0195b19e37b59b53f7c017c0b2395ba44c": { + "balance": "0x65ea3db75546600000" }, - "a436c75453ccca4a1f1b62e5c4a30d86dde4be68": { - "balance": "2000000000000000000000" + "0xa436c75453ccca4a1f1b62e5c4a30d86dde4be68": { + "balance": "0x6c6b935b8bbd400000" }, - "11001b89ed873e3aaec1155634b4681643986323": { - "balance": "1000000000000000000000" + "0x11001b89ed873e3aaec1155634b4681643986323": { + "balance": "0x3635c9adc5dea00000" }, - "ab93b26ece0a0aa21365afed1fa9aea31cd54468": { - "balance": "1608000000000000000000" + "0xab93b26ece0a0aa21365afed1fa9aea31cd54468": { + "balance": "0x572b7b98736c200000" }, - "e77febabdf080f0f5dca1d3f5766f2a79c0ffa7c": { - "balance": "1386000000000000000000" + "0xe77febabdf080f0f5dca1d3f5766f2a79c0ffa7c": { + "balance": "0x4b229d28a843680000" }, - "1c4af0e863d2656c8635bc6ffec8dd9928908cb5": { - "balance": "2000000000000000000000" + "0x1c4af0e863d2656c8635bc6ffec8dd9928908cb5": { + "balance": "0x6c6b935b8bbd400000" }, - "0c48ae62d1539788eba013d75ea60b64eeba4e80": { - "balance": "2213311000000000000000" + "0x0c48ae62d1539788eba013d75ea60b64eeba4e80": { + "balance": "0x77fbdc43e030998000" }, - "423cc4594cf4abb6368de59fd2b1230734612143": { - "balance": "2000000000000000000000" + "0x423cc4594cf4abb6368de59fd2b1230734612143": { + "balance": "0x6c6b935b8bbd400000" }, - "7f6b28c88421e4857e459281d78461692489d3fb": { - "balance": "2000000000000000000000" + "0x7f6b28c88421e4857e459281d78461692489d3fb": { + "balance": "0x6c6b935b8bbd400000" }, - "806854588ecce541495f81c28a290373df0274b2": { - "balance": "582000000000000000000" + "0x806854588ecce541495f81c28a290373df0274b2": { + "balance": "0x1f8cdf5c6e8d580000" }, - "dc76e85ba50b9b31ec1e2620bce6e7c8058c0eaf": { - "balance": "20000000000000000000" + "0xdc76e85ba50b9b31ec1e2620bce6e7c8058c0eaf": { + "balance": "0x1158e460913d00000" }, - "b00996b0566ecb3e7243b8227988dcb352c21899": { - "balance": "12000000000000000000000" + "0xb00996b0566ecb3e7243b8227988dcb352c21899": { + "balance": "0x28a857425466f800000" }, - "f5d14552b1dce0d6dc1f320da6ffc8a331cd6f0c": { - "balance": "1337000000000000000000" + "0xf5d14552b1dce0d6dc1f320da6ffc8a331cd6f0c": { + "balance": "0x487a9a304539440000" }, - "55a61b109480b5b2c4fcfdef92d90584160c0d35": { - "balance": "44700000000000000000" + "0x55a61b109480b5b2c4fcfdef92d90584160c0d35": { + "balance": "0x26c564d2b53f60000" }, - "b8947822d5ace7a6ad8326e95496221e0be6b73d": { - "balance": "20000000000000000000" + "0xb8947822d5ace7a6ad8326e95496221e0be6b73d": { + "balance": "0x1158e460913d00000" }, - "492de46aaf8f1d708d59d79af1d03ad2cb60902f": { - "balance": "2000000000000000000000" + "0x492de46aaf8f1d708d59d79af1d03ad2cb60902f": { + "balance": "0x6c6b935b8bbd400000" }, - "0e0d6633db1e0c7f234a6df163a10e0ab39c200f": { - "balance": "200000000000000000000" + "0x0e0d6633db1e0c7f234a6df163a10e0ab39c200f": { + "balance": "0xad78ebc5ac6200000" }, - "f8bf9c04874e5a77f38f4c38527e80c676f7b887": { - "balance": "2000000000000000000000" + "0xf8bf9c04874e5a77f38f4c38527e80c676f7b887": { + "balance": "0x6c6b935b8bbd400000" }, - "15528350e0d9670a2ea27f7b4a33b9c0f9621d21": { - "balance": "4000086000000000000000" + "0x15528350e0d9670a2ea27f7b4a33b9c0f9621d21": { + "balance": "0xd8d8583fa2d52f0000" }, - "eccf7a0457b566b346ca673a180f444130216ac3": { - "balance": "100000000000000000000" + "0xeccf7a0457b566b346ca673a180f444130216ac3": { + "balance": "0x56bc75e2d63100000" }, - "10cf560964ff83c1c9674c783c0f73fcd89943fc": { - "balance": "40000000000000000000000" + "0x10cf560964ff83c1c9674c783c0f73fcd89943fc": { + "balance": "0x878678326eac9000000" }, - "e7f06f699be31c440b43b4db0501ec0e25261644": { - "balance": "500000000000000000000" + "0xe7f06f699be31c440b43b4db0501ec0e25261644": { + "balance": "0x1b1ae4d6e2ef500000" }, - "b6ce4dc560fc73dc69fb7a62e388db7e72ea764f": { - "balance": "966000000000000000000" + "0xb6ce4dc560fc73dc69fb7a62e388db7e72ea764f": { + "balance": "0x345df169e9a3580000" }, - "f456055a11ab91ff668e2ec922961f2a23e3db25": { - "balance": "18200000000000000000" + "0xf456055a11ab91ff668e2ec922961f2a23e3db25": { + "balance": "0xfc936392801c0000" }, - "8dfbafbc0e5b5c86cd1ad697feea04f43188de96": { - "balance": "390060000000000000000" + "0x8dfbafbc0e5b5c86cd1ad697feea04f43188de96": { + "balance": "0x15252b7f5fa0de0000" }, - "085b4ab75d8362d914435cedee1daa2b1ee1a23b": { - "balance": "3880000000000000000000" + "0x085b4ab75d8362d914435cedee1daa2b1ee1a23b": { + "balance": "0xd255d112e103a00000" }, - "e400d651bb3f2d23d5f849e6f92d9c5795c43a8a": { - "balance": "2674000000000000000000" + "0xe400d651bb3f2d23d5f849e6f92d9c5795c43a8a": { + "balance": "0x90f534608a72880000" }, - "851aa91c82f42fad5dd8e8bb5ea69c8f3a5977d1": { - "balance": "148607000000000000000" + "0x851aa91c82f42fad5dd8e8bb5ea69c8f3a5977d1": { + "balance": "0x80e561f2578798000" }, - "4c935bb250778b3c4c7f7e07fc251fa630314aab": { - "balance": "1500000000000000000000" + "0x4c935bb250778b3c4c7f7e07fc251fa630314aab": { + "balance": "0x5150ae84a8cdf00000" }, - "ebd356156a383123343d48843bffed6103e866b3": { - "balance": "1970000000000000000000" + "0xebd356156a383123343d48843bffed6103e866b3": { + "balance": "0x6acb3df27e1f880000" }, - "da0b48e489d302b4b7bf204f957c1c9be383b0df": { - "balance": "2000000000000000000000" + "0xda0b48e489d302b4b7bf204f957c1c9be383b0df": { + "balance": "0x6c6b935b8bbd400000" }, - "7085ae7e7e4d932197b5c7858c00a3674626b7a5": { - "balance": "6000000000000000000000" + "0x7085ae7e7e4d932197b5c7858c00a3674626b7a5": { + "balance": "0x14542ba12a337c00000" }, - "5b06d1e6930c1054692b79e3dbe6ecce53966420": { - "balance": "205400000000000000000" + "0x5b06d1e6930c1054692b79e3dbe6ecce53966420": { + "balance": "0xb227f63be813c0000" }, - "8df53d96191471e059de51c718b983e4a51d2afd": { - "balance": "32000000000000000000000" + "0x8df53d96191471e059de51c718b983e4a51d2afd": { + "balance": "0x6c6b935b8bbd4000000" }, - "0678654ac6761db904a2f7e8595ec1eaac734308": { - "balance": "878000000000000000000" + "0x0678654ac6761db904a2f7e8595ec1eaac734308": { + "balance": "0x2f98b29c2818f80000" }, - "89fee30d1728d96cecc1dab3da2e771afbcfaa41": { - "balance": "1999944000000000000000" + "0x89fee30d1728d96cecc1dab3da2e771afbcfaa41": { + "balance": "0x6c6acc67d7b1d40000" }, - "59c5d06b170ee4d26eb0a0eb46cb7d90c1c91019": { - "balance": "10000000000000000000000" + "0x59c5d06b170ee4d26eb0a0eb46cb7d90c1c91019": { + "balance": "0x21e19e0c9bab2400000" }, - "2b129c26b75dde127f8320bd0f63410c92a9f876": { - "balance": "2200000000000000000000" + "0x2b129c26b75dde127f8320bd0f63410c92a9f876": { + "balance": "0x77432217e683600000" }, - "3d6ae053fcbc318d6fd0fbc353b8bf542e680d27": { - "balance": "14300000000000000000" + "0x3d6ae053fcbc318d6fd0fbc353b8bf542e680d27": { + "balance": "0xc673ce3c40160000" }, - "755a60bf522fbd8fff9723446b7e343a7068567e": { - "balance": "20000000000000000000000" + "0x755a60bf522fbd8fff9723446b7e343a7068567e": { + "balance": "0x43c33c1937564800000" }, - "947e11e5ea290d6fc3b38048979e0cd44ec7c17f": { - "balance": "2000000000000000000000" + "0x947e11e5ea290d6fc3b38048979e0cd44ec7c17f": { + "balance": "0x6c6b935b8bbd400000" }, - "711ecf77d71b3d0ea95ce4758afecdb9c131079d": { - "balance": "760000000000000000000" + "0x711ecf77d71b3d0ea95ce4758afecdb9c131079d": { + "balance": "0x29331e6558f0e00000" }, - "de9eff4c798811d968dccb460d9b069cf30278e0": { - "balance": "400000000000000000000" + "0xde9eff4c798811d968dccb460d9b069cf30278e0": { + "balance": "0x15af1d78b58c400000" }, - "4e892e8081bf36e488fddb3b2630f3f1e8da30d2": { - "balance": "12003800000000000000000" + "0x4e892e8081bf36e488fddb3b2630f3f1e8da30d2": { + "balance": "0x28aba30752451fc0000" }, - "8ede7e3dc50749c6c50e2e28168478c34db81946": { - "balance": "19999800000000000000000" + "0x8ede7e3dc50749c6c50e2e28168478c34db81946": { + "balance": "0x43c30fb0884a96c0000" }, - "0c30cacc3f72269f8b4f04cf073d2b05a83d9ad1": { - "balance": "2001000000000000000000" + "0x0c30cacc3f72269f8b4f04cf073d2b05a83d9ad1": { + "balance": "0x6c7974123f64a40000" }, - "e51eb87e7fb7311f5228c479b48ec9878831ac4c": { - "balance": "2000000000000000000000" + "0xe51eb87e7fb7311f5228c479b48ec9878831ac4c": { + "balance": "0x6c6b935b8bbd400000" }, - "8b01da34d470c1d115acf4d8113c4dd8a8c338e4": { - "balance": "25220000000000000000000" + "0x8b01da34d470c1d115acf4d8113c4dd8a8c338e4": { + "balance": "0x5572dcefab697900000" }, - "4329fc0931cbeb033880fe4c9398ca45b0e2d11a": { - "balance": "2000400000000000000000" + "0x4329fc0931cbeb033880fe4c9398ca45b0e2d11a": { + "balance": "0x6c7120716d33680000" }, - "540c072802014ef0d561345aec481e8e11cb3570": { - "balance": "8000000000000000000000" + "0x540c072802014ef0d561345aec481e8e11cb3570": { + "balance": "0x1b1ae4d6e2ef5000000" }, - "21e5d2bae995ccfd08a5c16bb524e1f630448f82": { - "balance": "2800000000000000000000" + "0x21e5d2bae995ccfd08a5c16bb524e1f630448f82": { + "balance": "0x97c9ce4cf6d5c00000" }, - "5cf8c03eb3e872e50f7cfd0c2f8d3b3f2cb5183a": { - "balance": "200000000000000000000" + "0x5cf8c03eb3e872e50f7cfd0c2f8d3b3f2cb5183a": { + "balance": "0xad78ebc5ac6200000" }, - "5c0f2e51378f6b0d7bab617331580b6e39ad3ca5": { - "balance": "9600000000000000000000" + "0x5c0f2e51378f6b0d7bab617331580b6e39ad3ca5": { + "balance": "0x2086ac3510526000000" }, - "d2f241255dd7c3f73c07043071ec08ddd9c5cde5": { - "balance": "500000000000000000000" + "0xd2f241255dd7c3f73c07043071ec08ddd9c5cde5": { + "balance": "0x1b1ae4d6e2ef500000" }, - "cbe1b948864d8474e765145858fca4550f784b92": { - "balance": "10000000000000000000000" + "0xcbe1b948864d8474e765145858fca4550f784b92": { + "balance": "0x21e19e0c9bab2400000" }, - "30742ccdf4abbcd005681f8159345c9e79054b1a": { - "balance": "668500000000000000000" + "0x30742ccdf4abbcd005681f8159345c9e79054b1a": { + "balance": "0x243d4d18229ca20000" }, - "6aeb9f74742ea491813dbbf0d6fcde1a131d4db3": { - "balance": "440800000000000000000" + "0x6aeb9f74742ea491813dbbf0d6fcde1a131d4db3": { + "balance": "0x17e554308aa0300000" }, - "821eb90994a2fbf94bdc3233910296f76f9bf6e7": { - "balance": "10000000000000000000000" + "0x821eb90994a2fbf94bdc3233910296f76f9bf6e7": { + "balance": "0x21e19e0c9bab2400000" }, - "25c1a37ee5f08265a1e10d3d90d5472955f97806": { - "balance": "1820000000000000000000" + "0x25c1a37ee5f08265a1e10d3d90d5472955f97806": { + "balance": "0x62a992e53a0af00000" }, - "7ef98b52bee953bef992f305fda027f8911c5851": { - "balance": "514717000000000000000" + "0x7ef98b52bee953bef992f305fda027f8911c5851": { + "balance": "0x1be722206996bc8000" }, - "8adc53ef8c18ed3051785d88e996f3e4b20ecd51": { - "balance": "42000000000000000000000" + "0x8adc53ef8c18ed3051785d88e996f3e4b20ecd51": { + "balance": "0x8e4d316827686400000" }, - "007f4a23ca00cd043d25c2888c1aa5688f81a344": { - "balance": "773658000000000000000" + "0x007f4a23ca00cd043d25c2888c1aa5688f81a344": { + "balance": "0x29f0a95bfbf7290000" }, - "4a735d224792376d331367c093d31c8794341582": { - "balance": "1900000000000000000000" + "0x4a735d224792376d331367c093d31c8794341582": { + "balance": "0x66ffcbfd5e5a300000" }, - "05440c5b073b529b4829209dff88090e07c4f6f5": { - "balance": "1288000000000000000000" + "0x05440c5b073b529b4829209dff88090e07c4f6f5": { + "balance": "0x45d29737e22f200000" }, - "5e772e27f28800c50dda973bb33e10762e6eea20": { - "balance": "1790000000000000000000" + "0x5e772e27f28800c50dda973bb33e10762e6eea20": { + "balance": "0x61093d7c2c6d380000" }, - "a429fa88731fdd350e8ecd6ea54296b6484fe695": { - "balance": "1969606000000000000000" + "0xa429fa88731fdd350e8ecd6ea54296b6484fe695": { + "balance": "0x6ac5c62d9486070000" }, - "e0d76b7166b1f3a12b4091ee2b29de8caa7d07db": { - "balance": "2000000000000000000000" + "0xe0d76b7166b1f3a12b4091ee2b29de8caa7d07db": { + "balance": "0x6c6b935b8bbd400000" }, - "7ebd95e9c470f7283583dc6e9d2c4dce0bea8f84": { - "balance": "14000000000000000000000" + "0x7ebd95e9c470f7283583dc6e9d2c4dce0bea8f84": { + "balance": "0x2f6f10780d22cc00000" }, - "883a78aeabaa50d8ddd8570bcd34265f14b19363": { - "balance": "3879951000000000000000" + "0x883a78aeabaa50d8ddd8570bcd34265f14b19363": { + "balance": "0xd25522fda379a18000" }, - "51f9c432a4e59ac86282d6adab4c2eb8919160eb": { - "balance": "530000000000000000000000" + "0x51f9c432a4e59ac86282d6adab4c2eb8919160eb": { + "balance": "0x703b5b89c3a6e7400000" }, - "b86607021b62d340cf2652f3f95fd2dc67698bdf": { - "balance": "5000000000000000000000" + "0xb86607021b62d340cf2652f3f95fd2dc67698bdf": { + "balance": "0x10f0cf064dd59200000" }, - "acc0909fda2ea6b7b7a88db7a0aac868091ddbf6": { - "balance": "22155000000000000000" + "0xacc0909fda2ea6b7b7a88db7a0aac868091ddbf6": { + "balance": "0x133765f1e26c78000" }, - "69b80ed90f84834afa3ff82eb964703b560977d6": { - "balance": "26740000000000000000" + "0x69b80ed90f84834afa3ff82eb964703b560977d6": { + "balance": "0x1731790534df20000" }, - "ca4ca9e4779d530ecbacd47e6a8058cfde65d98f": { - "balance": "800000000000000000000" + "0xca4ca9e4779d530ecbacd47e6a8058cfde65d98f": { + "balance": "0x2b5e3af16b18800000" }, - "5d6c5c720d66a6abca8397142e63d26818eaab54": { - "balance": "40000000000000000000" + "0x5d6c5c720d66a6abca8397142e63d26818eaab54": { + "balance": "0x22b1c8c1227a00000" }, - "c2c13e72d268e7150dc799e7c6cf03c88954ced7": { - "balance": "700000000000000000000" + "0xc2c13e72d268e7150dc799e7c6cf03c88954ced7": { + "balance": "0x25f273933db5700000" }, - "6bbd1e719390e6b91043f8b6b9df898ea8001b34": { - "balance": "2000053000000000000000" + "0x6bbd1e719390e6b91043f8b6b9df898ea8001b34": { + "balance": "0x6c6c4fa6c3da588000" }, - "a9ba6f413b82fcddf3affbbdd09287dcf50415ca": { - "balance": "4000000000000000000000" + "0xa9ba6f413b82fcddf3affbbdd09287dcf50415ca": { + "balance": "0xd8d726b7177a800000" }, - "ced3c7be8de7585140952aeb501dc1f876ecafb0": { - "balance": "4000000000000000000000" + "0xced3c7be8de7585140952aeb501dc1f876ecafb0": { + "balance": "0xd8d726b7177a800000" }, - "1c63fa9e2cbbf23c49fcdef1cbabfe6e0d1e14c1": { - "balance": "1000000000000000000000" + "0x1c63fa9e2cbbf23c49fcdef1cbabfe6e0d1e14c1": { + "balance": "0x3635c9adc5dea00000" }, - "7d6e990daa7105de2526339833f77b5c0b85d84f": { - "balance": "20000000000000000000000" + "0x7d6e990daa7105de2526339833f77b5c0b85d84f": { + "balance": "0x43c33c1937564800000" }, - "68addf019d6b9cab70acb13f0b3117999f062e12": { - "balance": "49941000000000000000" + "0x68addf019d6b9cab70acb13f0b3117999f062e12": { + "balance": "0x2b51212e6b7c88000" }, - "a77428bcb2a0db76fc8ef1e20e461a0a32c5ac15": { - "balance": "401100000000000000000" + "0xa77428bcb2a0db76fc8ef1e20e461a0a32c5ac15": { + "balance": "0x15be6174e1912e0000" }, - "26048fe84d9b010a62e731627e49bc2eb73f408f": { - "balance": "4000000000000000000000" + "0x26048fe84d9b010a62e731627e49bc2eb73f408f": { + "balance": "0xd8d726b7177a800000" }, - "ff26138330274df4e0a3081e6df7dd983ec6e78f": { - "balance": "2000000000000000000000" + "0xff26138330274df4e0a3081e6df7dd983ec6e78f": { + "balance": "0x6c6b935b8bbd400000" }, - "b7382d37db0398ac72410cf9813de9f8e1ec8dad": { - "balance": "1000070000000000000000" + "0xb7382d37db0398ac72410cf9813de9f8e1ec8dad": { + "balance": "0x3636c25e66ece70000" }, - "44f62f2aaabc29ad3a6b04e1ff6f9ce452d1c140": { - "balance": "17000000000000000000000" + "0x44f62f2aaabc29ad3a6b04e1ff6f9ce452d1c140": { + "balance": "0x39992648a23c8a00000" }, - "47fef58584465248a0810d60463ee93e5a6ee8d3": { - "balance": "283100000000000000000" + "0x47fef58584465248a0810d60463ee93e5a6ee8d3": { + "balance": "0xf58cd3e1269160000" }, - "bd2b70fecc37640f69514fc7f3404946aad86b11": { - "balance": "1200000000000000000000" + "0xbd2b70fecc37640f69514fc7f3404946aad86b11": { + "balance": "0x410d586a20a4c00000" }, - "649a85b93653075fa6562c409a565d087ba3e1ba": { - "balance": "2000000000000000000000" + "0x649a85b93653075fa6562c409a565d087ba3e1ba": { + "balance": "0x6c6b935b8bbd400000" }, - "55866486ec168f79dbe0e1abb18864d98991ae2c": { - "balance": "16100000000000000000" + "0x55866486ec168f79dbe0e1abb18864d98991ae2c": { + "balance": "0xdf6eb0b2d3ca0000" }, - "d7e74afdbad55e96cebc5a374f2c8b768680f2b0": { - "balance": "99000000000000000000" + "0xd7e74afdbad55e96cebc5a374f2c8b768680f2b0": { + "balance": "0x55de6a779bbac0000" }, - "a8c1d6aa41fe3d65f67bd01de2a866ed1ed9ae52": { - "balance": "30000000000000000000" + "0xa8c1d6aa41fe3d65f67bd01de2a866ed1ed9ae52": { + "balance": "0x1a055690d9db80000" }, - "744c0c77ba7f236920d1e434de5da33e48ebf02c": { - "balance": "1970000000000000000000" + "0x744c0c77ba7f236920d1e434de5da33e48ebf02c": { + "balance": "0x6acb3df27e1f880000" }, - "9445ba5c30e98961b8602461d0385d40fbd80311": { - "balance": "10000000000000000000000" + "0x9445ba5c30e98961b8602461d0385d40fbd80311": { + "balance": "0x21e19e0c9bab2400000" }, - "eb835c1a911817878a33d167569ea3cdd387f328": { - "balance": "1000000000000000000000" + "0xeb835c1a911817878a33d167569ea3cdd387f328": { + "balance": "0x3635c9adc5dea00000" }, - "761a6e362c97fbbd7c5977acba2da74687365f49": { - "balance": "183840000000000000000" + "0x761a6e362c97fbbd7c5977acba2da74687365f49": { + "balance": "0x9f74ae1f953d00000" }, - "38202c5cd7078d4f887673ab07109ad8ada89720": { - "balance": "1000000000000000000000" + "0x38202c5cd7078d4f887673ab07109ad8ada89720": { + "balance": "0x3635c9adc5dea00000" }, - "5abfec25f74cd88437631a7731906932776356f9": { - "balance": "11901484239480000000000000" + "0x5abfec25f74cd88437631a7731906932776356f9": { + "balance": "0x9d83cc0dfa11177ff8000" }, - "28e4af30cd93f686a122ad7bb19f8a8785eee342": { - "balance": "2101000000000000000000" + "0x28e4af30cd93f686a122ad7bb19f8a8785eee342": { + "balance": "0x71e53b706cc7b40000" }, - "3a9b111029ce1f20c9109c7a74eeeef34f4f2eb2": { - "balance": "4000000000000000000000" + "0x3a9b111029ce1f20c9109c7a74eeeef34f4f2eb2": { + "balance": "0xd8d726b7177a800000" }, - "7bb9571f394b0b1a8eba5664e9d8b5e840677bea": { - "balance": "19700000000000000000" + "0x7bb9571f394b0b1a8eba5664e9d8b5e840677bea": { + "balance": "0x11164759ffb320000" }, - "50fb36c27107ee2ca9a3236e2746cca19ace6b49": { - "balance": "2000000000000000000000" + "0x50fb36c27107ee2ca9a3236e2746cca19ace6b49": { + "balance": "0x6c6b935b8bbd400000" }, - "a3bc979b7080092fa1f92f6e0fb347e28d995045": { - "balance": "2800000000000000000000" + "0xa3bc979b7080092fa1f92f6e0fb347e28d995045": { + "balance": "0x97c9ce4cf6d5c00000" }, - "d04b861b3d9acc563a901689941ab1e1861161a2": { - "balance": "20000000000000000000" + "0xd04b861b3d9acc563a901689941ab1e1861161a2": { + "balance": "0x1158e460913d00000" }, - "58c555bc293cdb16c6362ed97ae9550b92ea180e": { - "balance": "20000000000000000000" + "0x58c555bc293cdb16c6362ed97ae9550b92ea180e": { + "balance": "0x1158e460913d00000" }, - "8bf02bd748690e1fd1c76d270833048b66b25fd3": { - "balance": "11800000000000000000000" + "0x8bf02bd748690e1fd1c76d270833048b66b25fd3": { + "balance": "0x27fade568eba9600000" }, - "fbc01db54e47cdc3c438694ab717a856c23fe6e9": { - "balance": "8456774000000000000000" + "0xfbc01db54e47cdc3c438694ab717a856c23fe6e9": { + "balance": "0x1ca7150ab174f470000" }, - "9c9a07a8e57c3172a919ef64789474490f0d9f51": { - "balance": "10000000000000000000000" + "0x9c9a07a8e57c3172a919ef64789474490f0d9f51": { + "balance": "0x21e19e0c9bab2400000" }, - "fc7e22a503ec5abe9b08c50bd14999f520fa4884": { - "balance": "6387725000000000000000" + "0xfc7e22a503ec5abe9b08c50bd14999f520fa4884": { + "balance": "0x15a477dfbe1ea148000" }, - "9b773669e87d76018c090f8255e54409b9dca8b2": { - "balance": "20000000000000000000" + "0x9b773669e87d76018c090f8255e54409b9dca8b2": { + "balance": "0x1158e460913d00000" }, - "ffe8cbc1681e5e9db74a0f93f8ed25897519120f": { - "balance": "1507000000000000000000" + "0xffe8cbc1681e5e9db74a0f93f8ed25897519120f": { + "balance": "0x51b1d3839261ac0000" }, - "4d4cf5807429615e30cdface1e5aae4dad3055e6": { - "balance": "600000000000000000000" + "0x4d4cf5807429615e30cdface1e5aae4dad3055e6": { + "balance": "0x2086ac351052600000" }, - "cfde0fc75d6f16c443c3038217372d99f5d907f7": { - "balance": "2419000000000000000000" + "0xcfde0fc75d6f16c443c3038217372d99f5d907f7": { + "balance": "0x83225e6396b5ec0000" }, - "818ffe271fc3973565c303f213f6d2da89897ebd": { - "balance": "5734655000000000000000" + "0x818ffe271fc3973565c303f213f6d2da89897ebd": { + "balance": "0x136e05342fee1b98000" }, - "ba1fcaf223937ef89e85675503bdb7ca6a928b78": { - "balance": "640000000000000000000" + "0xba1fcaf223937ef89e85675503bdb7ca6a928b78": { + "balance": "0x22b1c8c1227a000000" }, - "a30a45520e5206d9004070e6af3e7bb2e8dd5313": { - "balance": "400000000000000000000" + "0xa30a45520e5206d9004070e6af3e7bb2e8dd5313": { + "balance": "0x15af1d78b58c400000" }, - "a747439ad0d393b5a03861d77296326de8bb9db9": { - "balance": "1000000000000000000000" + "0xa747439ad0d393b5a03861d77296326de8bb9db9": { + "balance": "0x3635c9adc5dea00000" }, - "14d00aad39a0a7d19ca05350f7b03727f08dd82e": { - "balance": "500000000000000000000" + "0x14d00aad39a0a7d19ca05350f7b03727f08dd82e": { + "balance": "0x1b1ae4d6e2ef500000" }, - "551999ddd205563327b9b530785acff9bc73a4ba": { - "balance": "6000000000000000000000" + "0x551999ddd205563327b9b530785acff9bc73a4ba": { + "balance": "0x14542ba12a337c00000" }, - "a4670731175893bbcff4fa85ce97d94fc51c4ba8": { - "balance": "8000000000000000000000" + "0xa4670731175893bbcff4fa85ce97d94fc51c4ba8": { + "balance": "0x1b1ae4d6e2ef5000000" }, - "f858171a04d357a13b4941c16e7e55ddd4941329": { - "balance": "41984000000000000000" + "0xf858171a04d357a13b4941c16e7e55ddd4941329": { + "balance": "0x246a5218f2a000000" }, - "a6484cc684c4c91db53eb68a4da45a6a6bda3067": { - "balance": "6000000000000000000000" + "0xa6484cc684c4c91db53eb68a4da45a6a6bda3067": { + "balance": "0x14542ba12a337c00000" }, - "00d75ed60c774f8b3a5a5173fb1833ad7105a2d9": { - "balance": "2005500000000000000000" + "0x00d75ed60c774f8b3a5a5173fb1833ad7105a2d9": { + "balance": "0x6cb7e74867d5e60000" }, - "bf92418a0c6c31244d220260cb3e867dd7b4ef49": { - "balance": "99800000000000000000" + "0xbf92418a0c6c31244d220260cb3e867dd7b4ef49": { + "balance": "0x56900d33ca7fc0000" }, - "716d50cca01e938500e6421cc070c3507c67d387": { - "balance": "2000000000000000000000" + "0x716d50cca01e938500e6421cc070c3507c67d387": { + "balance": "0x6c6b935b8bbd400000" }, - "82a8b96b6c9e13ebec1e9f18ac02a60ea88a48ff": { - "balance": "1999998000000000000000" + "0x82a8b96b6c9e13ebec1e9f18ac02a60ea88a48ff": { + "balance": "0x6c6b8c408e73b30000" }, - "5a565285374a49eedd504c957d510874d00455bc": { - "balance": "100000000000000000000" + "0x5a565285374a49eedd504c957d510874d00455bc": { + "balance": "0x56bc75e2d63100000" }, - "778c79f4de1953ebce98fe8006d53a81fb514012": { - "balance": "999800000000000000000" + "0x778c79f4de1953ebce98fe8006d53a81fb514012": { + "balance": "0x36330322d5238c0000" }, - "41b2d34fde0b1029262b4172c81c1590405b03ae": { - "balance": "1000000000000000000000" + "0x41b2d34fde0b1029262b4172c81c1590405b03ae": { + "balance": "0x3635c9adc5dea00000" }, - "4039bd50a2bde15ffe37191f410390962a2b8886": { - "balance": "200000000000000000000" + "0x4039bd50a2bde15ffe37191f410390962a2b8886": { + "balance": "0xad78ebc5ac6200000" }, - "c033be10cb48613bd5ebcb33ed4902f38b583003": { - "balance": "3000000000000000000000" + "0xc033be10cb48613bd5ebcb33ed4902f38b583003": { + "balance": "0xa2a15d09519be00000" }, - "5d5751819b4f3d26ed0c1ac571552735271dbefa": { - "balance": "1000000000000000000000" + "0x5d5751819b4f3d26ed0c1ac571552735271dbefa": { + "balance": "0x3635c9adc5dea00000" }, - "b600429752f399c80d0734744bae0a022eca67c6": { - "balance": "20000000000000000000" + "0xb600429752f399c80d0734744bae0a022eca67c6": { + "balance": "0x1158e460913d00000" }, - "f875619d8a23e45d8998d184d480c0748970822a": { - "balance": "4000000000000000000000" + "0xf875619d8a23e45d8998d184d480c0748970822a": { + "balance": "0xd8d726b7177a800000" }, - "71c7230a1d35bdd6819ed4b9a88e94a0eb0786dd": { - "balance": "4365000000000000000000" + "0x71c7230a1d35bdd6819ed4b9a88e94a0eb0786dd": { + "balance": "0xeca08b353d24140000" }, - "b2f9c972c1e9737755b3ff1b3088738396395b26": { - "balance": "20000000000000000000000" + "0xb2f9c972c1e9737755b3ff1b3088738396395b26": { + "balance": "0x43c33c1937564800000" }, - "a66a4963b27f1ee1932b172be5964e0d3ae54b51": { - "balance": "173000000000000000000" + "0xa66a4963b27f1ee1932b172be5964e0d3ae54b51": { + "balance": "0x960db77681e940000" }, - "53ce88e66c5af2f29bbd8f592a56a3d15f206c32": { - "balance": "140840000000000000000" + "0x53ce88e66c5af2f29bbd8f592a56a3d15f206c32": { + "balance": "0x7a28c31cc36040000" }, - "433e3ba1c51b810fc467d5ba4dea42f7a9885e69": { - "balance": "40000000000000000000000" + "0x433e3ba1c51b810fc467d5ba4dea42f7a9885e69": { + "balance": "0x878678326eac9000000" }, - "c7837ad0a0bf14186937ace06c5546a36aa54f46": { - "balance": "4000000000000000000000" + "0xc7837ad0a0bf14186937ace06c5546a36aa54f46": { + "balance": "0xd8d726b7177a800000" }, - "c3f8f67295a5cd049364d05d23502623a3e52e84": { - "balance": "6000000000000000000000" + "0xc3f8f67295a5cd049364d05d23502623a3e52e84": { + "balance": "0x14542ba12a337c00000" }, - "3fd0bb47798cf44cdfbe4d333de637df4a00e45c": { - "balance": "100040000000000000000" + "0x3fd0bb47798cf44cdfbe4d333de637df4a00e45c": { + "balance": "0x56c5579f722140000" }, - "a1ae8d4540d4db6fdde7146f415b431eb55c7983": { - "balance": "197000000000000000000" + "0xa1ae8d4540d4db6fdde7146f415b431eb55c7983": { + "balance": "0xaadec983fcff40000" }, - "5cccf1508bfd35c20530aa642500c10dee65eaed": { - "balance": "850000000000000000000" + "0x5cccf1508bfd35c20530aa642500c10dee65eaed": { + "balance": "0x2e141ea081ca080000" }, - "a53ead54f7850af21438cbe07af686279a315b86": { - "balance": "10000000000000000000000" + "0xa53ead54f7850af21438cbe07af686279a315b86": { + "balance": "0x21e19e0c9bab2400000" }, - "8cf6da0204dbc4860b46ad973fc111008d9e0c46": { - "balance": "200000000000000000000" + "0x8cf6da0204dbc4860b46ad973fc111008d9e0c46": { + "balance": "0xad78ebc5ac6200000" }, - "8e7936d592008fdc7aa04edeeb755ab513dbb89d": { - "balance": "20000000000000000000" + "0x8e7936d592008fdc7aa04edeeb755ab513dbb89d": { + "balance": "0x1158e460913d00000" }, - "4a53dcdb56ce4cdce9f82ec0eb13d67352e7c88b": { - "balance": "4200000000000000000000" + "0x4a53dcdb56ce4cdce9f82ec0eb13d67352e7c88b": { + "balance": "0xe3aeb5737240a00000" }, - "2b4f4507bb6b9817942ce433781b708fbcd166fd": { - "balance": "18200000000000000000" + "0x2b4f4507bb6b9817942ce433781b708fbcd166fd": { + "balance": "0xfc936392801c0000" }, - "026432af37dc5113f1f46d480a4de0b28052237e": { - "balance": "355800000000000000000" + "0x026432af37dc5113f1f46d480a4de0b28052237e": { + "balance": "0x1349b786e40bfc0000" }, - "e780a56306ba1e6bb331952c22539b858af9f77d": { - "balance": "50000000000000000000000" + "0xe780a56306ba1e6bb331952c22539b858af9f77d": { + "balance": "0xa968163f0a57b400000" }, - "d1f1694d22671b5aad6a94995c369fbe6133676f": { - "balance": "1000000000000000000000" + "0xd1f1694d22671b5aad6a94995c369fbe6133676f": { + "balance": "0x3635c9adc5dea00000" }, - "7c45f0f8442a56dbd39dbf159995415c52ed479b": { - "balance": "2000000000000000000000" + "0x7c45f0f8442a56dbd39dbf159995415c52ed479b": { + "balance": "0x6c6b935b8bbd400000" }, - "b65941d44c50d24666670d364766e991c02e11c2": { - "balance": "600000000000000000000" + "0xb65941d44c50d24666670d364766e991c02e11c2": { + "balance": "0x2086ac351052600000" }, - "45e68db8dbbaba5fc2cb337c62bcd0d61b059189": { - "balance": "2000000000000000000000" + "0x45e68db8dbbaba5fc2cb337c62bcd0d61b059189": { + "balance": "0x6c6b935b8bbd400000" }, - "05f3631f5664bdad5d0132c8388d36d7d8920918": { - "balance": "20000000000000000000" + "0x05f3631f5664bdad5d0132c8388d36d7d8920918": { + "balance": "0x1158e460913d00000" }, - "5475d7f174bdb1f789017c7c1705989646079d49": { - "balance": "9400000000000000000000" + "0x5475d7f174bdb1f789017c7c1705989646079d49": { + "balance": "0x1fd933494aa5fe00000" }, - "c7bf2ed1ed312940ee6aded1516e268e4a604856": { - "balance": "6000000000000000000000" + "0xc7bf2ed1ed312940ee6aded1516e268e4a604856": { + "balance": "0x14542ba12a337c00000" }, - "39aaf0854db6eb39bc7b2e43846a76171c0445de": { - "balance": "1850000000000000000000" + "0x39aaf0854db6eb39bc7b2e43846a76171c0445de": { + "balance": "0x6449e84e47a8a80000" }, - "c817df1b91faf30fe3251571727c9711b45d8f06": { - "balance": "1999944000000000000000" + "0xc817df1b91faf30fe3251571727c9711b45d8f06": { + "balance": "0x6c6acc67d7b1d40000" }, - "7d13d6705884ab2157dd8dcc7046caf58ee94be4": { - "balance": "137200000000000000000000" + "0x7d13d6705884ab2157dd8dcc7046caf58ee94be4": { + "balance": "0x1d0da07cbb3ee9c00000" }, - "478dc09a1311377c093f9cc8ae74111f65f82f39": { - "balance": "4000000000000000000000" + "0x478dc09a1311377c093f9cc8ae74111f65f82f39": { + "balance": "0xd8d726b7177a800000" }, - "8043ed22f997e5a2a4c16e364486ae64975692c4": { - "balance": "1130513000000000000000" + "0x8043ed22f997e5a2a4c16e364486ae64975692c4": { + "balance": "0x3d4904ffc9112e8000" }, - "b9a985501ee950829b17fae1c9cf348c3156542c": { - "balance": "294100000000000000000" + "0xb9a985501ee950829b17fae1c9cf348c3156542c": { + "balance": "0xff17517ca9a620000" }, - "d5cba5b26bea5d73fabb1abafacdef85def368cc": { - "balance": "200000000000000000000" + "0xd5cba5b26bea5d73fabb1abafacdef85def368cc": { + "balance": "0xad78ebc5ac6200000" }, - "6776e133d9dc354c12a951087b639650f539a433": { - "balance": "120000000000000000000" + "0x6776e133d9dc354c12a951087b639650f539a433": { + "balance": "0x68155a43676e00000" }, - "804ca94972634f633a51f3560b1d06c0b293b3b1": { - "balance": "200000000000000000000" + "0x804ca94972634f633a51f3560b1d06c0b293b3b1": { + "balance": "0xad78ebc5ac6200000" }, - "0be1fdf626ee6189102d70d13b31012c95cd1cd6": { - "balance": "2000000000000000000000" + "0x0be1fdf626ee6189102d70d13b31012c95cd1cd6": { + "balance": "0x6c6b935b8bbd400000" }, - "f848fce9ab611c7d99206e23fac69ad488b94fe1": { - "balance": "48500000000000000000" + "0xf848fce9ab611c7d99206e23fac69ad488b94fe1": { + "balance": "0x2a1129d0936720000" }, - "f01195d657ef3c942e6cb83949e5a20b5cfa8b1e": { - "balance": "25760000000000000000000" + "0xf01195d657ef3c942e6cb83949e5a20b5cfa8b1e": { + "balance": "0x57473d05dabae800000" }, - "78a5e89900bd3f81dd71ba869d25fec65261df15": { - "balance": "51900000000000000000000" + "0x78a5e89900bd3f81dd71ba869d25fec65261df15": { + "balance": "0xafd812fee03d5700000" }, - "d6f1e55b1694089ebcb4fe7d7882aa66c8976176": { - "balance": "19998846000000000000000" + "0xd6f1e55b1694089ebcb4fe7d7882aa66c8976176": { + "balance": "0x43c23bdbe929db30000" }, - "d5294b666242303b6df0b1c88d37429bc8c965aa": { - "balance": "300700000000000000000" + "0xd5294b666242303b6df0b1c88d37429bc8c965aa": { + "balance": "0x104d0d00d2b7f60000" }, - "3171877e9d820cc618fc0919b29efd333fda4934": { - "balance": "1000000000000000000000" + "0x3171877e9d820cc618fc0919b29efd333fda4934": { + "balance": "0x3635c9adc5dea00000" }, - "2901f8077f34190bb47a8e227fa29b30ce113b31": { - "balance": "100000000000000000000" + "0x2901f8077f34190bb47a8e227fa29b30ce113b31": { + "balance": "0x56bc75e2d63100000" }, - "6b2284440221ce16a8382de5ff0229472269deec": { - "balance": "1000000000000000000000" + "0x6b2284440221ce16a8382de5ff0229472269deec": { + "balance": "0x3635c9adc5dea00000" }, - "1bba03ff6b4ad5bf18184acb21b188a399e9eb4a": { - "balance": "1790000000000000000000" + "0x1bba03ff6b4ad5bf18184acb21b188a399e9eb4a": { + "balance": "0x61093d7c2c6d380000" }, - "80744618de396a543197ee4894abd06398dd7c27": { - "balance": "2000000000000000000000" + "0x80744618de396a543197ee4894abd06398dd7c27": { + "balance": "0x6c6b935b8bbd400000" }, - "1b799033ef6dc7127822f74542bb22dbfc09a308": { - "balance": "100000000000000000000" + "0x1b799033ef6dc7127822f74542bb22dbfc09a308": { + "balance": "0x56bc75e2d63100000" }, - "d513a45080ff2febe62cd5854abe29ee4467f996": { - "balance": "153200000000000000000" + "0xd513a45080ff2febe62cd5854abe29ee4467f996": { + "balance": "0x84e13bc4fc5d80000" }, - "e761d27fa3502cc76bb1a608740e1403cf9dfc69": { - "balance": "280000000000000000000" + "0xe761d27fa3502cc76bb1a608740e1403cf9dfc69": { + "balance": "0xf2dc7d47f15600000" }, - "53989ed330563fd57dfec9bd343c3760b0799390": { - "balance": "6208000000000000000000" + "0x53989ed330563fd57dfec9bd343c3760b0799390": { + "balance": "0x150894e849b39000000" }, - "ccf7110d1bd9a74bfd1d7d7d2d9d55607e7b837d": { - "balance": "900000000000000000000" + "0xccf7110d1bd9a74bfd1d7d7d2d9d55607e7b837d": { + "balance": "0x30ca024f987b900000" }, - "f373e9daac0c8675f53b797a160f6fc034ae6b23": { - "balance": "100000000000000000000" + "0xf373e9daac0c8675f53b797a160f6fc034ae6b23": { + "balance": "0x56bc75e2d63100000" }, - "abc9a99e8a2148a55a6d82bd51b98eb5391fdbaf": { - "balance": "6000000000000000000000" + "0xabc9a99e8a2148a55a6d82bd51b98eb5391fdbaf": { + "balance": "0x14542ba12a337c00000" }, - "ffec0913c635baca2f5e57a37aa9fb7b6c9b6e26": { - "balance": "805000000000000000000" + "0xffec0913c635baca2f5e57a37aa9fb7b6c9b6e26": { + "balance": "0x2ba39e82ed5d740000" }, - "581a3af297efa4436a29af0072929abf9826f58b": { - "balance": "2000000000000000000000" + "0x581a3af297efa4436a29af0072929abf9826f58b": { + "balance": "0x6c6b935b8bbd400000" }, - "924efa6db595b79313277e88319625076b580a10": { - "balance": "2000000000000000000000" + "0x924efa6db595b79313277e88319625076b580a10": { + "balance": "0x6c6b935b8bbd400000" }, - "65d8dd4e251cbc021f05b010f2d5dc520c3872e0": { - "balance": "834956000000000000000" + "0x65d8dd4e251cbc021f05b010f2d5dc520c3872e0": { + "balance": "0x2d43579a36a90e0000" }, - "6c67d6db1d03516c128b8ff234bf3d49b26d2941": { - "balance": "100000000000000000000000" + "0x6c67d6db1d03516c128b8ff234bf3d49b26d2941": { + "balance": "0x152d02c7e14af6800000" }, - "496d365534530a5fc1577c0a5241cb88c4da7072": { - "balance": "1790000000000000000000" + "0x496d365534530a5fc1577c0a5241cb88c4da7072": { + "balance": "0x61093d7c2c6d380000" }, - "b85ff03e7b5fc422981fae5e9941dacbdaba7584": { - "balance": "1337000000000000000000" + "0xb85ff03e7b5fc422981fae5e9941dacbdaba7584": { + "balance": "0x487a9a304539440000" }, - "e13540ecee11b212e8b775dc8e71f374aae9b3f8": { - "balance": "2000000000000000000000" + "0xe13540ecee11b212e8b775dc8e71f374aae9b3f8": { + "balance": "0x6c6b935b8bbd400000" }, - "a02e3f8f5959a7aab7418612129b701ca1b80010": { - "balance": "20000000000000000000" + "0xa02e3f8f5959a7aab7418612129b701ca1b80010": { + "balance": "0x1158e460913d00000" }, - "a7a3f153cdc38821c20c5d8c8241b294a3f82b24": { - "balance": "500000000000000000000" + "0xa7a3f153cdc38821c20c5d8c8241b294a3f82b24": { + "balance": "0x1b1ae4d6e2ef500000" }, - "366175403481e0ab15bb514615cbb989ebc68f82": { - "balance": "2000000000000000000000" + "0x366175403481e0ab15bb514615cbb989ebc68f82": { + "balance": "0x6c6b935b8bbd400000" }, - "5104ecc0e330dd1f81b58ac9dbb1a9fbf88a3c85": { - "balance": "100000000000000000000000" + "0x5104ecc0e330dd1f81b58ac9dbb1a9fbf88a3c85": { + "balance": "0x152d02c7e14af6800000" }, - "a466d770d898d8c9d405e4a0e551efafcde53cf9": { - "balance": "492500000000000000000" + "0xa466d770d898d8c9d405e4a0e551efafcde53cf9": { + "balance": "0x1ab2cf7c9f87e20000" }, - "5fa8a54e68176c4fe2c01cf671c515bfbdd528a8": { - "balance": "330000000000000000000000" + "0x5fa8a54e68176c4fe2c01cf671c515bfbdd528a8": { + "balance": "0x45e155fa0110fa400000" }, - "e2e15c60dd381e3a4be25071ab249a4c5c5264da": { - "balance": "2350502000000000000000" + "0xe2e15c60dd381e3a4be25071ab249a4c5c5264da": { + "balance": "0x7f6bc49b81b5370000" }, - "0628bfbe5535782fb588406bc96660a49b011af5": { - "balance": "1520000000000000000000" + "0x0628bfbe5535782fb588406bc96660a49b011af5": { + "balance": "0x52663ccab1e1c00000" }, - "04d6b8d4da867407bb997749debbcdc0b358538a": { - "balance": "1000000000000000000000" + "0x04d6b8d4da867407bb997749debbcdc0b358538a": { + "balance": "0x3635c9adc5dea00000" }, - "0e6ec313376271dff55423ab5422cc3a8b06b22b": { - "balance": "4000000000000000000000" + "0x0e6ec313376271dff55423ab5422cc3a8b06b22b": { + "balance": "0xd8d726b7177a800000" }, - "8787d12677a5ec291e57e31ffbfad105c3324b87": { - "balance": "12438777000000000000000" + "0x8787d12677a5ec291e57e31ffbfad105c3324b87": { + "balance": "0x2a24eb53208f3128000" }, - "58e2f11223fc8237f69d99c6289c148c0604f742": { - "balance": "24000000000000000000000" + "0x58e2f11223fc8237f69d99c6289c148c0604f742": { + "balance": "0x5150ae84a8cdf000000" }, - "5600730a55f6b20ebd24811faa3de96d1662abab": { - "balance": "1880000000000000000000" + "0x5600730a55f6b20ebd24811faa3de96d1662abab": { + "balance": "0x65ea3db75546600000" }, - "fce089635ce97abac06b44819be5bb0a3e2e0b37": { - "balance": "92491000000000000000" + "0xfce089635ce97abac06b44819be5bb0a3e2e0b37": { + "balance": "0x503920a7630a78000" }, - "fa0c1a988c8a17ad3528eb28b3409daa58225f26": { - "balance": "200000000000000000000" + "0xfa0c1a988c8a17ad3528eb28b3409daa58225f26": { + "balance": "0xad78ebc5ac6200000" }, - "7ae1c19e53c71cee4c73fae2d7fc73bf9ab5e392": { - "balance": "1000000000000000000000" + "0x7ae1c19e53c71cee4c73fae2d7fc73bf9ab5e392": { + "balance": "0x3635c9adc5dea00000" }, - "bd17eed82b9a2592019a1b1b3c0fbad45c408d22": { - "balance": "250000000000000000000" + "0xbd17eed82b9a2592019a1b1b3c0fbad45c408d22": { + "balance": "0xd8d726b7177a80000" }, - "884a7a39d0916e05f1c242df55607f37df8c5fda": { - "balance": "23400000000000000000000" + "0x884a7a39d0916e05f1c242df55607f37df8c5fda": { + "balance": "0x4f4843c157c8ca00000" }, - "ca70f4ddbf069d2143bd6bbc7f696b52789b32e7": { - "balance": "3000000000000000000000" + "0xca70f4ddbf069d2143bd6bbc7f696b52789b32e7": { + "balance": "0xa2a15d09519be00000" }, - "7b25bb9ca8e702217e9333225250e53c36804d48": { - "balance": "1880000000000000000000" + "0x7b25bb9ca8e702217e9333225250e53c36804d48": { + "balance": "0x65ea3db75546600000" }, - "ea8317197959424041d9d7c67a3ece1dbb78bb55": { - "balance": "394000000000000000000" + "0xea8317197959424041d9d7c67a3ece1dbb78bb55": { + "balance": "0x155bd9307f9fe80000" }, - "5cb953a0e42f5030812226217fffc3ce230457e4": { - "balance": "100000000000000000000" + "0x5cb953a0e42f5030812226217fffc3ce230457e4": { + "balance": "0x56bc75e2d63100000" }, - "d1f4dc1ddb8abb8848a8b14e25f3b55a8591c266": { - "balance": "250000000000000000000" + "0xd1f4dc1ddb8abb8848a8b14e25f3b55a8591c266": { + "balance": "0xd8d726b7177a80000" }, - "6a42ca971c6578d5ade295c3e7f4ad331dd3424e": { - "balance": "6000000000000000000000" + "0x6a42ca971c6578d5ade295c3e7f4ad331dd3424e": { + "balance": "0x14542ba12a337c00000" }, - "07e1162ceae3cf21a3f62d105990302e307f4e3b": { - "balance": "1530000000000000000000" + "0x07e1162ceae3cf21a3f62d105990302e307f4e3b": { + "balance": "0x52f103edb66ba80000" }, - "5d1dc3387b47b8451e55106c0cc67d6dc72b7f0b": { - "balance": "2000000000000000000000" + "0x5d1dc3387b47b8451e55106c0cc67d6dc72b7f0b": { + "balance": "0x6c6b935b8bbd400000" }, - "5d2819e8d57821922ee445650ccaec7d40544a8d": { - "balance": "200000000000000000000" + "0x5d2819e8d57821922ee445650ccaec7d40544a8d": { + "balance": "0xad78ebc5ac6200000" }, - "4c24b78baf2bafc7fcc69016426be973e20a50b2": { - "balance": "3000000000000000000000" + "0x4c24b78baf2bafc7fcc69016426be973e20a50b2": { + "balance": "0xa2a15d09519be00000" }, - "630c5273126d517ce67101811cab16b8534cf9a8": { - "balance": "9422595000000000000000" + "0x630c5273126d517ce67101811cab16b8534cf9a8": { + "balance": "0x1feccc62573bbd38000" }, - "291f929ca59b54f8443e3d4d75d95dee243cef78": { - "balance": "499938000000000000000" + "0x291f929ca59b54f8443e3d4d75d95dee243cef78": { + "balance": "0x1b1a089237073d0000" }, - "2dd325fdffb97b19995284afa5abdb574a1df16a": { - "balance": "500000000000000000000" + "0x2dd325fdffb97b19995284afa5abdb574a1df16a": { + "balance": "0x1b1ae4d6e2ef500000" }, - "4fce8429ba49caa0369d1e494db57e89eab2ad39": { - "balance": "200000000000000000000000" + "0x4fce8429ba49caa0369d1e494db57e89eab2ad39": { + "balance": "0x2a5a058fc295ed000000" }, - "712b76510214dc620f6c3a1dd29aa22bf6d214fb": { - "balance": "6000000000000000000000" + "0x712b76510214dc620f6c3a1dd29aa22bf6d214fb": { + "balance": "0x14542ba12a337c00000" }, - "266f2da7f0085ef3f3fa09baee232b93c744db2e": { - "balance": "60000000000000000000000" + "0x266f2da7f0085ef3f3fa09baee232b93c744db2e": { + "balance": "0xcb49b44ba602d800000" }, - "0770c61be78772230cb5a3bb2429a72614a0b336": { - "balance": "6767695000000000000000" + "0x0770c61be78772230cb5a3bb2429a72614a0b336": { + "balance": "0x16ee0a299b713418000" }, - "02dfcb17a1b87441036374b762a5d3418b1cb4d4": { - "balance": "1340860000000000000000" + "0x02dfcb17a1b87441036374b762a5d3418b1cb4d4": { + "balance": "0x48b02ba9d1ba460000" }, - "5e67df8969101adabd91accd6bb1991274af8df2": { - "balance": "500000000000000000000" + "0x5e67df8969101adabd91accd6bb1991274af8df2": { + "balance": "0x1b1ae4d6e2ef500000" }, - "7d9c59631e2ba2e8e82891f3979922aaa3b567a1": { - "balance": "8000000000000000000000" + "0x7d9c59631e2ba2e8e82891f3979922aaa3b567a1": { + "balance": "0x1b1ae4d6e2ef5000000" }, - "949f8c107bc7f0aceaa0f17052aadbd2f9732b2e": { - "balance": "2000000000000000000000" + "0x949f8c107bc7f0aceaa0f17052aadbd2f9732b2e": { + "balance": "0x6c6b935b8bbd400000" }, - "ea4e809e266ae5f13cdbe38f9d0456e6386d1274": { - "balance": "4500000000000000000000" + "0xea4e809e266ae5f13cdbe38f9d0456e6386d1274": { + "balance": "0xf3f20b8dfa69d00000" }, - "cd5510a242dfb0183de925fba866e312fabc1657": { - "balance": "2400000000000000000000" + "0xcd5510a242dfb0183de925fba866e312fabc1657": { + "balance": "0x821ab0d44149800000" }, - "a36e0d94b95364a82671b608cb2d373245612909": { - "balance": "150011000000000000000" + "0xa36e0d94b95364a82671b608cb2d373245612909": { + "balance": "0x821d221b5291f8000" }, - "0ec46696ffac1f58005fa8439824f08eed1df89b": { - "balance": "10000000000000000000000" + "0x0ec46696ffac1f58005fa8439824f08eed1df89b": { + "balance": "0x21e19e0c9bab2400000" }, - "c6fb1ee37417d080a0d048923bdabab095d077c6": { - "balance": "200000000000000000000" + "0xc6fb1ee37417d080a0d048923bdabab095d077c6": { + "balance": "0xad78ebc5ac6200000" }, - "53c9eca40973f63bb5927be0bc6a8a8be1951f74": { - "balance": "2000000000000000000000" + "0x53c9eca40973f63bb5927be0bc6a8a8be1951f74": { + "balance": "0x6c6b935b8bbd400000" }, - "ea14bfda0a6e76668f8788321f07df37824ec5df": { - "balance": "200000000000000000000000" + "0xea14bfda0a6e76668f8788321f07df37824ec5df": { + "balance": "0x2a5a058fc295ed000000" }, - "dfb4d4ade52fcc818acc7a2c6bb2b00224658f78": { - "balance": "7750000000000000000000" + "0xdfb4d4ade52fcc818acc7a2c6bb2b00224658f78": { + "balance": "0x1a420db02bd7d580000" }, - "5997ffefb3c1d9d10f1ae2ac8ac3c8e2d2292783": { - "balance": "1000000000000000000000" + "0x5997ffefb3c1d9d10f1ae2ac8ac3c8e2d2292783": { + "balance": "0x3635c9adc5dea00000" }, - "8eceb2e124536c5b5ffc640ed14ff15ed9a8cb71": { - "balance": "2000000000000000000000" + "0x8eceb2e124536c5b5ffc640ed14ff15ed9a8cb71": { + "balance": "0x6c6b935b8bbd400000" }, - "8f02bda6c36922a6be6a509be51906d393f7b99b": { - "balance": "1019835000000000000000" + "0x8f02bda6c36922a6be6a509be51906d393f7b99b": { + "balance": "0x37490dc12ebe7f8000" }, - "530077c9f7b907ff9cec0c77a41a70e9029add4a": { - "balance": "2000000000000000000000" + "0x530077c9f7b907ff9cec0c77a41a70e9029add4a": { + "balance": "0x6c6b935b8bbd400000" }, - "08936a37df85b3a158cafd9de021f58137681347": { - "balance": "18200000000000000000" + "0x08936a37df85b3a158cafd9de021f58137681347": { + "balance": "0xfc936392801c0000" }, - "8e9c429266df057efa78dd1d5f77fc40742ad466": { - "balance": "300061000000000000000" + "0x8e9c429266df057efa78dd1d5f77fc40742ad466": { + "balance": "0x10442ed1b56c7c8000" }, - "acc59f3b30ceffc56461cc5b8df48902240e0e7b": { - "balance": "2000000000000000000000" + "0xacc59f3b30ceffc56461cc5b8df48902240e0e7b": { + "balance": "0x6c6b935b8bbd400000" }, - "f5534815dc635efa5cc84b2ac734723e21b29372": { - "balance": "1580000000000000000000" + "0xf5534815dc635efa5cc84b2ac734723e21b29372": { + "balance": "0x55a6e79ccd1d300000" }, - "f873e57a65c93b6e18cb75f0dc077d5b8933dc5c": { - "balance": "197000000000000000000" + "0xf873e57a65c93b6e18cb75f0dc077d5b8933dc5c": { + "balance": "0xaadec983fcff40000" }, - "25b78c9fad85b43343f0bfcd0fac11c9949ca5eb": { - "balance": "2000000000000000000000" + "0x25b78c9fad85b43343f0bfcd0fac11c9949ca5eb": { + "balance": "0x6c6b935b8bbd400000" }, - "aad2b7f8106695078e6c138ec81a7486aaca1eb2": { - "balance": "200000000000000000000" + "0xaad2b7f8106695078e6c138ec81a7486aaca1eb2": { + "balance": "0xad78ebc5ac6200000" }, - "509c8668036d143fb8ae70b11995631f3dfcad87": { - "balance": "1000000000000000000000" + "0x509c8668036d143fb8ae70b11995631f3dfcad87": { + "balance": "0x3635c9adc5dea00000" }, - "3602458da86f6d6a9d9eb03daf97fe5619d442fa": { - "balance": "2000000000000000000000" + "0x3602458da86f6d6a9d9eb03daf97fe5619d442fa": { + "balance": "0x6c6b935b8bbd400000" }, - "9f607b3f12469f446121cebf3475356b71b4328c": { - "balance": "4000000000000000000000" + "0x9f607b3f12469f446121cebf3475356b71b4328c": { + "balance": "0xd8d726b7177a800000" }, - "fe3827d57630cf8761d512797b0b858e478bbd12": { - "balance": "20000000000000000000" + "0xfe3827d57630cf8761d512797b0b858e478bbd12": { + "balance": "0x1158e460913d00000" }, - "9d9c4efe9f433989e23be94049215329fa55b4cb": { - "balance": "256215000000000000000" + "0x9d9c4efe9f433989e23be94049215329fa55b4cb": { + "balance": "0xde3b28903c6b58000" }, - "9bd905f1719fc7acd0159d4dc1f8db2f21472338": { - "balance": "1000000000000000000000" + "0x9bd905f1719fc7acd0159d4dc1f8db2f21472338": { + "balance": "0x3635c9adc5dea00000" }, - "7d82e523cc2dc591da3954e8b6bb2caf6461e69c": { - "balance": "2316058000000000000000" + "0x7d82e523cc2dc591da3954e8b6bb2caf6461e69c": { + "balance": "0x7d8dc2efffb1a90000" }, - "74afe54902d615782576f8baac13ac970c050f6e": { - "balance": "177670000000000000000" + "0x74afe54902d615782576f8baac13ac970c050f6e": { + "balance": "0x9a1aaa3a9fba70000" }, - "aff11ccf699304d5f5862af86083451c26e79ae5": { - "balance": "1999000000000000000000" + "0xaff11ccf699304d5f5862af86083451c26e79ae5": { + "balance": "0x6c5db2a4d815dc0000" }, - "3885fee67107dc3a3c741ee290c98918c9b99397": { - "balance": "20000000000000000000" + "0x3885fee67107dc3a3c741ee290c98918c9b99397": { + "balance": "0x1158e460913d00000" }, - "36343aeca07b6ed58a0e62fa4ecb498a124fc971": { - "balance": "300000000000000000000" + "0x36343aeca07b6ed58a0e62fa4ecb498a124fc971": { + "balance": "0x1043561a8829300000" }, - "c94a28fb3230a9ddfa964e770f2ce3c253a7be4f": { - "balance": "200000000000000000000" + "0xc94a28fb3230a9ddfa964e770f2ce3c253a7be4f": { + "balance": "0xad78ebc5ac6200000" }, - "9882967cee68d2a839fad8ab4a7c3dddf6c0adc8": { - "balance": "1336866000000000000000" + "0x9882967cee68d2a839fad8ab4a7c3dddf6c0adc8": { + "balance": "0x4878be1ffaf95d0000" }, - "95df4e3445d7662624c48eba74cf9e0a53e9f732": { - "balance": "56000000000000000000000" + "0x95df4e3445d7662624c48eba74cf9e0a53e9f732": { + "balance": "0xbdbc41e0348b3000000" }, - "ca9faa17542fafbb388eab21bc4c94e8a7b34788": { - "balance": "1999999000000000000000" + "0xca9faa17542fafbb388eab21bc4c94e8a7b34788": { + "balance": "0x6c6b8fce0d18798000" }, - "c8b1850525d946f2ae84f317b15188c536a5dc86": { - "balance": "2685000000000000000000" + "0xc8b1850525d946f2ae84f317b15188c536a5dc86": { + "balance": "0x918ddc3a42a3d40000" }, - "39bac68d947859f59e9226089c96d62e9fbe3cde": { - "balance": "40000000000000000000" + "0x39bac68d947859f59e9226089c96d62e9fbe3cde": { + "balance": "0x22b1c8c1227a00000" }, - "a9bfc410dddb20711e45c07387eab30a054e19ac": { - "balance": "1154750000000000000000" + "0xa9bfc410dddb20711e45c07387eab30a054e19ac": { + "balance": "0x3e99601edf4e530000" }, - "540a1819bd7c35861e791804e5fbb3bc97c9abb1": { - "balance": "1454400000000000000000" + "0x540a1819bd7c35861e791804e5fbb3bc97c9abb1": { + "balance": "0x4ed7dac64230200000" }, - "667b61c03bb937a9f5d0fc5a09f1ea3363c77035": { - "balance": "4250000000000000000000" + "0x667b61c03bb937a9f5d0fc5a09f1ea3363c77035": { + "balance": "0xe664992288f2280000" }, - "010df1df4bed23760d2d1c03781586ddf7918e54": { - "balance": "60000000000000000000" + "0x010df1df4bed23760d2d1c03781586ddf7918e54": { + "balance": "0x340aad21b3b700000" }, - "bd51ee2ea143d7b1d6b77e7e44bdd7da12f485ac": { - "balance": "1318800000000000000000" + "0xbd51ee2ea143d7b1d6b77e7e44bdd7da12f485ac": { + "balance": "0x477e06ccb2b9280000" }, - "fb5125bf0f5eb0b6f020e56bfc2fdf3d402c097e": { - "balance": "5910000000000000000000" + "0xfb5125bf0f5eb0b6f020e56bfc2fdf3d402c097e": { + "balance": "0x14061b9d77a5e980000" }, - "3f0c83aac5717962734e5ceaeaecd39b28ad06be": { - "balance": "2000000000000000000000" + "0x3f0c83aac5717962734e5ceaeaecd39b28ad06be": { + "balance": "0x6c6b935b8bbd400000" }, - "f10661ff94140f203e7a482572437938bec9c3f7": { - "balance": "20000000000000000000000" + "0xf10661ff94140f203e7a482572437938bec9c3f7": { + "balance": "0x43c33c1937564800000" }, - "bd3097a79b3c0d2ebff0e6e86ab0edadbed47096": { - "balance": "1670000000000000000000" + "0xbd3097a79b3c0d2ebff0e6e86ab0edadbed47096": { + "balance": "0x5a87e7d7f5f6580000" }, - "edeb4894aadd0081bbddd3e8846804b583d19f27": { - "balance": "2000000000000000000000" + "0xedeb4894aadd0081bbddd3e8846804b583d19f27": { + "balance": "0x6c6b935b8bbd400000" }, - "49c9771fca19d5b9d245c891f8158fe49f47a062": { - "balance": "10000000000000000000000" + "0x49c9771fca19d5b9d245c891f8158fe49f47a062": { + "balance": "0x21e19e0c9bab2400000" }, - "6405dd13e93abcff377e700e3c1a0086eca27d29": { - "balance": "18200000000000000000" + "0x6405dd13e93abcff377e700e3c1a0086eca27d29": { + "balance": "0xfc936392801c0000" }, - "ce5e04f0184369bcfa06aca66ffa91bf59fa0fb9": { - "balance": "40000000000000000000" + "0xce5e04f0184369bcfa06aca66ffa91bf59fa0fb9": { + "balance": "0x22b1c8c1227a00000" }, - "4364309a9fa07095600f79edc65120cdcd23dc64": { - "balance": "10000000000000000000000" + "0x4364309a9fa07095600f79edc65120cdcd23dc64": { + "balance": "0x21e19e0c9bab2400000" }, - "b749b54e04d5b19bdcedfb84da7701ab478c27ae": { - "balance": "2680000000000000000000" + "0xb749b54e04d5b19bdcedfb84da7701ab478c27ae": { + "balance": "0x914878a8c05ee00000" }, - "f593c65285ee6bbd6637f3be8f89ad40d489f655": { - "balance": "3000000000000000000000" + "0xf593c65285ee6bbd6637f3be8f89ad40d489f655": { + "balance": "0xa2a15d09519be00000" }, - "d224f880f9479a89d32f09e52be990b288135cef": { - "balance": "17300000000000000000000" + "0xd224f880f9479a89d32f09e52be990b288135cef": { + "balance": "0x3a9d5baa4abf1d00000" }, - "85bb51bc3bfe9a1b2a2f6b1cda95bca8b38c8d5e": { - "balance": "321750000000000000000" + "0x85bb51bc3bfe9a1b2a2f6b1cda95bca8b38c8d5e": { + "balance": "0x11712da04ba1ef0000" }, - "caf4481d9db78dc4f25f7b4ac8bd3b1ca0106b31": { - "balance": "5000000000000000000000" + "0xcaf4481d9db78dc4f25f7b4ac8bd3b1ca0106b31": { + "balance": "0x10f0cf064dd59200000" }, - "51ca8bd4dc644fac47af675563d5804a0da21eeb": { - "balance": "788000000000000000000" + "0x51ca8bd4dc644fac47af675563d5804a0da21eeb": { + "balance": "0x2ab7b260ff3fd00000" }, - "19f643e1a8fa04ae16006028138333a59a96de87": { - "balance": "20000000000000000000" + "0x19f643e1a8fa04ae16006028138333a59a96de87": { + "balance": "0x1158e460913d00000" }, - "58b808a65b51e6338969afb95ec70735e451d526": { - "balance": "39998000000000000000000" + "0x58b808a65b51e6338969afb95ec70735e451d526": { + "balance": "0x8784bc1b9837a380000" }, - "574921838cc77d6c98b17d903a3ae0ee0da95bd0": { - "balance": "53480000000000000000000" + "0x574921838cc77d6c98b17d903a3ae0ee0da95bd0": { + "balance": "0xb5328178ad0f2a00000" }, - "7c6924d07c3ef5891966fe0a7856c87bef9d2034": { - "balance": "2000000000000000000000" + "0x7c6924d07c3ef5891966fe0a7856c87bef9d2034": { + "balance": "0x6c6b935b8bbd400000" }, - "f9767e4ecb4a5980527508d7bec3d45e4c649c13": { - "balance": "1910000000000000000000" + "0xf9767e4ecb4a5980527508d7bec3d45e4c649c13": { + "balance": "0x678a932062e4180000" }, - "f3be99b9103ce7550aa74ff1db18e09dfe32e005": { - "balance": "2000000000000000000000" + "0xf3be99b9103ce7550aa74ff1db18e09dfe32e005": { + "balance": "0x6c6b935b8bbd400000" }, - "625644c95a873ef8c06cdb9e9f6d8d7680043d62": { - "balance": "1800000000000000000000" + "0x625644c95a873ef8c06cdb9e9f6d8d7680043d62": { + "balance": "0x6194049f30f7200000" }, - "6a44af96b3f032ae641beb67f4b6c83342d37c5d": { - "balance": "29000000000000000000" + "0x6a44af96b3f032ae641beb67f4b6c83342d37c5d": { + "balance": "0x19274b259f6540000" }, - "d3a10ec7a5c9324999dd9e9b6bde7c911e584bda": { - "balance": "600000000000000000000" + "0xd3a10ec7a5c9324999dd9e9b6bde7c911e584bda": { + "balance": "0x2086ac351052600000" }, - "e8ddbed732ebfe754096fde9086b8ea4a4cdc616": { - "balance": "2000000000000000000000" + "0xe8ddbed732ebfe754096fde9086b8ea4a4cdc616": { + "balance": "0x6c6b935b8bbd400000" }, - "235fa66c025ef5540070ebcf0d372d8177c467ab": { - "balance": "33400000000000000000000" + "0x235fa66c025ef5540070ebcf0d372d8177c467ab": { + "balance": "0x7129e1cdf373ee00000" }, - "4d08471d68007aff2ae279bc5e3fe4156fbbe3de": { - "balance": "40000000000000000000000" + "0x4d08471d68007aff2ae279bc5e3fe4156fbbe3de": { + "balance": "0x878678326eac9000000" }, - "dadc00ab7927603c2fcf31cee352f80e6c4d6351": { - "balance": "1999664000000000000000" + "0xdadc00ab7927603c2fcf31cee352f80e6c4d6351": { + "balance": "0x6c66e9a55378b80000" }, - "7393cbe7f9ba2165e5a7553500b6e75da3c33abf": { - "balance": "100000000000000000000" + "0x7393cbe7f9ba2165e5a7553500b6e75da3c33abf": { + "balance": "0x56bc75e2d63100000" }, - "77617ebc4bebc5f5ddeb1b7a70cdeb6ae2ffa024": { - "balance": "1970000000000000000000" + "0x77617ebc4bebc5f5ddeb1b7a70cdeb6ae2ffa024": { + "balance": "0x6acb3df27e1f880000" }, - "7fea1962e35d62059768c749bedd96cab930d378": { - "balance": "2000000000000000000000" + "0x7fea1962e35d62059768c749bedd96cab930d378": { + "balance": "0x6c6b935b8bbd400000" }, - "243b3bca6a299359e886ce33a30341fafe4d573d": { - "balance": "20000000000000000000000" + "0x243b3bca6a299359e886ce33a30341fafe4d573d": { + "balance": "0x43c33c1937564800000" }, - "b94d47b3c052a5e50e4261ae06a20f45d8eee297": { - "balance": "2000000000000000000000" + "0xb94d47b3c052a5e50e4261ae06a20f45d8eee297": { + "balance": "0x6c6b935b8bbd400000" }, - "e727e67ef911b81f6cf9c73fcbfebc2b02b5bfc6": { - "balance": "2000000000000000000000" + "0xe727e67ef911b81f6cf9c73fcbfebc2b02b5bfc6": { + "balance": "0x6c6b935b8bbd400000" }, - "e510d6797fba3d6693835a844ea2ad540691971b": { - "balance": "17381000000000000000000" + "0xe510d6797fba3d6693835a844ea2ad540691971b": { + "balance": "0x3ae39d47383e8740000" }, - "0cdc960b998c141998160dc179b36c15d28470ed": { - "balance": "500038000000000000000" + "0x0cdc960b998c141998160dc179b36c15d28470ed": { + "balance": "0x1b1b6bd7af64c70000" }, - "3e76a62db187aa74f63817533b306cead0e8cebe": { - "balance": "31200000000000000000000" + "0x3e76a62db187aa74f63817533b306cead0e8cebe": { + "balance": "0x69b5afac750bb800000" }, - "495b641b1cdea362c3b4cbbd0f5cc50b1e176b9c": { - "balance": "1000000000000000000000" + "0x495b641b1cdea362c3b4cbbd0f5cc50b1e176b9c": { + "balance": "0x3635c9adc5dea00000" }, - "5126460d692c71c9af6f05574d93998368a23799": { - "balance": "52000000000000000000" + "0x5126460d692c71c9af6f05574d93998368a23799": { + "balance": "0x2d1a51c7e00500000" }, - "a008019863c1a77c1499eb39bbd7bf2dd7a31cb9": { - "balance": "137000000000000000000" + "0xa008019863c1a77c1499eb39bbd7bf2dd7a31cb9": { + "balance": "0x76d41c62494840000" }, - "65ee20b06d9ad589a7e7ce04b9f5f795f402aece": { - "balance": "2000000000000000000000" + "0x65ee20b06d9ad589a7e7ce04b9f5f795f402aece": { + "balance": "0x6c6b935b8bbd400000" }, - "f432b9dbaf11bdbd73b6519fc0a904198771aac6": { - "balance": "152000000000000000000" + "0xf432b9dbaf11bdbd73b6519fc0a904198771aac6": { + "balance": "0x83d6c7aab63600000" }, - "85946d56a4d371a93368539690b60ec825107454": { - "balance": "1730000000000000000000" + "0x85946d56a4d371a93368539690b60ec825107454": { + "balance": "0x5dc892aa1131c80000" }, - "26f9f7cefd7e394b9d3924412bf2c2831faf1f85": { - "balance": "4000000000000000000000" + "0x26f9f7cefd7e394b9d3924412bf2c2831faf1f85": { + "balance": "0xd8d726b7177a800000" }, - "d4ebb1929a23871cf77fe049ab9602be08be0a73": { - "balance": "1910000000000000000000" + "0xd4ebb1929a23871cf77fe049ab9602be08be0a73": { + "balance": "0x678a932062e4180000" }, - "4fdac1aa517007e0089430b3316a1badd12c01c7": { - "balance": "500000000000000000000" + "0x4fdac1aa517007e0089430b3316a1badd12c01c7": { + "balance": "0x1b1ae4d6e2ef500000" }, - "05e671de55afec964b074de574d5158d5d21b0a3": { - "balance": "3940000000000000000000" + "0x05e671de55afec964b074de574d5158d5d21b0a3": { + "balance": "0xd5967be4fc3f100000" }, - "20181c4b41f6f972b66958215f19f570c15ddff1": { - "balance": "1600000000000000000000" + "0x20181c4b41f6f972b66958215f19f570c15ddff1": { + "balance": "0x56bc75e2d631000000" }, - "cc9519d1f3985f6b255eaded12d5624a972721e1": { - "balance": "1000000000000000000000" + "0xcc9519d1f3985f6b255eaded12d5624a972721e1": { + "balance": "0x3635c9adc5dea00000" }, - "169bbefc41cfd7d7cbb8dfc63020e9fb06d49546": { - "balance": "2000000000000000000000" + "0x169bbefc41cfd7d7cbb8dfc63020e9fb06d49546": { + "balance": "0x6c6b935b8bbd400000" }, - "175a183a3a235ffbb03ba835675267229417a091": { - "balance": "16000000000000000000000" + "0x175a183a3a235ffbb03ba835675267229417a091": { + "balance": "0x3635c9adc5dea000000" }, - "8dde3cb8118568ef4503fe998ccdf536bf19a098": { - "balance": "4000000000000000000000" + "0x8dde3cb8118568ef4503fe998ccdf536bf19a098": { + "balance": "0xd8d726b7177a800000" }, - "6a05b21c4f17f9d73f5fb2b0cb89ff5356a6cc7e": { - "balance": "1500000000000000000000" + "0x6a05b21c4f17f9d73f5fb2b0cb89ff5356a6cc7e": { + "balance": "0x5150ae84a8cdf00000" }, - "5cc4cba621f220637742057f6055b80dffd77e13": { - "balance": "39997692000000000000000" + "0x5cc4cba621f220637742057f6055b80dffd77e13": { + "balance": "0x878477b7d253b660000" }, - "ecb94c568bfe59ade650645f4f26306c736cace4": { - "balance": "267400000000000000000" + "0xecb94c568bfe59ade650645f4f26306c736cace4": { + "balance": "0xe7eeba3410b740000" }, - "dfa6b8b8ad3184e357da282951d79161cfb089bc": { - "balance": "400000000000000000000" + "0xdfa6b8b8ad3184e357da282951d79161cfb089bc": { + "balance": "0x15af1d78b58c400000" }, - "a3058c51737a4e96c55f2ef6bd7bb358167ec2a7": { - "balance": "606093000000000000000" + "0xa3058c51737a4e96c55f2ef6bd7bb358167ec2a7": { + "balance": "0x20db3ae4481ad48000" }, - "051d424276b21239665186133d653bb8b1862f89": { - "balance": "1000000000000000000000" + "0x051d424276b21239665186133d653bb8b1862f89": { + "balance": "0x3635c9adc5dea00000" }, - "d05ffb2b74f867204fe531653b0248e21c13544e": { - "balance": "1000000000000000000000" + "0xd05ffb2b74f867204fe531653b0248e21c13544e": { + "balance": "0x3635c9adc5dea00000" }, - "e1f63ebbc62c7b7444040eb99623964f7667b376": { - "balance": "20000000000000000000" + "0xe1f63ebbc62c7b7444040eb99623964f7667b376": { + "balance": "0x1158e460913d00000" }, - "e5a3d7eb13b15c100177236d1beb30d17ee15420": { - "balance": "2000000000000000000000" + "0xe5a3d7eb13b15c100177236d1beb30d17ee15420": { + "balance": "0x6c6b935b8bbd400000" }, - "18fa8625c9dc843c78c7ab259ff87c9599e07f10": { - "balance": "1000000000000000000000" + "0x18fa8625c9dc843c78c7ab259ff87c9599e07f10": { + "balance": "0x3635c9adc5dea00000" }, - "64264aedd52dcae918a012fbcd0c030ee6f71821": { - "balance": "1000000000000000000000" + "0x64264aedd52dcae918a012fbcd0c030ee6f71821": { + "balance": "0x3635c9adc5dea00000" }, - "6f1f4907b8f61f0c51568d692806b382f50324f5": { - "balance": "2000000000000000000000" + "0x6f1f4907b8f61f0c51568d692806b382f50324f5": { + "balance": "0x6c6b935b8bbd400000" }, - "becef61c1c442bef7ce04b73adb249a8ba047e00": { - "balance": "1000400000000000000000" + "0xbecef61c1c442bef7ce04b73adb249a8ba047e00": { + "balance": "0x363b56c3a754c80000" }, - "7b893286427e72db219a21fc4dcd5fbf59283c31": { - "balance": "10000000000000000000000" + "0x7b893286427e72db219a21fc4dcd5fbf59283c31": { + "balance": "0x21e19e0c9bab2400000" }, - "ce5eb63a7bf4fbc2f6e4baa0c68ab1cb4cf98fb4": { - "balance": "2000000000000000000000" + "0xce5eb63a7bf4fbc2f6e4baa0c68ab1cb4cf98fb4": { + "balance": "0x6c6b935b8bbd400000" }, - "66ec16ee9caab411c55a6629e318de6ee216491d": { - "balance": "865000000000000000000" + "0x66ec16ee9caab411c55a6629e318de6ee216491d": { + "balance": "0x2ee449550898e40000" }, - "30b66150f1a63457023fdd45d0cc6cb54e0c0f06": { - "balance": "1000000000000000000000" + "0x30b66150f1a63457023fdd45d0cc6cb54e0c0f06": { + "balance": "0x3635c9adc5dea00000" }, - "87183160d172d2e084d327b86bcb7c1d8e6784ef": { - "balance": "4000086000000000000000" + "0x87183160d172d2e084d327b86bcb7c1d8e6784ef": { + "balance": "0xd8d8583fa2d52f0000" }, - "c420388fbee84ad656dd68cdc1fbaa9392780b34": { - "balance": "187767000000000000000" + "0xc420388fbee84ad656dd68cdc1fbaa9392780b34": { + "balance": "0xa2dca63aaf4c58000" }, - "90f774c9147dde90853ddc43f08f16d455178b8c": { - "balance": "4000000000000000000000" + "0x90f774c9147dde90853ddc43f08f16d455178b8c": { + "balance": "0xd8d726b7177a800000" }, - "1e1d7a5f2468b94ea826982dbf2125793c6e4a5a": { - "balance": "999940000000000000000" + "0x1e1d7a5f2468b94ea826982dbf2125793c6e4a5a": { + "balance": "0x3634f48417401a0000" }, - "8043fdd0bc4c973d1663d55fc135508ec5d4f4fa": { - "balance": "20000000000000000000" + "0x8043fdd0bc4c973d1663d55fc135508ec5d4f4fa": { + "balance": "0x1158e460913d00000" }, - "7bca1da6c80a66baa5db5ac98541c4be276b447d": { - "balance": "679000000000000000000" + "0x7bca1da6c80a66baa5db5ac98541c4be276b447d": { + "balance": "0x24cf049680fa3c0000" }, - "73550beb732ba9ddafda7ae406e18f7feb0f8bb2": { - "balance": "2800000000000000000000" + "0x73550beb732ba9ddafda7ae406e18f7feb0f8bb2": { + "balance": "0x97c9ce4cf6d5c00000" }, - "adc19ec835afe3e58d87dc93a8a9213c90451326": { - "balance": "1971200000000000000000" + "0xadc19ec835afe3e58d87dc93a8a9213c90451326": { + "balance": "0x6adbe5342282000000" }, - "821d798af19989c3ae5b84a7a7283cd7fda1fabe": { - "balance": "20000000000000000000000" + "0x821d798af19989c3ae5b84a7a7283cd7fda1fabe": { + "balance": "0x43c33c1937564800000" }, - "4c4e6f13fb5e3f70c3760262a03e317982691d10": { - "balance": "100000000000000000000" + "0x4c4e6f13fb5e3f70c3760262a03e317982691d10": { + "balance": "0x56bc75e2d63100000" }, - "664e43119870af107a448db1278b044838ffcdaf": { - "balance": "400000000000000000000" + "0x664e43119870af107a448db1278b044838ffcdaf": { + "balance": "0x15af1d78b58c400000" }, - "8da1178f55d97772bb1d24111a404a4f8715b95d": { - "balance": "878149000000000000000" + "0x8da1178f55d97772bb1d24111a404a4f8715b95d": { + "balance": "0x2f9ac3f6de00808000" }, - "5e6e9747e162f8b45c656e0f6cae7a84bac80e4e": { - "balance": "2000000000000000000000" + "0x5e6e9747e162f8b45c656e0f6cae7a84bac80e4e": { + "balance": "0x6c6b935b8bbd400000" }, - "c7eac31abce6d5f1dea42202b6a674153db47a29": { - "balance": "591000000000000000000" + "0xc7eac31abce6d5f1dea42202b6a674153db47a29": { + "balance": "0x2009c5c8bf6fdc0000" }, - "d96711540e2e998343d4f590b6fc8fac3bb8b31d": { - "balance": "1758944000000000000000" + "0xd96711540e2e998343d4f590b6fc8fac3bb8b31d": { + "balance": "0x5f5a4068b71cb00000" }, - "9da4ec407077f4b9707b2d9d2ede5ea5282bf1df": { - "balance": "4000000000000000000000" + "0x9da4ec407077f4b9707b2d9d2ede5ea5282bf1df": { + "balance": "0xd8d726b7177a800000" }, - "f60c1b45f164b9580e20275a5c39e1d71e35f891": { - "balance": "2000000000000000000000" + "0xf60c1b45f164b9580e20275a5c39e1d71e35f891": { + "balance": "0x6c6b935b8bbd400000" }, - "eb6394a7bfa4d28911d5a5b23e93f35e340c2294": { - "balance": "78000000000000000000" + "0xeb6394a7bfa4d28911d5a5b23e93f35e340c2294": { + "balance": "0x43a77aabd00780000" }, - "a89ac93b23370472daac337e9afdf642543f3e57": { - "balance": "10000000000000000000000" + "0xa89ac93b23370472daac337e9afdf642543f3e57": { + "balance": "0x21e19e0c9bab2400000" }, - "bb618e25221ad9a740b299ed1406bc3934b0b16d": { - "balance": "1000000000000000000000" + "0xbb618e25221ad9a740b299ed1406bc3934b0b16d": { + "balance": "0x3635c9adc5dea00000" }, - "817ac33bd8f847567372951f4a10d7a91ce3f430": { - "balance": "200015000000000000000" + "0x817ac33bd8f847567372951f4a10d7a91ce3f430": { + "balance": "0xad7c406c66dc18000" }, - "fe6a895b795cb4bf85903d3ce09c5aa43953d3bf": { - "balance": "3400000000000000000000" + "0xfe6a895b795cb4bf85903d3ce09c5aa43953d3bf": { + "balance": "0xb8507a820728200000" }, - "3673954399f6dfbe671818259bb278e2e92ee315": { - "balance": "200000000000000000000000" + "0x3673954399f6dfbe671818259bb278e2e92ee315": { + "balance": "0x2a5a058fc295ed000000" }, - "df0ff1f3d27a8ec9fb8f6b0cb254a63bba8224a5": { - "balance": "4367636000000000000000" + "0xdf0ff1f3d27a8ec9fb8f6b0cb254a63bba8224a5": { + "balance": "0xecc5202945d0020000" }, - "ff12e49d8e06aa20f886293c0b98ed7eff788805": { - "balance": "4000000000000000000000" + "0xff12e49d8e06aa20f886293c0b98ed7eff788805": { + "balance": "0xd8d726b7177a800000" }, - "5aef16a226dd68071f2483e1da42598319f69b2c": { - "balance": "2000000000000000000000" + "0x5aef16a226dd68071f2483e1da42598319f69b2c": { + "balance": "0x6c6b935b8bbd400000" }, - "0266ab1c6b0216230b9395443d5fa75e684568c6": { - "balance": "1000000000000000000000" + "0x0266ab1c6b0216230b9395443d5fa75e684568c6": { + "balance": "0x3635c9adc5dea00000" }, - "14a7352066364404db50f0d0d78d754a22198ef4": { - "balance": "1880000000000000000000" + "0x14a7352066364404db50f0d0d78d754a22198ef4": { + "balance": "0x65ea3db75546600000" }, - "444caf79b71338ee9aa7c733b02acaa7dc025948": { - "balance": "40000000000000000000" + "0x444caf79b71338ee9aa7c733b02acaa7dc025948": { + "balance": "0x22b1c8c1227a00000" }, - "64e2de21200b1899c3a0c0653b5040136d0dc842": { - "balance": "20000000000000000000000" + "0x64e2de21200b1899c3a0c0653b5040136d0dc842": { + "balance": "0x43c33c1937564800000" }, - "36e156610cd8ff64e780d89d0054385ca76755aa": { - "balance": "14000000000000000000000" + "0x36e156610cd8ff64e780d89d0054385ca76755aa": { + "balance": "0x2f6f10780d22cc00000" }, - "0a6ebe723b6ed1f9a86a69ddda68dc47465c2b1b": { - "balance": "1185000000000000000000" + "0x0a6ebe723b6ed1f9a86a69ddda68dc47465c2b1b": { + "balance": "0x403d2db599d5e40000" }, - "38bf2a1f7a69de0e2546adb808b36335645da9ff": { - "balance": "2000320000000000000000" + "0x38bf2a1f7a69de0e2546adb808b36335645da9ff": { + "balance": "0x6c700439d9b5600000" }, - "39f44663d92561091b82a70dcf593d754005973a": { - "balance": "199999000000000000000" + "0x39f44663d92561091b82a70dcf593d754005973a": { + "balance": "0xad78b2edc21598000" }, - "24b9e6644f6ba4cde126270d81f6ab60f286dff4": { - "balance": "133700000000000000000" + "0x24b9e6644f6ba4cde126270d81f6ab60f286dff4": { + "balance": "0x73f75d1a085ba0000" }, - "9b59eb213b1e7565e45047e04ea0374f10762d16": { - "balance": "2000000000000000000000" + "0x9b59eb213b1e7565e45047e04ea0374f10762d16": { + "balance": "0x6c6b935b8bbd400000" }, - "309544b6232c3dd737f945a03193d19b5f3f65b9": { - "balance": "1087440000000000000000" + "0x309544b6232c3dd737f945a03193d19b5f3f65b9": { + "balance": "0x3af342f67ef6c80000" }, - "b28bb39f3466517cd46f979cf59653ee7d8f152e": { - "balance": "450000000000000000000" + "0xb28bb39f3466517cd46f979cf59653ee7d8f152e": { + "balance": "0x18650127cc3dc80000" }, - "9da8e22ca10e67fea44e525e4751eeac36a31194": { - "balance": "260000000000000000000" + "0x9da8e22ca10e67fea44e525e4751eeac36a31194": { + "balance": "0xe18398e7601900000" }, - "4f8ae80238e60008557075ab6afe0a7f2e74d729": { - "balance": "100000000000000000000" + "0x4f8ae80238e60008557075ab6afe0a7f2e74d729": { + "balance": "0x56bc75e2d63100000" }, - "74ed33acf43f35b98c9230b9e6642ecb5330839e": { - "balance": "681872000000000000000" + "0x74ed33acf43f35b98c9230b9e6642ecb5330839e": { + "balance": "0x24f6dffb498d280000" }, - "22842ab830da509913f81dd1f04f10af9edd1c55": { - "balance": "2000000000000000000000" + "0x22842ab830da509913f81dd1f04f10af9edd1c55": { + "balance": "0x6c6b935b8bbd400000" }, - "a8f37f0ab3a1d448a9e3ce40965f97a646083a34": { - "balance": "329800000000000000000" + "0xa8f37f0ab3a1d448a9e3ce40965f97a646083a34": { + "balance": "0x11e0e4f8a50bd40000" }, - "582b70669c97aab7d68148d8d4e90411e2810d56": { - "balance": "999972000000000000000" + "0x582b70669c97aab7d68148d8d4e90411e2810d56": { + "balance": "0x36356633ebd8ea0000" }, - "d5e55100fbd1956bbed2ca518d4b1fa376032b0b": { - "balance": "100000000000000000000" + "0xd5e55100fbd1956bbed2ca518d4b1fa376032b0b": { + "balance": "0x56bc75e2d63100000" }, - "b7cc6b1acc32d8b295df68ed9d5e60b8f64cb67b": { - "balance": "300000000000000000000" + "0xb7cc6b1acc32d8b295df68ed9d5e60b8f64cb67b": { + "balance": "0x1043561a8829300000" }, - "e081ca1f4882db6043d5a9190703fde0ab3bf56d": { - "balance": "400000000000000000000" + "0xe081ca1f4882db6043d5a9190703fde0ab3bf56d": { + "balance": "0x15af1d78b58c400000" }, - "c02077449a134a7ad1ef7e4d927affeceeadb5ae": { - "balance": "18200000000000000000" + "0xc02077449a134a7ad1ef7e4d927affeceeadb5ae": { + "balance": "0xfc936392801c0000" }, - "e09fea755aee1a44c0a89f03b5deb762ba33006f": { - "balance": "1100070000000000000000" + "0xe09fea755aee1a44c0a89f03b5deb762ba33006f": { + "balance": "0x3ba289bc944ff70000" }, - "b3717731dad65132da792d876030e46ac227bb8a": { - "balance": "1000000000000000000000" + "0xb3717731dad65132da792d876030e46ac227bb8a": { + "balance": "0x3635c9adc5dea00000" }, - "157eb3d3113bd3b597714d3a954edd018982a5cb": { - "balance": "2000000000000000000000" + "0x157eb3d3113bd3b597714d3a954edd018982a5cb": { + "balance": "0x6c6b935b8bbd400000" }, - "dc57345b38e0f067c9a31d9deac5275a10949321": { - "balance": "200000000000000000000" + "0xdc57345b38e0f067c9a31d9deac5275a10949321": { + "balance": "0xad78ebc5ac6200000" }, - "40ea5044b204b23076b1a5803bf1d30c0f88871a": { - "balance": "14000000000000000000000" + "0x40ea5044b204b23076b1a5803bf1d30c0f88871a": { + "balance": "0x2f6f10780d22cc00000" }, - "2bab0fbe28d58420b52036770a12f9952aea6911": { - "balance": "3820000000000000000000" + "0x2bab0fbe28d58420b52036770a12f9952aea6911": { + "balance": "0xcf152640c5c8300000" }, - "adaa0e548c035affed64ca678a963fabe9a26bfd": { - "balance": "70000000000000000000" + "0xadaa0e548c035affed64ca678a963fabe9a26bfd": { + "balance": "0x3cb71f51fc5580000" }, - "bb48eaf516ce2dec3e41feb4c679e4957641164f": { - "balance": "3820000000000000000000" + "0xbb48eaf516ce2dec3e41feb4c679e4957641164f": { + "balance": "0xcf152640c5c8300000" }, - "7693bdeb6fc82b5bca721355223175d47a084b4d": { - "balance": "22000000000000000000000" + "0x7693bdeb6fc82b5bca721355223175d47a084b4d": { + "balance": "0x4a89f54ef0121c00000" }, - "03cb98d7acd817de9d886d22fab3f1b57d92a608": { - "balance": "1600000000000000000000" + "0x03cb98d7acd817de9d886d22fab3f1b57d92a608": { + "balance": "0x56bc75e2d631000000" }, - "f88900db737955b1519b1a7d170a18864ce590eb": { - "balance": "18200000000000000000" + "0xf88900db737955b1519b1a7d170a18864ce590eb": { + "balance": "0xfc936392801c0000" }, - "757fa55446c460968bb74b5ebca96c4ef2c709c5": { - "balance": "1015200000000000000000" + "0x757fa55446c460968bb74b5ebca96c4ef2c709c5": { + "balance": "0x3708baed3d68900000" }, - "da855d53477f505ec4c8d5e8bb9180d38681119c": { - "balance": "5600000000000000000000" + "0xda855d53477f505ec4c8d5e8bb9180d38681119c": { + "balance": "0x12f939c99edab800000" }, - "e41aea250b877d423a63ba2bce2f3a61c0248d56": { - "balance": "260000000000000000000" + "0xe41aea250b877d423a63ba2bce2f3a61c0248d56": { + "balance": "0xe18398e7601900000" }, - "8262169b615870134eb4ac6c5f471c6bf2f789fc": { - "balance": "462500000000000000000" + "0x8262169b615870134eb4ac6c5f471c6bf2f789fc": { + "balance": "0x19127a1391ea2a0000" }, - "66b0c100c49149935d14c0dc202cce907cea1a3d": { - "balance": "1970000000000000000000" + "0x66b0c100c49149935d14c0dc202cce907cea1a3d": { + "balance": "0x6acb3df27e1f880000" }, - "854c0c469c246b83b5d1b3eca443b39af5ee128a": { - "balance": "1600000000000000000000" + "0x854c0c469c246b83b5d1b3eca443b39af5ee128a": { + "balance": "0x56bc75e2d631000000" }, - "eb6810691d1ae0d19e47bd22cebee0b3ba27f88a": { - "balance": "2499922000000000000000" + "0xeb6810691d1ae0d19e47bd22cebee0b3ba27f88a": { + "balance": "0x87856315d878150000" }, - "24dcc24bd9c7210ceacfb30da98ae04a4d7b8ab9": { - "balance": "1000000000000000000000" + "0x24dcc24bd9c7210ceacfb30da98ae04a4d7b8ab9": { + "balance": "0x3635c9adc5dea00000" }, - "e31b4eef184c24ab098e36c802714bd4743dd0d4": { - "balance": "200000000000000000000" + "0xe31b4eef184c24ab098e36c802714bd4743dd0d4": { + "balance": "0xad78ebc5ac6200000" }, - "99b8c824869de9ed24f3bff6854cb6dd45cc3f9f": { - "balance": "1880000000000000000000" + "0x99b8c824869de9ed24f3bff6854cb6dd45cc3f9f": { + "balance": "0x65ea3db75546600000" }, - "2ae73a79aea0278533accf21070922b1613f8f32": { - "balance": "3097417000000000000000" + "0x2ae73a79aea0278533accf21070922b1613f8f32": { + "balance": "0xa7e94bbeae701a8000" }, - "ddbd2b932c763ba5b1b7ae3b362eac3e8d40121a": { - "balance": "10000000000000000000000" + "0xddbd2b932c763ba5b1b7ae3b362eac3e8d40121a": { + "balance": "0x21e19e0c9bab2400000" }, - "1b4bbcb18165211b265b280716cb3f1f212176e8": { - "balance": "472325000000000000000" + "0x1b4bbcb18165211b265b280716cb3f1f212176e8": { + "balance": "0x199ad37d03d0608000" }, - "e177e0c201d335ba3956929c571588b51c5223ae": { - "balance": "2000000000000000000000" + "0xe177e0c201d335ba3956929c571588b51c5223ae": { + "balance": "0x6c6b935b8bbd400000" }, - "1945fe377fe6d4b71e3e791f6f17db243c9b8b0f": { - "balance": "2185500000000000000000" + "0x1945fe377fe6d4b71e3e791f6f17db243c9b8b0f": { + "balance": "0x7679e7beb988360000" }, - "3e9b34a57f3375ae59c0a75e19c4b641228d9700": { - "balance": "17900000000000000000" + "0x3e9b34a57f3375ae59c0a75e19c4b641228d9700": { + "balance": "0xf8699329677e0000" }, - "a4d6c82eddae5947fbe9cdfbd548ae33d91a7191": { - "balance": "8000000000000000000000" + "0xa4d6c82eddae5947fbe9cdfbd548ae33d91a7191": { + "balance": "0x1b1ae4d6e2ef5000000" }, - "bad4425e171c3e72975eb46ac0a015db315a5d8f": { - "balance": "2000000000000000000000" + "0xbad4425e171c3e72975eb46ac0a015db315a5d8f": { + "balance": "0x6c6b935b8bbd400000" }, - "a2d2aa626b09d6d4e4b13f7ffc5a88bd7ad36742": { - "balance": "4639390000000000000000" + "0xa2d2aa626b09d6d4e4b13f7ffc5a88bd7ad36742": { + "balance": "0xfb8078507553830000" }, - "b61c34fcacda701a5aa8702459deb0e4ae838df8": { - "balance": "35000000000000000000000" + "0xb61c34fcacda701a5aa8702459deb0e4ae838df8": { + "balance": "0x7695a92c20d6fe00000" }, - "145e0600e2a927b2dd8d379356b45a2e7d51d3ae": { - "balance": "2545843000000000000000" + "0x145e0600e2a927b2dd8d379356b45a2e7d51d3ae": { + "balance": "0x8a02ab400bb2cb8000" }, - "8df339214b6ad1b24663ce716034749d6ef838d9": { - "balance": "11000000000000000000000" + "0x8df339214b6ad1b24663ce716034749d6ef838d9": { + "balance": "0x2544faa778090e00000" }, - "8fd9a5c33a7d9edce0997bdf77ab306424a11ea9": { - "balance": "2000000000000000000000" + "0x8fd9a5c33a7d9edce0997bdf77ab306424a11ea9": { + "balance": "0x6c6b935b8bbd400000" }, - "097da12cfc1f7c1a2464def08c29bed5e2f851e9": { - "balance": "20000000000000000000" + "0x097da12cfc1f7c1a2464def08c29bed5e2f851e9": { + "balance": "0x1158e460913d00000" }, - "ddabf13c3c8ea4e3d73d78ec717afafa430e5479": { - "balance": "41600000000000000000000" + "0xddabf13c3c8ea4e3d73d78ec717afafa430e5479": { + "balance": "0x8cf23f909c0fa000000" }, - "9eeb07bd2b7890195e7d46bdf2071b6617514ddb": { - "balance": "2000000000000000000000" + "0x9eeb07bd2b7890195e7d46bdf2071b6617514ddb": { + "balance": "0x6c6b935b8bbd400000" }, - "819af9a1c27332b1c369bbda1b3de1c6e933d640": { - "balance": "314308000000000000000" + "0x819af9a1c27332b1c369bbda1b3de1c6e933d640": { + "balance": "0x1109e654b98f7a0000" }, - "d7d2c6fca8ad1f75395210b57de5dfd673933909": { - "balance": "340000000000000000000" + "0xd7d2c6fca8ad1f75395210b57de5dfd673933909": { + "balance": "0x126e72a69a50d00000" }, - "cdd5d881a7362c9070073bdfbc75e72453ac510e": { - "balance": "842000000000000000000" + "0xcdd5d881a7362c9070073bdfbc75e72453ac510e": { + "balance": "0x2da518eae48ee80000" }, - "e9ac36376efa06109d40726307dd1a57e213eaa9": { - "balance": "194000000000000000000" + "0xe9ac36376efa06109d40726307dd1a57e213eaa9": { + "balance": "0xa844a7424d9c80000" }, - "1bea4df5122fafdeb3607eddda1ea4ffdb9abf2a": { - "balance": "346000000000000000000" + "0x1bea4df5122fafdeb3607eddda1ea4ffdb9abf2a": { + "balance": "0x12c1b6eed03d280000" }, - "3e5e93fb4c9c9d1246f8f247358e22c3c5d17b6a": { - "balance": "150000000000000000000" + "0x3e5e93fb4c9c9d1246f8f247358e22c3c5d17b6a": { + "balance": "0x821ab0d4414980000" }, - "6c1ddd33c81966dc8621776071a4129482f2c65f": { - "balance": "40000000000000000000000" + "0x6c1ddd33c81966dc8621776071a4129482f2c65f": { + "balance": "0x878678326eac9000000" }, - "2ccb66494d0af689abf9483d365d782444e7dead": { - "balance": "1000000000000000000000" + "0x2ccb66494d0af689abf9483d365d782444e7dead": { + "balance": "0x3635c9adc5dea00000" }, - "19571a2b8f81c6bcf66ab3a10083295617150003": { - "balance": "492500000000000000000" + "0x19571a2b8f81c6bcf66ab3a10083295617150003": { + "balance": "0x1ab2cf7c9f87e20000" }, - "38ac664ee8e0795e4275cb852bcba6a479ad9c8d": { - "balance": "20000000000000000000" + "0x38ac664ee8e0795e4275cb852bcba6a479ad9c8d": { + "balance": "0x1158e460913d00000" }, - "c4803bb407c762f90b7596e6fde194931e769590": { - "balance": "4000000000000000000000" + "0xc4803bb407c762f90b7596e6fde194931e769590": { + "balance": "0xd8d726b7177a800000" }, - "93507e9e8119cbceda8ab087e7ecb071383d6981": { - "balance": "14000000000000000000000" + "0x93507e9e8119cbceda8ab087e7ecb071383d6981": { + "balance": "0x2f6f10780d22cc00000" }, - "b672734afcc224e2e609fc51d4f059732744c948": { - "balance": "295500000000000000000" + "0xb672734afcc224e2e609fc51d4f059732744c948": { + "balance": "0x1004e2e45fb7ee0000" }, - "fbbbebcfbe235e57dd2306ad1a9ec581c7f9f48f": { - "balance": "40000000000000000000" + "0xfbbbebcfbe235e57dd2306ad1a9ec581c7f9f48f": { + "balance": "0x22b1c8c1227a00000" }, - "8c81410ea8354cc5c65c41be8bd5de733c0b111d": { - "balance": "9550000000000000000000" + "0x8c81410ea8354cc5c65c41be8bd5de733c0b111d": { + "balance": "0x205b4dfa1ee74780000" }, - "942c6b8c955bc0d88812678a236725b32739d947": { - "balance": "1550000000000000000000" + "0x942c6b8c955bc0d88812678a236725b32739d947": { + "balance": "0x54069233bf7f780000" }, - "d2e817738abf1fb486583f80c350318bed860c80": { - "balance": "240010000000000000000" + "0xd2e817738abf1fb486583f80c350318bed860c80": { + "balance": "0xd02cecf5f5d810000" }, - "bff5df769934b8943ca9137d0efef2fe6ebbb34e": { - "balance": "100000000000000000000" + "0xbff5df769934b8943ca9137d0efef2fe6ebbb34e": { + "balance": "0x56bc75e2d63100000" }, - "6c4e426e8dc005dfa3516cb8a680b02eea95ae8e": { - "balance": "1337000000000000000000" + "0x6c4e426e8dc005dfa3516cb8a680b02eea95ae8e": { + "balance": "0x487a9a304539440000" }, - "f645dd7c890093e8e4c8aa92a6bb353522d3dc98": { - "balance": "134000000000000000000" + "0xf645dd7c890093e8e4c8aa92a6bb353522d3dc98": { + "balance": "0x7439fa2099e580000" }, - "4bac846af4169f1d95431b341d8800b22180af1a": { - "balance": "20000000000000000000" + "0x4bac846af4169f1d95431b341d8800b22180af1a": { + "balance": "0x1158e460913d00000" }, - "0514954c3c2fb657f9a06f510ea22748f027cdd3": { - "balance": "400000000000000000000" + "0x0514954c3c2fb657f9a06f510ea22748f027cdd3": { + "balance": "0x15af1d78b58c400000" }, - "163dca73d7d6ea3f3e6062322a8734180c0b78ef": { - "balance": "2941400000000000000000" + "0x163dca73d7d6ea3f3e6062322a8734180c0b78ef": { + "balance": "0x9f742003cb7dfc0000" }, - "feaca2ac74624bf348dac9985143cfd652a4be55": { - "balance": "26148245000000000000000" + "0xfeaca2ac74624bf348dac9985143cfd652a4be55": { + "balance": "0x5897fcbb02914088000" }, - "fe80e9232deaff19baf99869883a4bdf0004e53c": { - "balance": "855680000000000000000" + "0xfe80e9232deaff19baf99869883a4bdf0004e53c": { + "balance": "0x2e62f20a69be400000" }, - "17108dab2c50f99de110e1b3b3b4cd82f5df28e7": { - "balance": "980000000000000000000" + "0x17108dab2c50f99de110e1b3b3b4cd82f5df28e7": { + "balance": "0x35203b67bccad00000" }, - "837a645dc95c49549f899c4e8bcf875324b2f57c": { - "balance": "600400000000000000000" + "0x837a645dc95c49549f899c4e8bcf875324b2f57c": { + "balance": "0x208c394af1c8880000" }, - "762998e1d75227fced7a70be109a4c0b4ed86414": { - "balance": "20000000000000000000" + "0x762998e1d75227fced7a70be109a4c0b4ed86414": { + "balance": "0x1158e460913d00000" }, - "c0a7e8435dff14c25577739db55c24d5bf57a3d9": { - "balance": "49250000000000000000000" + "0xc0a7e8435dff14c25577739db55c24d5bf57a3d9": { + "balance": "0xa6dd90cae5114480000" }, - "aead88d689416b1c91f2364421375b7d3c70fb2e": { - "balance": "2000000000000000000000" + "0xaead88d689416b1c91f2364421375b7d3c70fb2e": { + "balance": "0x6c6b935b8bbd400000" }, - "9279b2228cec8f7b4dda3f320e9a0466c2f585ca": { - "balance": "5000000000000000000000" + "0x9279b2228cec8f7b4dda3f320e9a0466c2f585ca": { + "balance": "0x10f0cf064dd59200000" }, - "36726f3b885a24f92996da81625ec8ad16d8cbe6": { - "balance": "1543723000000000000000" + "0x36726f3b885a24f92996da81625ec8ad16d8cbe6": { + "balance": "0x53af75d18148578000" }, - "3951e48e3c869e6b72a143b6a45068cdb9d466d0": { - "balance": "20000000000000000000" + "0x3951e48e3c869e6b72a143b6a45068cdb9d466d0": { + "balance": "0x1158e460913d00000" }, - "f5d61ac4ca95475e5b7bffd5f2f690b316759615": { - "balance": "31040000000000000000000" + "0xf5d61ac4ca95475e5b7bffd5f2f690b316759615": { + "balance": "0x692ae8897081d000000" }, - "158a0d619253bf4432b5cd02c7b862f7c2b75636": { - "balance": "135733000000000000000" + "0x158a0d619253bf4432b5cd02c7b862f7c2b75636": { + "balance": "0x75bac7c5b12188000" }, - "e56d431324c92911a1749df292709c14b77a65cd": { - "balance": "8200000000000000000000" + "0xe56d431324c92911a1749df292709c14b77a65cd": { + "balance": "0x1bc85dc2a89bb200000" }, - "9976947eff5f6ae5da08dd541192f378b428ff94": { - "balance": "8000000000000000000000" + "0x9976947eff5f6ae5da08dd541192f378b428ff94": { + "balance": "0x1b1ae4d6e2ef5000000" }, - "83210583c16a4e1e1dac84ebd37e3d0f7c57eba4": { - "balance": "2000000000000000000000" + "0x83210583c16a4e1e1dac84ebd37e3d0f7c57eba4": { + "balance": "0x6c6b935b8bbd400000" }, - "dcb64df43758c7cf974fa660484fbb718f8c67c1": { - "balance": "20000000000000000000000" + "0xdcb64df43758c7cf974fa660484fbb718f8c67c1": { + "balance": "0x43c33c1937564800000" }, - "d4205592844055b3c7a1f80cefe3b8eb509bcde7": { - "balance": "178973000000000000000" + "0xd4205592844055b3c7a1f80cefe3b8eb509bcde7": { + "balance": "0x9b3bfd342a9fc8000" }, - "d0648a581b3508e135a2935d12c9657045d871ca": { - "balance": "8022000000000000000000" + "0xd0648a581b3508e135a2935d12c9657045d871ca": { + "balance": "0x1b2df9d219f57980000" }, - "e7d17524d00bad82497c0f27156a647ff51d2792": { - "balance": "20000000000000000000" + "0xe7d17524d00bad82497c0f27156a647ff51d2792": { + "balance": "0x1158e460913d00000" }, - "21582e99e502cbf3d3c23bdffb76e901ac6d56b2": { - "balance": "100000000000000000000" + "0x21582e99e502cbf3d3c23bdffb76e901ac6d56b2": { + "balance": "0x56bc75e2d63100000" }, - "e61f280915c774a31d223cf80c069266e5adf19b": { - "balance": "880000000000000000000" + "0xe61f280915c774a31d223cf80c069266e5adf19b": { + "balance": "0x2fb474098f67c00000" }, - "03c91d92943603e752203e05340e566013b90045": { - "balance": "802200000000000000000" + "0x03c91d92943603e752203e05340e566013b90045": { + "balance": "0x2b7cc2e9c3225c0000" }, - "22561c5931143536309c17e832587b625c390b9a": { - "balance": "4000000000000000000000" + "0x22561c5931143536309c17e832587b625c390b9a": { + "balance": "0xd8d726b7177a800000" }, - "e399c81a1d701b44f0b66f3399e66b275aaaf8c1": { - "balance": "1000000000000000000000" + "0xe399c81a1d701b44f0b66f3399e66b275aaaf8c1": { + "balance": "0x3635c9adc5dea00000" }, - "7f8dbce180ed9c563635aad2d97b4cbc428906d9": { - "balance": "2674000000000000000000" + "0x7f8dbce180ed9c563635aad2d97b4cbc428906d9": { + "balance": "0x90f534608a72880000" }, - "9f61beb46f5e853d0a8521c7446e68e34c7d0973": { - "balance": "560000000000000000000" + "0x9f61beb46f5e853d0a8521c7446e68e34c7d0973": { + "balance": "0x1e5b8fa8fe2ac00000" }, - "6d3f2ba856ccbb0237fa7661156b14b013f21240": { - "balance": "1000000000000000000000" + "0x6d3f2ba856ccbb0237fa7661156b14b013f21240": { + "balance": "0x3635c9adc5dea00000" }, - "5f742e487e3ab81af2f94afdbe1b9b8f5ccc81bc": { - "balance": "2172412000000000000000" + "0x5f742e487e3ab81af2f94afdbe1b9b8f5ccc81bc": { + "balance": "0x75c445d41163e60000" }, - "b600feab4aa96c537504d96057223141692c193a": { - "balance": "400000000000000000000" + "0xb600feab4aa96c537504d96057223141692c193a": { + "balance": "0x15af1d78b58c400000" }, - "fab487500df20fb83ebed916791d561772adbebf": { - "balance": "1999980000000000000000" + "0xfab487500df20fb83ebed916791d561772adbebf": { + "balance": "0x6c6b4c4da6ddbe0000" }, - "f8704c16d2fd5ba3a2c01d0eb20484e6ecfa3109": { - "balance": "200000000000000000000" + "0xf8704c16d2fd5ba3a2c01d0eb20484e6ecfa3109": { + "balance": "0xad78ebc5ac6200000" }, - "3f1bc420c53c002c9e90037c44fe6a8ef4ddc962": { - "balance": "173000000000000000000" + "0x3f1bc420c53c002c9e90037c44fe6a8ef4ddc962": { + "balance": "0x960db77681e940000" }, - "82e577b515cb2b0860aafe1ce09a59e09fe7d040": { - "balance": "600000000000000000000" + "0x82e577b515cb2b0860aafe1ce09a59e09fe7d040": { + "balance": "0x2086ac351052600000" }, - "bc999e385c5aebcac8d6f3f0d60d5aa725336d0d": { - "balance": "2000000000000000000000" + "0xbc999e385c5aebcac8d6f3f0d60d5aa725336d0d": { + "balance": "0x6c6b935b8bbd400000" }, - "e16ce35961cd74bd590d04c4ad4a1989e05691c6": { - "balance": "146000000000000000000" + "0xe16ce35961cd74bd590d04c4ad4a1989e05691c6": { + "balance": "0x7ea28327577080000" }, - "eb76424c0fd597d3e341a9642ad1ee118b2b579d": { - "balance": "4000000000000000000000" + "0xeb76424c0fd597d3e341a9642ad1ee118b2b579d": { + "balance": "0xd8d726b7177a800000" }, - "c440c7ca2f964b6972ef664a2261dde892619d9c": { - "balance": "20000000000000000000000" + "0xc440c7ca2f964b6972ef664a2261dde892619d9c": { + "balance": "0x43c33c1937564800000" }, - "460d5355b2ceeb6e62107d81e51270b26bf45620": { - "balance": "2005500000000000000000" + "0x460d5355b2ceeb6e62107d81e51270b26bf45620": { + "balance": "0x6cb7e74867d5e60000" }, - "fcada300283f6bcc134a91456760b0d77de410e0": { - "balance": "2000000000000000000000" + "0xfcada300283f6bcc134a91456760b0d77de410e0": { + "balance": "0x6c6b935b8bbd400000" }, - "be8d7f18adfe5d6cc775394989e1930c979d007d": { - "balance": "1000000000000000000000" + "0xbe8d7f18adfe5d6cc775394989e1930c979d007d": { + "balance": "0x3635c9adc5dea00000" }, - "a7f9220c8047826bd5d5183f4e676a6d77bfed36": { - "balance": "153368000000000000000" + "0xa7f9220c8047826bd5d5183f4e676a6d77bfed36": { + "balance": "0x85068976be81c0000" }, - "98d204f9085f8c8e7de23e589b64c6eff692cc63": { - "balance": "2000000000000000000000" + "0x98d204f9085f8c8e7de23e589b64c6eff692cc63": { + "balance": "0x6c6b935b8bbd400000" }, - "5a2916b8d2e8cc12e207ab464d433e2370d823d9": { - "balance": "2000000000000000000000" + "0x5a2916b8d2e8cc12e207ab464d433e2370d823d9": { + "balance": "0x6c6b935b8bbd400000" }, - "c42d6aeb710e3a50bfb44d6c31092969a11aa7f3": { - "balance": "150052000000000000000" + "0xc42d6aeb710e3a50bfb44d6c31092969a11aa7f3": { + "balance": "0x82263cafd8cea0000" }, - "04ce45f600db18a9d0851b29d9393ebdaafe3dc5": { - "balance": "20000000000000000000" + "0x04ce45f600db18a9d0851b29d9393ebdaafe3dc5": { + "balance": "0x1158e460913d00000" }, - "7a1370a742ec2687e761a19ac5a794329ee67404": { - "balance": "2999988000000000000000" + "0x7a1370a742ec2687e761a19ac5a794329ee67404": { + "balance": "0xa2a1326761e2920000" }, - "da2ad58e77deddede2187646c465945a8dc3f641": { - "balance": "660000000000000000000" + "0xda2ad58e77deddede2187646c465945a8dc3f641": { + "balance": "0x23c757072b8dd00000" }, - "ec58bc0d0c20d8f49465664153c5c196fe59e6be": { - "balance": "400000000000000000000" + "0xec58bc0d0c20d8f49465664153c5c196fe59e6be": { + "balance": "0x15af1d78b58c400000" }, - "f8063af4cc1dd9619ab5d8bff3fcd1faa8488221": { - "balance": "2000000000000000000000" + "0xf8063af4cc1dd9619ab5d8bff3fcd1faa8488221": { + "balance": "0x6c6b935b8bbd400000" }, - "b9231eb26e5f9e4b4d288f03906704fab96c87d6": { - "balance": "19700000000000000000000" + "0xb9231eb26e5f9e4b4d288f03906704fab96c87d6": { + "balance": "0x42bf06b78ed3b500000" }, - "6e5c2d9b1c546a86eefd5d0a5120c9e4e730190e": { - "balance": "199600000000000000000" + "0x6e5c2d9b1c546a86eefd5d0a5120c9e4e730190e": { + "balance": "0xad201a6794ff80000" }, - "e49936a92a8ccf710eaac342bc454b9b14ebecb1": { - "balance": "2000000000000000000000" + "0xe49936a92a8ccf710eaac342bc454b9b14ebecb1": { + "balance": "0x6c6b935b8bbd400000" }, - "21dbdb817a0d8404c6bdd61504374e9c43c9210e": { - "balance": "9999917000000000000000" + "0x21dbdb817a0d8404c6bdd61504374e9c43c9210e": { + "balance": "0x21e18b9e9ab45e48000" }, - "5cebe30b2a95f4aefda665651dc0cf7ef5758199": { - "balance": "18200000000000000000" + "0x5cebe30b2a95f4aefda665651dc0cf7ef5758199": { + "balance": "0xfc936392801c0000" }, - "597038ff91a0900cbbab488af483c790e6ec00a0": { - "balance": "10000000000000000000000" + "0x597038ff91a0900cbbab488af483c790e6ec00a0": { + "balance": "0x21e19e0c9bab2400000" }, - "0fa5d8c5b3f294efd495ab69d768f81872508548": { - "balance": "2000000000000000000000" + "0x0fa5d8c5b3f294efd495ab69d768f81872508548": { + "balance": "0x6c6b935b8bbd400000" }, - "feef3b6eabc94affd3310c1c4d0e65375e131119": { - "balance": "20000000000000000000" + "0xfeef3b6eabc94affd3310c1c4d0e65375e131119": { + "balance": "0x1158e460913d00000" }, - "1ce81d31a7923022e125bf48a3e03693b98dc9dd": { - "balance": "2000000000000000000000" + "0x1ce81d31a7923022e125bf48a3e03693b98dc9dd": { + "balance": "0x6c6b935b8bbd400000" }, - "5887dc6a33dfed5ac1edefe35ef91a216231ac96": { - "balance": "250000000000000000000" + "0x5887dc6a33dfed5ac1edefe35ef91a216231ac96": { + "balance": "0xd8d726b7177a80000" }, - "4e8e47ae3b1ef50c9d54a38e14208c1abd3603c2": { - "balance": "2235000000000000000000" + "0x4e8e47ae3b1ef50c9d54a38e14208c1abd3603c2": { + "balance": "0x7928db1276660c0000" }, - "e845e387c4cbdf982280f6aa01c40e4be958ddb2": { - "balance": "25000000000000000000000" + "0xe845e387c4cbdf982280f6aa01c40e4be958ddb2": { + "balance": "0x54b40b1f852bda00000" }, - "71d9494e50c5dd59c599dba3810ba1755e6537f0": { - "balance": "4000000000000000000000" + "0x71d9494e50c5dd59c599dba3810ba1755e6537f0": { + "balance": "0xd8d726b7177a800000" }, - "6eb5578a6bb7c32153195b0d8020a6914852c059": { - "balance": "660000000000000000000000" + "0x6eb5578a6bb7c32153195b0d8020a6914852c059": { + "balance": "0x8bc2abf40221f4800000" }, - "543f8c674e2462d8d5daa0e80195a8708e11a29e": { - "balance": "63940000000000000000" + "0x543f8c674e2462d8d5daa0e80195a8708e11a29e": { + "balance": "0x37758833b3a7a0000" }, - "a0459ef3693aacd1647cd5d8929839204cef53be": { - "balance": "1000000000000000000000" + "0xa0459ef3693aacd1647cd5d8929839204cef53be": { + "balance": "0x3635c9adc5dea00000" }, - "dda371e600d30688d4710e088e02fdf2b9524d5f": { - "balance": "6920000000000000000000" + "0xdda371e600d30688d4710e088e02fdf2b9524d5f": { + "balance": "0x177224aa844c7200000" }, - "dd4dd6d36033b0636fcc8d0938609f4dd64f4a86": { - "balance": "60000000000000000000" + "0xdd4dd6d36033b0636fcc8d0938609f4dd64f4a86": { + "balance": "0x340aad21b3b700000" }, - "3bd624b548cb659736907ed8aa3c0c705e24b575": { - "balance": "2000000000000000000000" + "0x3bd624b548cb659736907ed8aa3c0c705e24b575": { + "balance": "0x6c6b935b8bbd400000" }, - "414599092e879ae25372a84d735af5c4e510cd6d": { - "balance": "400000000000000000000" + "0x414599092e879ae25372a84d735af5c4e510cd6d": { + "balance": "0x15af1d78b58c400000" }, - "3d66cd4bd64d5c8c1b5eea281e106d1c5aad2373": { - "balance": "1951100000000000000000" + "0x3d66cd4bd64d5c8c1b5eea281e106d1c5aad2373": { + "balance": "0x69c4f3a8a110a60000" }, - "5948bc3650ed519bf891a572679fd992f8780c57": { - "balance": "197000000000000000000" + "0x5948bc3650ed519bf891a572679fd992f8780c57": { + "balance": "0xaadec983fcff40000" }, - "8b74a7cb1bb8c58fce267466a30358adaf527f61": { - "balance": "13620000000000000000000" + "0x8b74a7cb1bb8c58fce267466a30358adaf527f61": { + "balance": "0x2e257784e25b4500000" }, - "3f10800282d1b7ddc78fa92d8230074e1bf6aeae": { - "balance": "4925000000000000000000" + "0x3f10800282d1b7ddc78fa92d8230074e1bf6aeae": { + "balance": "0x10afc1ade3b4ed40000" }, - "32dbb6716c54e83165829a4abb36757849b6e47d": { - "balance": "1000000000000000000000" + "0x32dbb6716c54e83165829a4abb36757849b6e47d": { + "balance": "0x3635c9adc5dea00000" }, - "e6b3ac3f5d4da5a8857d0b3f30fc4b2b692b77d7": { - "balance": "1460000000000000000000" + "0xe6b3ac3f5d4da5a8857d0b3f30fc4b2b692b77d7": { + "balance": "0x4f2591f896a6500000" }, - "052a58e035f1fe9cdd169bcf20970345d12b9c51": { - "balance": "1490000000000000000000" + "0x052a58e035f1fe9cdd169bcf20970345d12b9c51": { + "balance": "0x50c5e761a444080000" }, - "581bdf1bb276dbdd86aedcdb397a01efc0e00c5b": { - "balance": "1000000000000000000000" + "0x581bdf1bb276dbdd86aedcdb397a01efc0e00c5b": { + "balance": "0x3635c9adc5dea00000" }, - "604e9477ebf4727c745bcabbedcb6ccf29994022": { - "balance": "1000060000000000000000" + "0x604e9477ebf4727c745bcabbedcb6ccf29994022": { + "balance": "0x36369ed7747d260000" }, - "59b96deb8784885d8d3b4a166143cc435d2555a1": { - "balance": "1337000000000000000000" + "0x59b96deb8784885d8d3b4a166143cc435d2555a1": { + "balance": "0x487a9a304539440000" }, - "37d980a12ee3bf23cc5cdb63b4ae45691f74c837": { - "balance": "2000000000000000000000" + "0x37d980a12ee3bf23cc5cdb63b4ae45691f74c837": { + "balance": "0x6c6b935b8bbd400000" }, - "3bfbd3847c17a61cf3f17b52f8eba1b960b3f39f": { - "balance": "3000000000000000000000" + "0x3bfbd3847c17a61cf3f17b52f8eba1b960b3f39f": { + "balance": "0xa2a15d09519be00000" }, - "49c941e0e5018726b7290fc473b471d41dae80d1": { - "balance": "500000000000000000000" + "0x49c941e0e5018726b7290fc473b471d41dae80d1": { + "balance": "0x1b1ae4d6e2ef500000" }, - "f26bcedce3feadcea3bc3e96eb1040dfd8ffe1a0": { - "balance": "775000000000000000000" + "0xf26bcedce3feadcea3bc3e96eb1040dfd8ffe1a0": { + "balance": "0x2a034919dfbfbc0000" }, - "d0944aa185a1337061ae20dc9dd96c83b2ba4602": { - "balance": "200000000000000000000" + "0xd0944aa185a1337061ae20dc9dd96c83b2ba4602": { + "balance": "0xad78ebc5ac6200000" }, - "904caa429c619d940f8e6741826a0db692b19728": { - "balance": "1000000000000000000000" + "0x904caa429c619d940f8e6741826a0db692b19728": { + "balance": "0x3635c9adc5dea00000" }, - "b95c9b10aa981cf4a67a71cc52c504dee8cf58bd": { - "balance": "4000000000000000000000" + "0xb95c9b10aa981cf4a67a71cc52c504dee8cf58bd": { + "balance": "0xd8d726b7177a800000" }, - "15874686b6733d10d703c9f9bec6c52eb8628d67": { - "balance": "2000000000000000000000" + "0x15874686b6733d10d703c9f9bec6c52eb8628d67": { + "balance": "0x6c6b935b8bbd400000" }, - "1374facd7b3f8d68649d60d4550ee69ff0484133": { - "balance": "269700000000000000000" + "0x1374facd7b3f8d68649d60d4550ee69ff0484133": { + "balance": "0xe9ed6e11172da0000" }, - "b0e469c886593815b3495638595daef0665fae62": { - "balance": "1940000000000000000000" + "0xb0e469c886593815b3495638595daef0665fae62": { + "balance": "0x692ae8897081d00000" }, - "47ff6feb43212060bb1503d7a397fc08f4e70352": { - "balance": "2000000000000000000000" + "0x47ff6feb43212060bb1503d7a397fc08f4e70352": { + "balance": "0x6c6b935b8bbd400000" }, - "c60b04654e003b4683041f1cbd6bc38fda7cdbd6": { - "balance": "2000000000000000000000" + "0xc60b04654e003b4683041f1cbd6bc38fda7cdbd6": { + "balance": "0x6c6b935b8bbd400000" }, - "3ecdb532e397579662b2a46141e78f8235936a5f": { - "balance": "66850000000000000000" + "0x3ecdb532e397579662b2a46141e78f8235936a5f": { + "balance": "0x39fbae8d042dd0000" }, - "b3a8c2cb7d358e5739941d945ba9045a023a8bbb": { - "balance": "1000000000000000000000" + "0xb3a8c2cb7d358e5739941d945ba9045a023a8bbb": { + "balance": "0x3635c9adc5dea00000" }, - "32ef5cdc671df5562a901aee5db716b9be76dcf6": { - "balance": "2000000000000000000000" + "0x32ef5cdc671df5562a901aee5db716b9be76dcf6": { + "balance": "0x6c6b935b8bbd400000" }, - "c94110e71afe578aa218e4fc286403b0330ace8d": { - "balance": "2000000000000000000000" + "0xc94110e71afe578aa218e4fc286403b0330ace8d": { + "balance": "0x6c6b935b8bbd400000" }, - "9b43dcb95fde318075a567f1e6b57617055ef9e8": { - "balance": "3940000000000000000000" + "0x9b43dcb95fde318075a567f1e6b57617055ef9e8": { + "balance": "0xd5967be4fc3f100000" }, - "efeea010756f81da4ba25b721787f058170befbd": { - "balance": "32470000000000000000" + "0xefeea010756f81da4ba25b721787f058170befbd": { + "balance": "0x1c29c9cf770ef0000" }, - "c88255eddcf521c6f81d97f5a42181c9073d4ef1": { - "balance": "290793000000000000000" + "0xc88255eddcf521c6f81d97f5a42181c9073d4ef1": { + "balance": "0xfc39044d00a2a8000" }, - "dd47189a3e64397167f0620e484565b762bfbbf4": { - "balance": "1850000000000000000000" + "0xdd47189a3e64397167f0620e484565b762bfbbf4": { + "balance": "0x6449e84e47a8a80000" }, - "82f39b2758ae42277b86d69f75e628d958ebcab0": { - "balance": "40000000000000000000000" + "0x82f39b2758ae42277b86d69f75e628d958ebcab0": { + "balance": "0x878678326eac9000000" }, - "e37f5fdc6ec97d2f866a1cfd0d3a4da4387b22b5": { - "balance": "10000000000000000000000" + "0xe37f5fdc6ec97d2f866a1cfd0d3a4da4387b22b5": { + "balance": "0x21e19e0c9bab2400000" }, - "62331df2a3cbee3520e911dea9f73e905f892505": { - "balance": "2000000000000000000000" + "0x62331df2a3cbee3520e911dea9f73e905f892505": { + "balance": "0x6c6b935b8bbd400000" }, - "8c5d16ed65e3ed7e8b96ca972bc86173e3500b03": { - "balance": "2000000000000000000000" + "0x8c5d16ed65e3ed7e8b96ca972bc86173e3500b03": { + "balance": "0x6c6b935b8bbd400000" }, - "8b9841862e77fbbe919470935583a93cf027e450": { - "balance": "2000054000000000000000" + "0x8b9841862e77fbbe919470935583a93cf027e450": { + "balance": "0x6c6c5334427f1f0000" }, - "c8dd27f16bf22450f5771b9fe4ed4ffcb30936f4": { - "balance": "197000000000000000000" + "0xc8dd27f16bf22450f5771b9fe4ed4ffcb30936f4": { + "balance": "0xaadec983fcff40000" }, - "dec8a1a898f1b895d8301fe64ab3ad5de941f689": { - "balance": "787803000000000000000" + "0xdec8a1a898f1b895d8301fe64ab3ad5de941f689": { + "balance": "0x2ab4f67e8a730f8000" }, - "61c4ee7c864c4d6b5e37ea1331c203739e826b2f": { - "balance": "30063000000000000000" + "0x61c4ee7c864c4d6b5e37ea1331c203739e826b2f": { + "balance": "0x1a1353b382a918000" }, - "3250e3e858c26adeccadf36a5663c22aa84c4170": { - "balance": "5000000000000000000000" + "0x3250e3e858c26adeccadf36a5663c22aa84c4170": { + "balance": "0x10f0cf064dd59200000" }, - "299e0bca55e069de8504e89aca6eca21d38a9a5d": { - "balance": "55500000000000000000" + "0x299e0bca55e069de8504e89aca6eca21d38a9a5d": { + "balance": "0x302379bf2ca2e0000" }, - "d50f7fa03e389876d3908b60a537a6706304fb56": { - "balance": "100000000000000000000" + "0xd50f7fa03e389876d3908b60a537a6706304fb56": { + "balance": "0x56bc75e2d63100000" }, - "69073269729e6414b26ec8dc0fd935c73b579f1e": { - "balance": "30000000000000000000000" + "0x69073269729e6414b26ec8dc0fd935c73b579f1e": { + "balance": "0x65a4da25d3016c00000" }, - "14fcd1391e7d732f41766cdacd84fa1deb9ffdd2": { - "balance": "2000000000000000000000" + "0x14fcd1391e7d732f41766cdacd84fa1deb9ffdd2": { + "balance": "0x6c6b935b8bbd400000" }, - "823768746737ce6da312d53e54534e106f967cf3": { - "balance": "20000000000000000000" + "0x823768746737ce6da312d53e54534e106f967cf3": { + "balance": "0x1158e460913d00000" }, - "882f75708386653c80171d0663bfe30b017ed0ad": { - "balance": "2000000000000000000000" + "0x882f75708386653c80171d0663bfe30b017ed0ad": { + "balance": "0x6c6b935b8bbd400000" }, - "a25b086437fd2192d0a0f64f6ed044f38ef3da32": { - "balance": "335000000000000000000" + "0xa25b086437fd2192d0a0f64f6ed044f38ef3da32": { + "balance": "0x12290f15180bdc0000" }, - "5a9c8b69fc614d69564999b00dcb42db67f97e90": { - "balance": "3429227000000000000000" + "0x5a9c8b69fc614d69564999b00dcb42db67f97e90": { + "balance": "0xb9e615abad3a778000" }, - "a2b701f9f5cdd09e4ba62baebae3a88257105885": { - "balance": "1000000000000000000000" + "0xa2b701f9f5cdd09e4ba62baebae3a88257105885": { + "balance": "0x3635c9adc5dea00000" }, - "5e7b8c54dc57b0402062719dee7ef5e37ea35d62": { - "balance": "2877224000000000000000" + "0x5e7b8c54dc57b0402062719dee7ef5e37ea35d62": { + "balance": "0x9bf9810fd05c840000" }, - "7ffabfbc390cbe43ce89188f0868b27dcb0f0cad": { - "balance": "6370000000000000000000" + "0x7ffabfbc390cbe43ce89188f0868b27dcb0f0cad": { + "balance": "0x1595182224b26480000" }, - "b5cdbc4115406f52e5aa85d0fea170d2979cc7ba": { - "balance": "1337000000000000000000" + "0xb5cdbc4115406f52e5aa85d0fea170d2979cc7ba": { + "balance": "0x487a9a304539440000" }, - "263814309de4e635cf585e0d365477fc40e66cf7": { - "balance": "146000000000000000000" + "0x263814309de4e635cf585e0d365477fc40e66cf7": { + "balance": "0x7ea28327577080000" }, - "24cff0e9336a9f80f9b1cb968caf6b1d1c4932a4": { - "balance": "200200000000000000000" + "0x24cff0e9336a9f80f9b1cb968caf6b1d1c4932a4": { + "balance": "0xada55474b81340000" }, - "d3a941c961e8ca8b1070f23c6d6d0d2a758a4444": { - "balance": "200000000000000000000" + "0xd3a941c961e8ca8b1070f23c6d6d0d2a758a4444": { + "balance": "0xad78ebc5ac6200000" }, - "a97beb3a48c45f1528284cb6a95f7de453358ec6": { - "balance": "31000000000000000000000" + "0xa97beb3a48c45f1528284cb6a95f7de453358ec6": { + "balance": "0x690836c0af5f5600000" }, - "4dd131c74a068a37c90aded4f309c2409f6478d3": { - "balance": "400008000000000000000" + "0x4dd131c74a068a37c90aded4f309c2409f6478d3": { + "balance": "0x15af39e4aab2740000" }, - "653675b842d7d8b461f722b4117cb81dac8e639d": { - "balance": "31000000000000000000" + "0x653675b842d7d8b461f722b4117cb81dac8e639d": { + "balance": "0x1ae361fc1451c0000" }, - "561be9299b3e6b3e63b79b09169d1a948ae6db01": { - "balance": "500000000000000000000" + "0x561be9299b3e6b3e63b79b09169d1a948ae6db01": { + "balance": "0x1b1ae4d6e2ef500000" }, - "dc067ed3e12d711ed475f5156ef7e71a80d934b9": { - "balance": "9550000000000000000000" + "0xdc067ed3e12d711ed475f5156ef7e71a80d934b9": { + "balance": "0x205b4dfa1ee74780000" }, - "08d97eadfcb7b064e1ccd9c8979fbee5e77a9719": { - "balance": "266063000000000000000" + "0x08d97eadfcb7b064e1ccd9c8979fbee5e77a9719": { + "balance": "0xe6c5da8d67ac18000" }, - "6e4c2ab7db026939dbd3bc68384af660a61816b2": { - "balance": "167000000000000000000" + "0x6e4c2ab7db026939dbd3bc68384af660a61816b2": { + "balance": "0x90d972f32323c0000" }, - "bf4c73a7ede7b164fe072114843654e4d8781dde": { - "balance": "2000000000000000000000" + "0xbf4c73a7ede7b164fe072114843654e4d8781dde": { + "balance": "0x6c6b935b8bbd400000" }, - "f504943aaf16796e0b341bbcdf21d11cc586cdd1": { - "balance": "9000000000000000000000" + "0xf504943aaf16796e0b341bbcdf21d11cc586cdd1": { + "balance": "0x1e7e4171bf4d3a00000" }, - "ea81ca8638540cd9d4d73d060f2cebf2241ffc3e": { - "balance": "1970000000000000000000" + "0xea81ca8638540cd9d4d73d060f2cebf2241ffc3e": { + "balance": "0x6acb3df27e1f880000" }, - "9944fee9d34a4a880023c78932c00b59d5c82a82": { - "balance": "750022000000000000000" + "0x9944fee9d34a4a880023c78932c00b59d5c82a82": { + "balance": "0x28a8a56b3690070000" }, - "12f460ae646cd2780fd35c50a6af4b9accfa85c6": { - "balance": "1000000000000000000000" + "0x12f460ae646cd2780fd35c50a6af4b9accfa85c6": { + "balance": "0x3635c9adc5dea00000" }, - "4e232d53b3e6be8f895361d31c34d4762b12c82e": { - "balance": "1760000000000000000000" + "0x4e232d53b3e6be8f895361d31c34d4762b12c82e": { + "balance": "0x5f68e8131ecf800000" }, - "6bb2aca23fa1626d18efd6777fb97db02d8e0ae4": { - "balance": "40000000000000000000000" + "0x6bb2aca23fa1626d18efd6777fb97db02d8e0ae4": { + "balance": "0x878678326eac9000000" }, - "bc4e471560c99c8a2a4b1b1ad0c36aa6502b7c4b": { - "balance": "12000000000000000000000" + "0xbc4e471560c99c8a2a4b1b1ad0c36aa6502b7c4b": { + "balance": "0x28a857425466f800000" }, - "2e2cbd7ad82547b4f5ff8b3ab56f942a6445a3b0": { - "balance": "200000000000000000000" + "0x2e2cbd7ad82547b4f5ff8b3ab56f942a6445a3b0": { + "balance": "0xad78ebc5ac6200000" }, - "21ecb2dfa65779c7592d041cd2105a81f4fd4e46": { - "balance": "1000000000000000000000" + "0x21ecb2dfa65779c7592d041cd2105a81f4fd4e46": { + "balance": "0x3635c9adc5dea00000" }, - "34318625818ec13f11835ae97353ce377d6f590a": { - "balance": "1520000000000000000000" + "0x34318625818ec13f11835ae97353ce377d6f590a": { + "balance": "0x52663ccab1e1c00000" }, - "a7ef35ce87eda6c28df248785815053ec97a5045": { - "balance": "4999998000000000000000" + "0xa7ef35ce87eda6c28df248785815053ec97a5045": { + "balance": "0x10f0ce949e00f930000" }, - "6a514e6242f6b68c137e97fea1e78eb555a7e5f7": { - "balance": "20000000000000000000" + "0x6a514e6242f6b68c137e97fea1e78eb555a7e5f7": { + "balance": "0x1158e460913d00000" }, - "9340b5f678e45ee05eb708bb7abb6ec8f08f1b6b": { - "balance": "6000000000000000000000" + "0x9340b5f678e45ee05eb708bb7abb6ec8f08f1b6b": { + "balance": "0x14542ba12a337c00000" }, - "43cc08d0732aa58adef7619bed46558ad7774173": { - "balance": "4443926000000000000000" + "0x43cc08d0732aa58adef7619bed46558ad7774173": { + "balance": "0xf0e7dcb0122a8f0000" }, - "12e9a4ad2ad57484dd700565bddb46423bd9bd31": { - "balance": "19999800000000000000000" + "0x12e9a4ad2ad57484dd700565bddb46423bd9bd31": { + "balance": "0x43c30fb0884a96c0000" }, - "ebbeeb259184a6e01cccfc2207bbd883785ac90a": { - "balance": "619966000000000000000" + "0xebbeeb259184a6e01cccfc2207bbd883785ac90a": { + "balance": "0x219bc1b04783d30000" }, - "704ab1150d5e10f5e3499508f0bf70650f028d4b": { - "balance": "4000000000000000000000" + "0x704ab1150d5e10f5e3499508f0bf70650f028d4b": { + "balance": "0xd8d726b7177a800000" }, - "fc361105dd90f9ede566499d69e9130395f12ac8": { - "balance": "395000000000000000000000" + "0xfc361105dd90f9ede566499d69e9130395f12ac8": { + "balance": "0x53a4fe2f204e80e00000" }, - "c1b9a5704d351cfe983f79abeec3dbbbae3bb629": { - "balance": "20000000000000000000" + "0xc1b9a5704d351cfe983f79abeec3dbbbae3bb629": { + "balance": "0x1158e460913d00000" }, - "66f50406eb1b11a946cab45927cca37470e5a208": { - "balance": "2000000000000000000000" + "0x66f50406eb1b11a946cab45927cca37470e5a208": { + "balance": "0x6c6b935b8bbd400000" }, - "53942e7949d6788bb780a7e8a0792781b1614b84": { - "balance": "15899600000000000000000" + "0x53942e7949d6788bb780a7e8a0792781b1614b84": { + "balance": "0x35deb46684f10c80000" }, - "32ba9a7d0423e03a525fe2ebeb661d2085778bd8": { - "balance": "20000000000000000000000" + "0x32ba9a7d0423e03a525fe2ebeb661d2085778bd8": { + "balance": "0x43c33c1937564800000" }, - "11c0358aa6479de21866fe21071924b65e70f8b9": { - "balance": "36400000000000000000000" + "0x11c0358aa6479de21866fe21071924b65e70f8b9": { + "balance": "0x7b53f79e888dac00000" }, - "76cb9c8b69f4387675c48253e234cb7e0d74a426": { - "balance": "7396300000000000000000" + "0x76cb9c8b69f4387675c48253e234cb7e0d74a426": { + "balance": "0x190f4482eb91dae0000" }, - "9f5f44026b576a4adb41e95961561d41039ca391": { - "balance": "250000000000000000000" + "0x9f5f44026b576a4adb41e95961561d41039ca391": { + "balance": "0xd8d726b7177a80000" }, - "533a73a4a2228eee05c4ffd718bbf3f9c1b129a7": { - "balance": "6000000000000000000000" + "0x533a73a4a2228eee05c4ffd718bbf3f9c1b129a7": { + "balance": "0x14542ba12a337c00000" }, - "dcc52d8f8d9fc742a8b82767f0555387c563efff": { - "balance": "500000000000000000000" + "0xdcc52d8f8d9fc742a8b82767f0555387c563efff": { + "balance": "0x1b1ae4d6e2ef500000" }, - "f456a75bb99655a7412ce97da081816dfdb2b1f2": { - "balance": "200000000000000000000" + "0xf456a75bb99655a7412ce97da081816dfdb2b1f2": { + "balance": "0xad78ebc5ac6200000" }, - "d0c101fd1f01c63f6b1d19bc920d9f932314b136": { - "balance": "20000000000000000000000" + "0xd0c101fd1f01c63f6b1d19bc920d9f932314b136": { + "balance": "0x43c33c1937564800000" }, - "dabc225042a6592cfa13ebe54efa41040878a5a2": { - "balance": "259550000000000000000" + "0xdabc225042a6592cfa13ebe54efa41040878a5a2": { + "balance": "0xe11fad5d85ca30000" }, - "38eec6e217f4d41aa920e424b9525197041cd4c6": { - "balance": "4428166000000000000000" + "0x38eec6e217f4d41aa920e424b9525197041cd4c6": { + "balance": "0xf00d25eb922e670000" }, - "8a247d186510809f71cffc4559471c3910858121": { - "balance": "1790000000000000000000" + "0x8a247d186510809f71cffc4559471c3910858121": { + "balance": "0x61093d7c2c6d380000" }, - "4f152b2fb8659d43776ebb1e81673aa84169be96": { - "balance": "2000000000000000000000" + "0x4f152b2fb8659d43776ebb1e81673aa84169be96": { + "balance": "0x6c6b935b8bbd400000" }, - "b4496ddb27799a222457d73979116728e8a1845b": { - "balance": "2610331000000000000000" + "0xb4496ddb27799a222457d73979116728e8a1845b": { + "balance": "0x8d819ea65fa62f8000" }, - "4a4053b31d0ee5dbafb1d06bd7ac7ff3222c47d6": { - "balance": "1400000000000000000000" + "0x4a4053b31d0ee5dbafb1d06bd7ac7ff3222c47d6": { + "balance": "0x4be4e7267b6ae00000" }, - "0f7bea4ef3f73ae0233df1e100718cbe29310bb0": { - "balance": "2000000000000000000000" + "0x0f7bea4ef3f73ae0233df1e100718cbe29310bb0": { + "balance": "0x6c6b935b8bbd400000" }, - "c836e24a6fcf29943b3608e662290a215f6529ea": { - "balance": "292000000000000000000" + "0xc836e24a6fcf29943b3608e662290a215f6529ea": { + "balance": "0xfd45064eaee100000" }, - "1765361c2ec2f83616ce8363aae21025f2566f40": { - "balance": "5000000000000000000000" + "0x1765361c2ec2f83616ce8363aae21025f2566f40": { + "balance": "0x10f0cf064dd59200000" }, - "b6e6c3222b6b6f9be2875d2a89f127fb64100fe2": { - "balance": "8008000000000000000000" + "0xb6e6c3222b6b6f9be2875d2a89f127fb64100fe2": { + "balance": "0x1b21d5323cc30200000" }, - "01bbc14f67af0639aab1441e6a08d4ce7162090f": { - "balance": "1309500000000000000000" + "0x01bbc14f67af0639aab1441e6a08d4ce7162090f": { + "balance": "0x46fcf68ff8be060000" }, - "af2058c7282cf67c8c3cf930133c89617ce75d29": { - "balance": "6920000000000000000000" + "0xaf2058c7282cf67c8c3cf930133c89617ce75d29": { + "balance": "0x177224aa844c7200000" }, - "464d9c89cce484df000277198ed8075fa63572d1": { - "balance": "20000000000000000000" + "0x464d9c89cce484df000277198ed8075fa63572d1": { + "balance": "0x1158e460913d00000" }, - "50cd97e9378b5cf18f173963236c9951ef7438a5": { - "balance": "1400000000000000000000" + "0x50cd97e9378b5cf18f173963236c9951ef7438a5": { + "balance": "0x4be4e7267b6ae00000" }, - "cb47bd30cfa8ec5468aaa6a94642ced9c819c8d4": { - "balance": "4000000000000000000000" + "0xcb47bd30cfa8ec5468aaa6a94642ced9c819c8d4": { + "balance": "0xd8d726b7177a800000" }, - "6b10f8f8b3e3b60de90aa12d155f9ff5ffb22c50": { - "balance": "2000000000000000000000" + "0x6b10f8f8b3e3b60de90aa12d155f9ff5ffb22c50": { + "balance": "0x6c6b935b8bbd400000" }, - "09b7a988d13ff89186736f03fdf46175b53d16e0": { - "balance": "6000000000000000000000" + "0x09b7a988d13ff89186736f03fdf46175b53d16e0": { + "balance": "0x14542ba12a337c00000" }, - "5bfafe97b1dd1d712be86d41df79895345875a87": { - "balance": "500000000000000000000" + "0x5bfafe97b1dd1d712be86d41df79895345875a87": { + "balance": "0x1b1ae4d6e2ef500000" }, - "a06cd1f396396c0a64464651d7c205efaf387ca3": { - "balance": "1999944000000000000000" + "0xa06cd1f396396c0a64464651d7c205efaf387ca3": { + "balance": "0x6c6acc67d7b1d40000" }, - "fc0096b21e95acb8d619d176a4a1d8d529badbef": { - "balance": "384601000000000000000" + "0xfc0096b21e95acb8d619d176a4a1d8d529badbef": { + "balance": "0x14d9693bcbec028000" }, - "a74444f90fbb54e56f3ac9b6cfccaa4819e4614a": { - "balance": "20000000000000000000" + "0xa74444f90fbb54e56f3ac9b6cfccaa4819e4614a": { + "balance": "0x1158e460913d00000" }, - "3c15b3511df6f0342e7348cc89af39a168b7730f": { - "balance": "1000000000000000000000" + "0x3c15b3511df6f0342e7348cc89af39a168b7730f": { + "balance": "0x3635c9adc5dea00000" }, - "3d6ff82c9377059fb30d9215723f60c775c891fe": { - "balance": "250066000000000000000" + "0x3d6ff82c9377059fb30d9215723f60c775c891fe": { + "balance": "0xd8e5ce617f2d50000" }, - "a524a8cccc49518d170a328270a2f88133fbaf5d": { - "balance": "294500000000000000000" + "0xa524a8cccc49518d170a328270a2f88133fbaf5d": { + "balance": "0xff7022dac108a0000" }, - "8a7a06be199a3a58019d846ac9cbd4d95dd757de": { - "balance": "3000200000000000000000" + "0x8a7a06be199a3a58019d846ac9cbd4d95dd757de": { + "balance": "0xa2a423944256f40000" }, - "d744ac7e5310be696a63b003c40bd039370561c6": { - "balance": "1670000000000000000000" + "0xd744ac7e5310be696a63b003c40bd039370561c6": { + "balance": "0x5a87e7d7f5f6580000" }, - "fe362688845fa244cc807e4b1130eb3741a8051e": { - "balance": "1000000000000000000000" + "0xfe362688845fa244cc807e4b1130eb3741a8051e": { + "balance": "0x3635c9adc5dea00000" }, - "b2d0360515f17daba90fcbac8205d569b915d6ac": { - "balance": "6000000000000000000000" + "0xb2d0360515f17daba90fcbac8205d569b915d6ac": { + "balance": "0x14542ba12a337c00000" }, - "c53594c7cfb2a08f284cc9d7a63bbdfc0b319732": { - "balance": "49200000000000000000000" + "0xc53594c7cfb2a08f284cc9d7a63bbdfc0b319732": { + "balance": "0xa6b2328ff3a62c00000" }, - "b3c228731d186d2ded5b5fbe004c666c8e469b86": { - "balance": "29000000000000000000" + "0xb3c228731d186d2ded5b5fbe004c666c8e469b86": { + "balance": "0x19274b259f6540000" }, - "63e414603e80d4e5a0f5c18774204642258208e4": { - "balance": "5000000000000000000000" + "0x63e414603e80d4e5a0f5c18774204642258208e4": { + "balance": "0x10f0cf064dd59200000" }, - "826ce5790532e0548c6102a30d3eac836bd6388f": { - "balance": "18000000000000000000000" + "0x826ce5790532e0548c6102a30d3eac836bd6388f": { + "balance": "0x3cfc82e37e9a7400000" }, - "c5e812f76f15f2e1f2f9bc4823483c8804636f67": { - "balance": "73000000000000000000" + "0xc5e812f76f15f2e1f2f9bc4823483c8804636f67": { + "balance": "0x3f514193abb840000" }, - "116fef5e601642c918cb89160fc2293ba71da936": { - "balance": "802200000000000000000" + "0x116fef5e601642c918cb89160fc2293ba71da936": { + "balance": "0x2b7cc2e9c3225c0000" }, - "08b84536b74c8c01543da88b84d78bb95747d822": { - "balance": "200000000000000000000" + "0x08b84536b74c8c01543da88b84d78bb95747d822": { + "balance": "0xad78ebc5ac6200000" }, - "04a80afad53ef1f84165cfd852b0fdf1b1c24ba8": { - "balance": "58000000000000000000" + "0x04a80afad53ef1f84165cfd852b0fdf1b1c24ba8": { + "balance": "0x324e964b3eca80000" }, - "2b0362633614bfcb583569438ecc4ea57b1d337e": { - "balance": "20000000000000000000000" + "0x2b0362633614bfcb583569438ecc4ea57b1d337e": { + "balance": "0x43c33c1937564800000" }, - "e95179527deca5916ca9a38f215c1e9ce737b4c9": { - "balance": "10000000000000000000000" + "0xe95179527deca5916ca9a38f215c1e9ce737b4c9": { + "balance": "0x21e19e0c9bab2400000" }, - "2c5df866666a194b26cebb407e4a1fd73e208d5e": { - "balance": "1000000000000000000000" + "0x2c5df866666a194b26cebb407e4a1fd73e208d5e": { + "balance": "0x3635c9adc5dea00000" }, - "529e824fa072582b4032683ac7eecc1c04b4cac1": { - "balance": "2000000000000000000000" + "0x529e824fa072582b4032683ac7eecc1c04b4cac1": { + "balance": "0x6c6b935b8bbd400000" }, - "78634371e17304cbf339b1452a4ce438dc764cce": { - "balance": "10000000000000000000000" + "0x78634371e17304cbf339b1452a4ce438dc764cce": { + "balance": "0x21e19e0c9bab2400000" }, - "e172dfc8f80cd1f8cd8539dc26082014f5a8e3e8": { - "balance": "3000000000000000000000" + "0xe172dfc8f80cd1f8cd8539dc26082014f5a8e3e8": { + "balance": "0xa2a15d09519be00000" }, - "b07618328a901307a1b7a0d058fcd5786e9e72fe": { - "balance": "30239500000000000000000" + "0xb07618328a901307a1b7a0d058fcd5786e9e72fe": { + "balance": "0x667495d4a4330ce0000" }, - "b0571153db1c4ed7acaefe13ecdfdb72e7e4f06a": { - "balance": "80520000000000000000000" + "0xb0571153db1c4ed7acaefe13ecdfdb72e7e4f06a": { + "balance": "0x110cff796ac195200000" }, - "ad910a23d6850613654af786337ad2a70868ac6d": { - "balance": "1999800000000000000000" + "0xad910a23d6850613654af786337ad2a70868ac6d": { + "balance": "0x6c68ccd09b022c0000" }, - "4da5edc688b0cb62e1403d1700d9dcb99ffe3fd3": { - "balance": "2000000000000000000000" + "0x4da5edc688b0cb62e1403d1700d9dcb99ffe3fd3": { + "balance": "0x6c6b935b8bbd400000" }, - "be2471a67f6047918772d0e36839255ed9d691ae": { - "balance": "4000000000000000000000" + "0xbe2471a67f6047918772d0e36839255ed9d691ae": { + "balance": "0xd8d726b7177a800000" }, - "28868324337e11ba106cb481da962f3a8453808d": { - "balance": "2000000000000000000000" + "0x28868324337e11ba106cb481da962f3a8453808d": { + "balance": "0x6c6b935b8bbd400000" }, - "d8f94579496725b5cb53d7985c989749aff849c0": { - "balance": "17000000000000000000000" + "0xd8f94579496725b5cb53d7985c989749aff849c0": { + "balance": "0x39992648a23c8a00000" }, - "4981c5ff66cc4e9680251fc4cd2ff907cb327865": { - "balance": "750000000000000000000" + "0x4981c5ff66cc4e9680251fc4cd2ff907cb327865": { + "balance": "0x28a857425466f80000" }, - "fd2872d19e57853cfa16effe93d0b1d47b4f93fb": { - "balance": "4000000000000000000000" + "0xfd2872d19e57853cfa16effe93d0b1d47b4f93fb": { + "balance": "0xd8d726b7177a800000" }, - "63c8dfde0b8e01dadc2e748c824cc0369df090b3": { - "balance": "3880000000000000000000" + "0x63c8dfde0b8e01dadc2e748c824cc0369df090b3": { + "balance": "0xd255d112e103a00000" }, - "c4dd048bfb840e2bc85cb53fcb75abc443c7e90f": { - "balance": "3716000000000000000000" + "0xc4dd048bfb840e2bc85cb53fcb75abc443c7e90f": { + "balance": "0xc971dc07c9c7900000" }, - "f579714a45eb8f52c3d57bbdefd2c15b2e2f11df": { - "balance": "1560000000000000000000" + "0xf579714a45eb8f52c3d57bbdefd2c15b2e2f11df": { + "balance": "0x54915956c409600000" }, - "cc7b0481cc32e6faef2386a07022bcb6d2c3b4fc": { - "balance": "3160000000000000000000" + "0xcc7b0481cc32e6faef2386a07022bcb6d2c3b4fc": { + "balance": "0xab4dcf399a3a600000" }, - "a0aa5f0201f04d3bbeb898132f7c11679466d901": { - "balance": "36600000000000000000" + "0xa0aa5f0201f04d3bbeb898132f7c11679466d901": { + "balance": "0x1fbed5215bb4c0000" }, - "f3df63a97199933330383b3ed7570b96c4812334": { - "balance": "2000000000000000000000" + "0xf3df63a97199933330383b3ed7570b96c4812334": { + "balance": "0x6c6b935b8bbd400000" }, - "42732d8ef49ffda04b19780fd3c18469fb374106": { - "balance": "425068000000000000000" + "0x42732d8ef49ffda04b19780fd3c18469fb374106": { + "balance": "0x170b00e5e4a9be0000" }, - "6f92d6e4548c78996509ee684b2ee29ba3c532b4": { - "balance": "1000000000000000000000" + "0x6f92d6e4548c78996509ee684b2ee29ba3c532b4": { + "balance": "0x3635c9adc5dea00000" }, - "fff4bad596633479a2a29f9a8b3f78eefd07e6ee": { - "balance": "100000000000000000000" + "0xfff4bad596633479a2a29f9a8b3f78eefd07e6ee": { + "balance": "0x56bc75e2d63100000" }, - "ac4460a76e6db2b9fcd152d9c7718d9ac6ed8c6f": { - "balance": "200000000000000000000" + "0xac4460a76e6db2b9fcd152d9c7718d9ac6ed8c6f": { + "balance": "0xad78ebc5ac6200000" }, - "553b6b1c57050e88cf0c31067b8d4cd1ff80cb09": { - "balance": "400000000000000000000" + "0x553b6b1c57050e88cf0c31067b8d4cd1ff80cb09": { + "balance": "0x15af1d78b58c400000" }, - "84b6b6adbe2f5b3e2d682c66af1bc4905340c3ed": { - "balance": "619333000000000000000" + "0x84b6b6adbe2f5b3e2d682c66af1bc4905340c3ed": { + "balance": "0x2192f8d22215008000" }, - "9f4a7195ac7c151ca258cafda0cab083e049c602": { - "balance": "1537100000000000000000" + "0x9f4a7195ac7c151ca258cafda0cab083e049c602": { + "balance": "0x53538c32185cee0000" }, - "2955c357fd8f75d5159a3dfa69c5b87a359dea8c": { - "balance": "2000000000000000000000" + "0x2955c357fd8f75d5159a3dfa69c5b87a359dea8c": { + "balance": "0x6c6b935b8bbd400000" }, - "11d7844a471ef89a8d877555583ceebd1439ea26": { - "balance": "10098000000000000000000" + "0x11d7844a471ef89a8d877555583ceebd1439ea26": { + "balance": "0x22369e6ba80c6880000" }, - "34b454416e9fb4274e6addf853428a0198d62ee1": { - "balance": "407000000000000000000" + "0x34b454416e9fb4274e6addf853428a0198d62ee1": { + "balance": "0x161042779f1ffc0000" }, - "308dd21cebe755126704b48c0f0dc234c60ba9b1": { - "balance": "200000000000000000000" + "0x308dd21cebe755126704b48c0f0dc234c60ba9b1": { + "balance": "0xad78ebc5ac6200000" }, - "381db4c8465df446a4ce15bf81d47e2f17c980bf": { - "balance": "32000000000000000000000" + "0x381db4c8465df446a4ce15bf81d47e2f17c980bf": { + "balance": "0x6c6b935b8bbd4000000" }, - "1abc4e253b080aeb437984ab05bca0979aa43e1c": { - "balance": "1000000000000000000000" + "0x1abc4e253b080aeb437984ab05bca0979aa43e1c": { + "balance": "0x3635c9adc5dea00000" }, - "53e35b12231f19c3fd774c88fec8cbeedf1408b2": { - "balance": "512000000000000000000" + "0x53e35b12231f19c3fd774c88fec8cbeedf1408b2": { + "balance": "0x1bc16d674ec8000000" }, - "69e2e2e704307ccc5b5ca3f164fece2ea7b2e512": { - "balance": "7000000000000000000000" + "0x69e2e2e704307ccc5b5ca3f164fece2ea7b2e512": { + "balance": "0x17b7883c06916600000" }, - "1914f1eb95d1277e93b6e61b668b7d77f13a11a1": { - "balance": "970000000000000000000" + "0x1914f1eb95d1277e93b6e61b668b7d77f13a11a1": { + "balance": "0x34957444b840e80000" }, - "50e13023bd9ca96ad4c53fdfd410cb6b1f420bdf": { - "balance": "200000000000000000000" + "0x50e13023bd9ca96ad4c53fdfd410cb6b1f420bdf": { + "balance": "0xad78ebc5ac6200000" }, - "46224f32f4ece5c8867090d4409d55e50b18432d": { - "balance": "6000000000000000000000" + "0x46224f32f4ece5c8867090d4409d55e50b18432d": { + "balance": "0x14542ba12a337c00000" }, - "ff83855051ee8ffb70b4817dba3211ed2355869d": { - "balance": "400000000000000000000" + "0xff83855051ee8ffb70b4817dba3211ed2355869d": { + "balance": "0x15af1d78b58c400000" }, - "fb39189af876e762c71d6c3e741893df226cedd6": { - "balance": "4000000000000000000000" + "0xfb39189af876e762c71d6c3e741893df226cedd6": { + "balance": "0xd8d726b7177a800000" }, - "9875623495a46cdbf259530ff838a1799ec38991": { - "balance": "2000000000000000000000" + "0x9875623495a46cdbf259530ff838a1799ec38991": { + "balance": "0x6c6b935b8bbd400000" }, - "e1b39b88d9900dbc4a6cdc481e1060080a8aec3c": { - "balance": "2000000000000000000000" + "0xe1b39b88d9900dbc4a6cdc481e1060080a8aec3c": { + "balance": "0x6c6b935b8bbd400000" }, - "5baf6d749620803e8348af3710e5c4fbf20fc894": { - "balance": "5003680000000000000000" + "0x5baf6d749620803e8348af3710e5c4fbf20fc894": { + "balance": "0x10f4002615dfe900000" }, - "9c54e4ed479a856829c6bb42da9f0b692a75f728": { - "balance": "7520000000000000000000" + "0x9c54e4ed479a856829c6bb42da9f0b692a75f728": { + "balance": "0x197a8f6dd5519800000" }, - "486a6c8583a84484e3df43a123837f8c7e2317d0": { - "balance": "323378000000000000000" + "0x486a6c8583a84484e3df43a123837f8c7e2317d0": { + "balance": "0x1187c571ab80450000" }, - "d235d15cb5eceebb61299e0e827fa82748911d89": { - "balance": "4000000000000000000000" + "0xd235d15cb5eceebb61299e0e827fa82748911d89": { + "balance": "0xd8d726b7177a800000" }, - "47d792a756779aedf1343e8883a6619c6c281184": { - "balance": "2000000000000000000000" + "0x47d792a756779aedf1343e8883a6619c6c281184": { + "balance": "0x6c6b935b8bbd400000" }, - "70c213488a020c3cfb39014ef5ba6404724bcaa3": { - "balance": "1940000000000000000000" + "0x70c213488a020c3cfb39014ef5ba6404724bcaa3": { + "balance": "0x692ae8897081d00000" }, - "133c490fa5bf7f372888e607d958fab7f955bae1": { - "balance": "1580000000000000000000" + "0x133c490fa5bf7f372888e607d958fab7f955bae1": { + "balance": "0x55a6e79ccd1d300000" }, - "a9e194661aac704ee9dea043974e9692ded84a5d": { - "balance": "482400000000000000000" + "0xa9e194661aac704ee9dea043974e9692ded84a5d": { + "balance": "0x1a26a51422a0700000" }, - "bc6b58364bf7f1951c309e0cba0595201cd73f9a": { - "balance": "1812400000000000000000" + "0xbc6b58364bf7f1951c309e0cba0595201cd73f9a": { + "balance": "0x62401a457e45f80000" }, - "2309d34091445b3232590bd70f4f10025b2c9509": { - "balance": "10000000000000000000000" + "0x2309d34091445b3232590bd70f4f10025b2c9509": { + "balance": "0x21e19e0c9bab2400000" }, - "d89bc271b27ba3ab6962c94a559006ae38d5f56a": { - "balance": "2000000000000000000000" + "0xd89bc271b27ba3ab6962c94a559006ae38d5f56a": { + "balance": "0x6c6b935b8bbd400000" }, - "ff0e2fec304207467e1e3307f64cbf30af8fd9cd": { - "balance": "2000000000000000000000" + "0xff0e2fec304207467e1e3307f64cbf30af8fd9cd": { + "balance": "0x6c6b935b8bbd400000" }, - "c0b0b7a8a6e1acdd05e47f94c09688aa16c7ad8d": { - "balance": "64234000000000000000" + "0xc0b0b7a8a6e1acdd05e47f94c09688aa16c7ad8d": { + "balance": "0x37b6d02ac76710000" }, - "b66f92124b5e63035859e390628869dbdea9485e": { - "balance": "9850000000000000000000" + "0xb66f92124b5e63035859e390628869dbdea9485e": { + "balance": "0x215f835bc769da80000" }, - "a9e6e25e656b762558619f147a21985b8874edfe": { - "balance": "2000000000000000000000" + "0xa9e6e25e656b762558619f147a21985b8874edfe": { + "balance": "0x6c6b935b8bbd400000" }, - "a43e1947a9242b355561c30a829dfeeca2815af8": { - "balance": "3878255000000000000000" + "0xa43e1947a9242b355561c30a829dfeeca2815af8": { + "balance": "0xd23d99969fd6918000" }, - "8b20ad3b94656dbdc0dd21a393d8a7d9e02138cb": { - "balance": "3000000000000000000000" + "0x8b20ad3b94656dbdc0dd21a393d8a7d9e02138cb": { + "balance": "0xa2a15d09519be00000" }, - "aca2a838330b17302da731d30db48a04f0f207c1": { - "balance": "1337000000000000000000" + "0xaca2a838330b17302da731d30db48a04f0f207c1": { + "balance": "0x487a9a304539440000" }, - "fa60868aafd4ff4c5c57914b8ed58b425773dfa9": { - "balance": "8557400000000000000000" + "0xfa60868aafd4ff4c5c57914b8ed58b425773dfa9": { + "balance": "0x1cfe5c808f39fbc0000" }, - "1848003c25bfd4aa90e7fcb5d7b16bcd0cffc0d8": { - "balance": "1000000000000000000000" + "0x1848003c25bfd4aa90e7fcb5d7b16bcd0cffc0d8": { + "balance": "0x3635c9adc5dea00000" }, - "b4b185d943ee2b58631e33dff5af6854c17993ac": { - "balance": "1000000000000000000000" + "0xb4b185d943ee2b58631e33dff5af6854c17993ac": { + "balance": "0x3635c9adc5dea00000" }, - "7719888795ad745924c75760ddb1827dffd8cda8": { - "balance": "1999980000000000000000" + "0x7719888795ad745924c75760ddb1827dffd8cda8": { + "balance": "0x6c6b4c4da6ddbe0000" }, - "ccd521132d986cb96869842622a7dda26c3ed057": { - "balance": "2000000000000000000000" + "0xccd521132d986cb96869842622a7dda26c3ed057": { + "balance": "0x6c6b935b8bbd400000" }, - "253e32b74ea4490ab92606fda0aa257bf23dcb8b": { - "balance": "10000000000000000000000" + "0x253e32b74ea4490ab92606fda0aa257bf23dcb8b": { + "balance": "0x21e19e0c9bab2400000" }, - "3712367e5e55a96d5a19168f6eb2bc7e9971f869": { - "balance": "1000000000000000000000" + "0x3712367e5e55a96d5a19168f6eb2bc7e9971f869": { + "balance": "0x3635c9adc5dea00000" }, - "8f29a14a845ad458f2d108b568d813166bcdf477": { - "balance": "10000000000000000000000" + "0x8f29a14a845ad458f2d108b568d813166bcdf477": { + "balance": "0x21e19e0c9bab2400000" }, - "51a8c2163602a32ee24cf4aa97fd9ea414516941": { - "balance": "62904000000000000000" + "0x51a8c2163602a32ee24cf4aa97fd9ea414516941": { + "balance": "0x368f7e6b8672c0000" }, - "61cea71fa464d62a07063f920b0cc917539733d8": { - "balance": "1670000000000000000000" + "0x61cea71fa464d62a07063f920b0cc917539733d8": { + "balance": "0x5a87e7d7f5f6580000" }, - "6f81f3abb1f933b1df396b8e9cc723a89b7c9806": { - "balance": "280000000000000000000" + "0x6f81f3abb1f933b1df396b8e9cc723a89b7c9806": { + "balance": "0xf2dc7d47f15600000" }, - "61b1b8c012cd4c78f698e470f90256e6a30f48dd": { - "balance": "200000000000000000000" + "0x61b1b8c012cd4c78f698e470f90256e6a30f48dd": { + "balance": "0xad78ebc5ac6200000" }, - "4f3f2c673069ac97c2023607152981f5cd6063a0": { - "balance": "600000000000000000000" + "0x4f3f2c673069ac97c2023607152981f5cd6063a0": { + "balance": "0x2086ac351052600000" }, - "e2efa5fca79538ce6068bf31d2c516d4d53c08e5": { - "balance": "131200000000000000000" + "0xe2efa5fca79538ce6068bf31d2c516d4d53c08e5": { + "balance": "0x71cc408df63400000" }, - "2383c222e67e969190d3219ef14da37850e26c55": { - "balance": "2000000000000000000000" + "0x2383c222e67e969190d3219ef14da37850e26c55": { + "balance": "0x6c6b935b8bbd400000" }, - "eac3af5784927fe9a598fc4eec38b8102f37bc58": { - "balance": "1000000000000000000000" + "0xeac3af5784927fe9a598fc4eec38b8102f37bc58": { + "balance": "0x3635c9adc5dea00000" }, - "4fe56ab3bae1b0a44433458333c4b05a248f8241": { - "balance": "2180000000000000000000" + "0x4fe56ab3bae1b0a44433458333c4b05a248f8241": { + "balance": "0x762d93d1dd6f900000" }, - "fe9cfc3bb293ddb285e625f3582f74a6b0a5a6cd": { - "balance": "1970000000000000000000" + "0xfe9cfc3bb293ddb285e625f3582f74a6b0a5a6cd": { + "balance": "0x6acb3df27e1f880000" }, - "f48e1f13f6af4d84b371d7de4b273d03a263278e": { - "balance": "600000000000000000000" + "0xf48e1f13f6af4d84b371d7de4b273d03a263278e": { + "balance": "0x2086ac351052600000" }, - "1ba9228d388727f389150ea03b73c82de8eb2e09": { - "balance": "7258000000000000000000" + "0x1ba9228d388727f389150ea03b73c82de8eb2e09": { + "balance": "0x18974fbe177c9280000" }, - "37a7a6ff4ea3d60ec307ca516a48d3053bb79cbb": { - "balance": "2000000000000000000000" + "0x37a7a6ff4ea3d60ec307ca516a48d3053bb79cbb": { + "balance": "0x6c6b935b8bbd400000" }, - "e33840d8bca7da98a6f3d096d83de78b70b71ef8": { - "balance": "2000000000000000000000" + "0xe33840d8bca7da98a6f3d096d83de78b70b71ef8": { + "balance": "0x6c6b935b8bbd400000" }, - "8e7fd23848f4db07906a7d10c04b21803bb08227": { - "balance": "1000000000000000000000" + "0x8e7fd23848f4db07906a7d10c04b21803bb08227": { + "balance": "0x3635c9adc5dea00000" }, - "07d4334ec385e8aa54eedaeadb30022f0cdfa4ab": { - "balance": "2629946000000000000000" + "0x07d4334ec385e8aa54eedaeadb30022f0cdfa4ab": { + "balance": "0x8e91d520f2eb790000" }, - "d4b085fb086f3d0d68bf12926b1cc3142cae8770": { - "balance": "3700000000000000000000" + "0xd4b085fb086f3d0d68bf12926b1cc3142cae8770": { + "balance": "0xc893d09c8f51500000" }, - "5a87f034e6f68f4e74ffe60c64819436036cf7d7": { - "balance": "20000000000000000000" + "0x5a87f034e6f68f4e74ffe60c64819436036cf7d7": { + "balance": "0x1158e460913d00000" }, - "c00ab080b643e1c2bae363e0d195de2efffc1c44": { - "balance": "500000000000000000000" + "0xc00ab080b643e1c2bae363e0d195de2efffc1c44": { + "balance": "0x1b1ae4d6e2ef500000" }, - "22f3c779dd79023ea92a78b65c1a1780f62d5c4a": { - "balance": "1970000000000000000000" + "0x22f3c779dd79023ea92a78b65c1a1780f62d5c4a": { + "balance": "0x6acb3df27e1f880000" }, - "c7d5c7054081e918ec687b5ab36e973d18132935": { - "balance": "182000000000000000000" + "0xc7d5c7054081e918ec687b5ab36e973d18132935": { + "balance": "0x9ddc1e3b901180000" }, - "9662ee021926682b31c5f200ce457abea76c6ce9": { - "balance": "670500000000000000000" + "0x9662ee021926682b31c5f200ce457abea76c6ce9": { + "balance": "0x24590e8589eb6a0000" }, - "116a09df66cb150e97578e297fb06e13040c893c": { - "balance": "2000000000000000000000" + "0x116a09df66cb150e97578e297fb06e13040c893c": { + "balance": "0x6c6b935b8bbd400000" }, - "b7240af2af90b33c08ae9764103e35dce3638428": { - "balance": "8464547000000000000000" + "0xb7240af2af90b33c08ae9764103e35dce3638428": { + "balance": "0x1cadd2fe9686e638000" }, - "e8b28acda971725769db8f563d28666d41ddab6c": { - "balance": "10000000000000000000000" + "0xe8b28acda971725769db8f563d28666d41ddab6c": { + "balance": "0x21e19e0c9bab2400000" }, - "17d4918dfac15d77c47f9ed400a850190d64f151": { - "balance": "2000000000000000000000" + "0x17d4918dfac15d77c47f9ed400a850190d64f151": { + "balance": "0x6c6b935b8bbd400000" }, - "c42250b0fe42e6b7dcd5c890a6f0c88f5f5fb574": { - "balance": "149800000000000000000" + "0xc42250b0fe42e6b7dcd5c890a6f0c88f5f5fb574": { + "balance": "0x81ee4825359840000" }, - "5da2a9a4c2c0a4a924cbe0a53ab9d0c627a1cfa0": { - "balance": "733202000000000000000" + "0x5da2a9a4c2c0a4a924cbe0a53ab9d0c627a1cfa0": { + "balance": "0x27bf38c6544df50000" }, - "5869fb867d71f1387f863b698d09fdfb87c49b5c": { - "balance": "3666000000000000000000" + "0x5869fb867d71f1387f863b698d09fdfb87c49b5c": { + "balance": "0xc6bbf858b316080000" }, - "d49a75bb933fca1fca9aa1303a64b6cb44ea30e1": { - "balance": "10000000000000000000000" + "0xd49a75bb933fca1fca9aa1303a64b6cb44ea30e1": { + "balance": "0x21e19e0c9bab2400000" }, - "76331e30796ce664b2700e0d4153700edc869777": { - "balance": "2000000000000000000000" + "0x76331e30796ce664b2700e0d4153700edc869777": { + "balance": "0x6c6b935b8bbd400000" }, - "8a5fb75793d043f1bcd43885e037bd30a528c927": { - "balance": "356500000000000000000" + "0x8a5fb75793d043f1bcd43885e037bd30a528c927": { + "balance": "0x13536e6d2e9ac20000" }, - "fc0ee6f7c2b3714ae9916c45566605b656f32441": { - "balance": "1760000000000000000000" + "0xfc0ee6f7c2b3714ae9916c45566605b656f32441": { + "balance": "0x5f68e8131ecf800000" }, - "bf50ce2e264b9fe2b06830617aedf502b2351b45": { - "balance": "1000000000000000000000" + "0xbf50ce2e264b9fe2b06830617aedf502b2351b45": { + "balance": "0x3635c9adc5dea00000" }, - "0f6000de1578619320aba5e392706b131fb1de6f": { - "balance": "499986000000000000000" + "0x0f6000de1578619320aba5e392706b131fb1de6f": { + "balance": "0x1b1ab319f5ec750000" }, - "c953f934c0eb2d0f144bdab00483fd8194865ce7": { - "balance": "2000000000000000000000" + "0xc953f934c0eb2d0f144bdab00483fd8194865ce7": { + "balance": "0x6c6b935b8bbd400000" }, - "24fd9a6c874c2fab3ff36e9afbf8ce0d32c7de92": { - "balance": "1337000000000000000000" + "0x24fd9a6c874c2fab3ff36e9afbf8ce0d32c7de92": { + "balance": "0x487a9a304539440000" }, - "c6cd68ec35362c5ad84c82ad4edc232125912d99": { - "balance": "27750000000000000000000" + "0xc6cd68ec35362c5ad84c82ad4edc232125912d99": { + "balance": "0x5e0549c9632e1d80000" }, - "2a67660a1368efcd626ef36b2b1b601980941c05": { - "balance": "133700000000000000000" + "0x2a67660a1368efcd626ef36b2b1b601980941c05": { + "balance": "0x73f75d1a085ba0000" }, - "9deb39027af877992b89f2ec4a1f822ecdf12693": { - "balance": "2000000000000000000000" + "0x9deb39027af877992b89f2ec4a1f822ecdf12693": { + "balance": "0x6c6b935b8bbd400000" }, - "c12f881fa112b8199ecbc73ec4185790e614a20f": { - "balance": "2000000000000000000000" + "0xc12f881fa112b8199ecbc73ec4185790e614a20f": { + "balance": "0x6c6b935b8bbd400000" }, - "d58a52e078a805596b0d56ea4ae1335af01c66eb": { - "balance": "267400000000000000000" + "0xd58a52e078a805596b0d56ea4ae1335af01c66eb": { + "balance": "0xe7eeba3410b740000" }, - "4d7cfaa84cb33106800a8c802fb8aa463896c599": { - "balance": "1790000000000000000000" + "0x4d7cfaa84cb33106800a8c802fb8aa463896c599": { + "balance": "0x61093d7c2c6d380000" }, - "0ee391f03c765b11d69026fd1ab35395dc3802a0": { - "balance": "200000000000000000000" + "0x0ee391f03c765b11d69026fd1ab35395dc3802a0": { + "balance": "0xad78ebc5ac6200000" }, - "a192f06ab052d5fd7f94eea8318e827815fe677a": { - "balance": "131400000000000000000" + "0xa192f06ab052d5fd7f94eea8318e827815fe677a": { + "balance": "0x71f8a93d01e540000" }, - "8f0ab894bd3f4e697dbcfb859d497a9ba195994a": { - "balance": "39501652000000000000000" + "0x8f0ab894bd3f4e697dbcfb859d497a9ba195994a": { + "balance": "0x85d638b65472aa20000" }, - "387eeafd6b4009deaf8bd5b85a72983a8dcc3487": { - "balance": "4000000000000000000000" + "0x387eeafd6b4009deaf8bd5b85a72983a8dcc3487": { + "balance": "0xd8d726b7177a800000" }, - "03b0f17cd4469ddccfb7da697e82a91a5f9e7774": { - "balance": "20000000000000000000" + "0x03b0f17cd4469ddccfb7da697e82a91a5f9e7774": { + "balance": "0x1158e460913d00000" }, - "11172b278ddd44eea2fdf4cb1d16962391c453d9": { - "balance": "935900000000000000000000" + "0x11172b278ddd44eea2fdf4cb1d16962391c453d9": { + "balance": "0xc62f3d9bfd4895f00000" }, - "33d172ab075c51db1cd40a8ca8dbff0d93b843bb": { - "balance": "5727139000000000000000" + "0x33d172ab075c51db1cd40a8ca8dbff0d93b843bb": { + "balance": "0x136780510d12de38000" }, - "909b5e763a39dcc795223d73a1dbb7d94ca75ac8": { - "balance": "2000000000000000000000" + "0x909b5e763a39dcc795223d73a1dbb7d94ca75ac8": { + "balance": "0x6c6b935b8bbd400000" }, - "0ca12ab0b9666cf0cec6671a15292f2653476ab2": { - "balance": "210000600000000000000000" + "0x0ca12ab0b9666cf0cec6671a15292f2653476ab2": { + "balance": "0x2c7827c42d22d07c0000" }, - "6b5ae7bf78ec75e90cb503c778ccd3b24b4f1aaf": { - "balance": "800000000000000000000" + "0x6b5ae7bf78ec75e90cb503c778ccd3b24b4f1aaf": { + "balance": "0x2b5e3af16b18800000" }, - "d9e3857efd1e202a441770a777a49dcc45e2e0d3": { - "balance": "223500000000000000000" + "0xd9e3857efd1e202a441770a777a49dcc45e2e0d3": { + "balance": "0xc1daf81d8a3ce0000" }, - "d703c6a4f11d60194579d58c2766a7ef16c30a29": { - "balance": "2000000000000000000000" + "0xd703c6a4f11d60194579d58c2766a7ef16c30a29": { + "balance": "0x6c6b935b8bbd400000" }, - "838bd565f99fde48053f7917fe333cf84ad548ab": { - "balance": "200000000000000000000" + "0x838bd565f99fde48053f7917fe333cf84ad548ab": { + "balance": "0xad78ebc5ac6200000" }, - "8168edce7f2961cf295b9fcd5a45c06cdeda6ef5": { - "balance": "200000000000000000000" + "0x8168edce7f2961cf295b9fcd5a45c06cdeda6ef5": { + "balance": "0xad78ebc5ac6200000" }, - "de50868eb7e3c71937ec73fa89dd8b9ee10d45aa": { - "balance": "1000000000000000000000" + "0xde50868eb7e3c71937ec73fa89dd8b9ee10d45aa": { + "balance": "0x3635c9adc5dea00000" }, - "087498c0464668f31150f4d3c4bcdda5221ba102": { - "balance": "20000000000000000000" + "0x087498c0464668f31150f4d3c4bcdda5221ba102": { + "balance": "0x1158e460913d00000" }, - "613fab44b16bbe554d44afd178ab1d02f37aeaa5": { - "balance": "2000000000000000000000" + "0x613fab44b16bbe554d44afd178ab1d02f37aeaa5": { + "balance": "0x6c6b935b8bbd400000" }, - "e2ee691f237ee6529b6557f2fcdd3dcf0c59ec63": { - "balance": "5450048000000000000000" + "0xe2ee691f237ee6529b6557f2fcdd3dcf0c59ec63": { + "balance": "0x127729c14687c200000" }, - "a9ed377b7d6ec25971c1a597a3b0f3bead57c98f": { - "balance": "400000000000000000000" + "0xa9ed377b7d6ec25971c1a597a3b0f3bead57c98f": { + "balance": "0x15af1d78b58c400000" }, - "175feeea2aa4e0efda12e1588d2f483290ede81a": { - "balance": "200000000000000000000" + "0x175feeea2aa4e0efda12e1588d2f483290ede81a": { + "balance": "0xad78ebc5ac6200000" }, - "b51ddcb4dd4e8ae6be336dd9654971d9fec86b41": { - "balance": "421133000000000000000" + "0xb51ddcb4dd4e8ae6be336dd9654971d9fec86b41": { + "balance": "0x16d464f83de2948000" }, - "92c0f573eccf62c54810ee6ba8d1f113542b301b": { - "balance": "3384000000000000000000" + "0x92c0f573eccf62c54810ee6ba8d1f113542b301b": { + "balance": "0xb7726f16ccb1e00000" }, - "a109e18bb0a39c9ef82fa19597fc5ed8e9eb6d58": { - "balance": "1640000000000000000000" + "0xa109e18bb0a39c9ef82fa19597fc5ed8e9eb6d58": { + "balance": "0x58e7926ee858a00000" }, - "f74e6e145382b4db821fe0f2d98388f45609c69f": { - "balance": "100000000000000000000" + "0xf74e6e145382b4db821fe0f2d98388f45609c69f": { + "balance": "0x56bc75e2d63100000" }, - "378f37243f3ff0bef5e1dc85eb4308d9340c29f9": { - "balance": "2000200000000000000000" + "0x378f37243f3ff0bef5e1dc85eb4308d9340c29f9": { + "balance": "0x6c6e59e67c78540000" }, - "84e9949680bece6841b9a7e5250d08acd87d16cd": { - "balance": "200000000000000000000" + "0x84e9949680bece6841b9a7e5250d08acd87d16cd": { + "balance": "0xad78ebc5ac6200000" }, - "882bd3a2e9d74110b24961c53777f22f1f46dc5d": { - "balance": "13370000000000000000000" + "0x882bd3a2e9d74110b24961c53777f22f1f46dc5d": { + "balance": "0x2d4ca05e2b43ca80000" }, - "acce01e0a70610dc70bb91e9926fa9957f372fba": { - "balance": "537000000000000000000" + "0xacce01e0a70610dc70bb91e9926fa9957f372fba": { + "balance": "0x1d1c5f3eda20c40000" }, - "c5f687717246da8a200d20e5e9bcac60b67f3861": { - "balance": "28650000000000000000" + "0xc5f687717246da8a200d20e5e9bcac60b67f3861": { + "balance": "0x18d993f34aef10000" }, - "e14617f6022501e97e7b3e2d8836aa61f0ff2dba": { - "balance": "200000000000000000000" + "0xe14617f6022501e97e7b3e2d8836aa61f0ff2dba": { + "balance": "0xad78ebc5ac6200000" }, - "076ee99d3548623a03b5f99859d2d785a1778d48": { - "balance": "200000000000000000000" + "0x076ee99d3548623a03b5f99859d2d785a1778d48": { + "balance": "0xad78ebc5ac6200000" }, - "2c424ee47f583cdce07ae318b6fad462381d4d2b": { - "balance": "4000000000000000000000" + "0x2c424ee47f583cdce07ae318b6fad462381d4d2b": { + "balance": "0xd8d726b7177a800000" }, - "f98250730c4c61c57f129835f2680894794542f3": { - "balance": "4000000000000000000000" + "0xf98250730c4c61c57f129835f2680894794542f3": { + "balance": "0xd8d726b7177a800000" }, - "ed1b24b6912d51b334ac0de6e771c7c0454695ea": { - "balance": "40000000000000000000" + "0xed1b24b6912d51b334ac0de6e771c7c0454695ea": { + "balance": "0x22b1c8c1227a00000" }, - "ffd5170fd1a8118d558e7511e364b24906c4f6b3": { - "balance": "60085000000000000000" + "0xffd5170fd1a8118d558e7511e364b24906c4f6b3": { + "balance": "0x341d8cd27f1588000" }, - "bf49c14898316567d8b709c2e50594b366c6d38c": { - "balance": "733202000000000000000" + "0xbf49c14898316567d8b709c2e50594b366c6d38c": { + "balance": "0x27bf38c6544df50000" }, - "65ea26eabbe2f64ccccfe06829c25d4637520225": { - "balance": "700000000000000000000" + "0x65ea26eabbe2f64ccccfe06829c25d4637520225": { + "balance": "0x25f273933db5700000" }, - "5c5419565c3aad4e714e0739328e3521c98f05cc": { - "balance": "528000000000000000000" + "0x5c5419565c3aad4e714e0739328e3521c98f05cc": { + "balance": "0x1c9f78d2893e400000" }, - "c53b50fd3b2b72bc6c430baf194a515585d3986d": { - "balance": "20000000000000000000" + "0xc53b50fd3b2b72bc6c430baf194a515585d3986d": { + "balance": "0x1158e460913d00000" }, - "2b74c373d04bfb0fd60a18a01a88fbe84770e58c": { - "balance": "40000000000000000000" + "0x2b74c373d04bfb0fd60a18a01a88fbe84770e58c": { + "balance": "0x22b1c8c1227a00000" }, - "d97f4526dea9b163f8e8e33a6bcf92fb907de6ec": { - "balance": "284000000000000000000" + "0xd97f4526dea9b163f8e8e33a6bcf92fb907de6ec": { + "balance": "0xf654aaf4db2f00000" }, - "a4a49f0bc8688cc9e6dc04e1e08d521026e65574": { - "balance": "200000000000000000000" + "0xa4a49f0bc8688cc9e6dc04e1e08d521026e65574": { + "balance": "0xad78ebc5ac6200000" }, - "575c00c2818210c28555a0ff29010289d3f82309": { - "balance": "10000000000000000000000" + "0x575c00c2818210c28555a0ff29010289d3f82309": { + "balance": "0x21e19e0c9bab2400000" }, - "3f1233714f204de9de4ee96d073b368d8197989f": { - "balance": "38606000000000000000" + "0x3f1233714f204de9de4ee96d073b368d8197989f": { + "balance": "0x217c41074e6bb0000" }, - "f964d98d281730ba35b2e3a314796e7b42fedf67": { - "balance": "1543800000000000000000" + "0xf964d98d281730ba35b2e3a314796e7b42fedf67": { + "balance": "0x53b0876098d80c0000" }, - "1deec01abe5c0d952de9106c3dc30639d85005d6": { - "balance": "2000000000000000000000" + "0x1deec01abe5c0d952de9106c3dc30639d85005d6": { + "balance": "0x6c6b935b8bbd400000" }, - "12d60d65b7d9fc48840be5f891c745ce76ee501e": { - "balance": "21359400000000000000000" + "0x12d60d65b7d9fc48840be5f891c745ce76ee501e": { + "balance": "0x485e5388d0c76840000" }, - "5c6136e218de0a61a137b2b3962d2a6112b809d7": { - "balance": "294273000000000000000" + "0x5c6136e218de0a61a137b2b3962d2a6112b809d7": { + "balance": "0xff3dbb65ff4868000" }, - "cd43258b7392a930839a51b2ef8ad23412f75a9f": { - "balance": "2000000000000000000000" + "0xcd43258b7392a930839a51b2ef8ad23412f75a9f": { + "balance": "0x6c6b935b8bbd400000" }, - "db3f258ab2a3c2cf339c4499f75a4bd1d3472e9e": { - "balance": "1500000000000000000000" + "0xdb3f258ab2a3c2cf339c4499f75a4bd1d3472e9e": { + "balance": "0x5150ae84a8cdf00000" }, - "0edd4b580ff10fe06c4a03116239ef96622bae35": { - "balance": "197000000000000000000" + "0x0edd4b580ff10fe06c4a03116239ef96622bae35": { + "balance": "0xaadec983fcff40000" }, - "1d157c5876c5cad553c912caf6ce2d5277e05c73": { - "balance": "2000000000000000000000" + "0x1d157c5876c5cad553c912caf6ce2d5277e05c73": { + "balance": "0x6c6b935b8bbd400000" }, - "cda1b886e3a795c9ba77914e0a2fe5676f0f5ccf": { - "balance": "106024000000000000000" + "0xcda1b886e3a795c9ba77914e0a2fe5676f0f5ccf": { + "balance": "0x5bf60ea42c2040000" }, - "f50cbafd397edd556c0678988cb2af5c2617e0a2": { - "balance": "716000000000000000000" + "0xf50cbafd397edd556c0678988cb2af5c2617e0a2": { + "balance": "0x26d07efe782bb00000" }, - "327bb49e754f6fb4f733c6e06f3989b4f65d4bee": { - "balance": "20000000000000000000" + "0x327bb49e754f6fb4f733c6e06f3989b4f65d4bee": { + "balance": "0x1158e460913d00000" }, - "c44bdec8c36c5c68baa2ddf1d431693229726c43": { - "balance": "100000000000000000000000" + "0xc44bdec8c36c5c68baa2ddf1d431693229726c43": { + "balance": "0x152d02c7e14af6800000" }, - "34e2849bea583ab0cc37975190f322b395055582": { - "balance": "7780340000000000000000" + "0x34e2849bea583ab0cc37975190f322b395055582": { + "balance": "0x1a5c5e857fdf2b20000" }, - "9221c9ce01232665741096ac07235903ad1fe2fc": { - "balance": "126489000000000000000" + "0x9221c9ce01232665741096ac07235903ad1fe2fc": { + "balance": "0x6db63335522628000" }, - "ff3ded7a40d3aff0d7a8c45fa6136aa0433db457": { - "balance": "1999800000000000000000" + "0xff3ded7a40d3aff0d7a8c45fa6136aa0433db457": { + "balance": "0x6c68ccd09b022c0000" }, - "10b5b34d1248fcf017f8c8ffc408ce899ceef92f": { - "balance": "267400000000000000000" + "0x10b5b34d1248fcf017f8c8ffc408ce899ceef92f": { + "balance": "0xe7eeba3410b740000" }, - "f1a1f320407964fd3c8f2e2cc8a4580da94f01ea": { - "balance": "2000040000000000000000" + "0xf1a1f320407964fd3c8f2e2cc8a4580da94f01ea": { + "balance": "0x6c6c2177557c440000" }, - "6c800d4b49ba07250460f993b8cbe00b266a2553": { - "balance": "492500000000000000000" + "0x6c800d4b49ba07250460f993b8cbe00b266a2553": { + "balance": "0x1ab2cf7c9f87e20000" }, - "f827d56ed2d32720d4abf103d6d0ef4d3bcd559b": { - "balance": "26265000000000000000" + "0xf827d56ed2d32720d4abf103d6d0ef4d3bcd559b": { + "balance": "0x16c80065791a28000" }, - "ffb9c7217e66743031eb377af65c77db7359dcda": { - "balance": "40000000000000000000" + "0xffb9c7217e66743031eb377af65c77db7359dcda": { + "balance": "0x22b1c8c1227a00000" }, - "530319db0a8f93e5bb7d4dbf4816314fbed8361b": { - "balance": "2000000000000000000000" + "0x530319db0a8f93e5bb7d4dbf4816314fbed8361b": { + "balance": "0x6c6b935b8bbd400000" }, - "9c28a2c4086091cb5da226a657ce3248e8ea7b6f": { - "balance": "280000000000000000000" + "0x9c28a2c4086091cb5da226a657ce3248e8ea7b6f": { + "balance": "0xf2dc7d47f15600000" }, - "db23a6fef1af7b581e772cf91882deb2516fc0a7": { - "balance": "200000000000000000000" + "0xdb23a6fef1af7b581e772cf91882deb2516fc0a7": { + "balance": "0xad78ebc5ac6200000" }, - "6636d7ac637a48f61d38b14cfd4865d36d142805": { - "balance": "500000000000000000000" + "0x6636d7ac637a48f61d38b14cfd4865d36d142805": { + "balance": "0x1b1ae4d6e2ef500000" }, - "b3c260609b9df4095e6c5dff398eeb5e2df49985": { - "balance": "254030000000000000000" + "0xb3c260609b9df4095e6c5dff398eeb5e2df49985": { + "balance": "0xdc55fdb17647b0000" }, - "58e5c9e344c806650dacfc904d33edba5107b0de": { - "balance": "19100000000000000000" + "0x58e5c9e344c806650dacfc904d33edba5107b0de": { + "balance": "0x10910d4cdc9f60000" }, - "4f67396d2553f998785f704e07a639197dd1948d": { - "balance": "300080000000000000000" + "0x4f67396d2553f998785f704e07a639197dd1948d": { + "balance": "0x104472521ba7380000" }, - "510d8159cc945768c7450790ba073ec0d9f89e30": { - "balance": "2560000000000000000000" + "0x510d8159cc945768c7450790ba073ec0d9f89e30": { + "balance": "0x8ac7230489e8000000" }, - "593c48935beaff0fde19b04d309cd530a28e52ce": { - "balance": "4000000000000000000000" + "0x593c48935beaff0fde19b04d309cd530a28e52ce": { + "balance": "0xd8d726b7177a800000" }, - "c27f4e08099d8cf39ee11601838ef9fc06d7fc41": { - "balance": "1790000000000000000000" + "0xc27f4e08099d8cf39ee11601838ef9fc06d7fc41": { + "balance": "0x61093d7c2c6d380000" }, - "07723e3c30e8b731ee456a291ee0e798b0204a77": { - "balance": "2000000000000000000000" + "0x07723e3c30e8b731ee456a291ee0e798b0204a77": { + "balance": "0x6c6b935b8bbd400000" }, - "0a652e2a8b77bd97a790d0e91361c98890dbb04e": { - "balance": "1000000000000000000000" + "0x0a652e2a8b77bd97a790d0e91361c98890dbb04e": { + "balance": "0x3635c9adc5dea00000" }, - "671015b97670b10d5e583f3d62a61c1c79c5143f": { - "balance": "400000000000000000000" + "0x671015b97670b10d5e583f3d62a61c1c79c5143f": { + "balance": "0x15af1d78b58c400000" }, - "7cc24a6a958c20c7d1249660f7586226950b0d9a": { - "balance": "1970000000000000000000" + "0x7cc24a6a958c20c7d1249660f7586226950b0d9a": { + "balance": "0x6acb3df27e1f880000" }, - "6ef9e8c9b6217d56769af97dbb1c8e1b8be799d2": { - "balance": "182000000000000000000" + "0x6ef9e8c9b6217d56769af97dbb1c8e1b8be799d2": { + "balance": "0x9ddc1e3b901180000" }, - "5c4368918ace6409c79eca80cdaae4391d2b624e": { - "balance": "4000000000000000000000" + "0x5c4368918ace6409c79eca80cdaae4391d2b624e": { + "balance": "0xd8d726b7177a800000" }, - "043707071e2ae21eed977891dc79cd5d8ee1c2da": { - "balance": "2000000000000000000000" + "0x043707071e2ae21eed977891dc79cd5d8ee1c2da": { + "balance": "0x6c6b935b8bbd400000" }, - "39bfd978689bec048fc776aa15247f5e1d7c39a2": { - "balance": "20000000000000000000000" + "0x39bfd978689bec048fc776aa15247f5e1d7c39a2": { + "balance": "0x43c33c1937564800000" }, - "05915d4e225a668162aee7d6c25fcfc6ed18db03": { - "balance": "66348000000000000000" + "0x05915d4e225a668162aee7d6c25fcfc6ed18db03": { + "balance": "0x398c37279259e0000" }, - "3f551ba93cd54693c183fb9ad60d65e1609673c9": { - "balance": "2000000000000000000000" + "0x3f551ba93cd54693c183fb9ad60d65e1609673c9": { + "balance": "0x6c6b935b8bbd400000" }, - "a8c0b02faf02cb5519dda884de7bbc8c88a2da81": { - "balance": "16700000000000000000" + "0xa8c0b02faf02cb5519dda884de7bbc8c88a2da81": { + "balance": "0xe7c2518505060000" }, - "bd0c5cd799ebc48642ef97d74e8e429064fee492": { - "balance": "326000000000000000000" + "0xbd0c5cd799ebc48642ef97d74e8e429064fee492": { + "balance": "0x11ac28a8c729580000" }, - "0a931b449ea8f12cdbd5e2c8cc76bad2c27c0639": { - "balance": "23031000000000000000" + "0x0a931b449ea8f12cdbd5e2c8cc76bad2c27c0639": { + "balance": "0x13f9e8c79fe058000" }, - "2ea5fee63f337a376e4b918ea82148f94d48a626": { - "balance": "1864242000000000000000" + "0x2ea5fee63f337a376e4b918ea82148f94d48a626": { + "balance": "0x650f8e0dd293c50000" }, - "cc6c2df00e86eca40f21ffda1a67a1690f477c65": { - "balance": "3160000000000000000000" + "0xcc6c2df00e86eca40f21ffda1a67a1690f477c65": { + "balance": "0xab4dcf399a3a600000" }, - "e5e37e19408f2cfbec83349dd48153a4a795a08f": { - "balance": "4200000000000000000000" + "0xe5e37e19408f2cfbec83349dd48153a4a795a08f": { + "balance": "0xe3aeb5737240a00000" }, - "f555a27bb1e2fd4e2cc784caee92939fc06e2fc9": { - "balance": "2000000000000000000000" + "0xf555a27bb1e2fd4e2cc784caee92939fc06e2fc9": { + "balance": "0x6c6b935b8bbd400000" }, - "dcf9719be87c6f46756db4891db9b611d2469c50": { - "balance": "1000000000000000000000" + "0xdcf9719be87c6f46756db4891db9b611d2469c50": { + "balance": "0x3635c9adc5dea00000" }, - "8e2f9034c9254719c38e50c9aa64305ed696df1e": { - "balance": "4728000000000000000000" + "0x8e2f9034c9254719c38e50c9aa64305ed696df1e": { + "balance": "0x1004e2e45fb7ee00000" }, - "a01f12d70f44aa7b113b285c22dcdb45873454a7": { - "balance": "18200000000000000000" + "0xa01f12d70f44aa7b113b285c22dcdb45873454a7": { + "balance": "0xfc936392801c0000" }, - "bce40475d345b0712dee703d87cd7657fc7f3b62": { - "balance": "7750000000000000000000" + "0xbce40475d345b0712dee703d87cd7657fc7f3b62": { + "balance": "0x1a420db02bd7d580000" }, - "bb19bf91cbad74cceb5f811db27e411bc2ea0656": { - "balance": "17600000000000000000" + "0xbb19bf91cbad74cceb5f811db27e411bc2ea0656": { + "balance": "0xf43fc2c04ee00000" }, - "acc062702c59615d3444ef6214b8862b009a02ed": { - "balance": "1499936000000000000000" + "0xacc062702c59615d3444ef6214b8862b009a02ed": { + "balance": "0x514fcb24ff9c500000" }, - "449ac4fbe383e36738855e364a57f471b2bfa131": { - "balance": "197000000000000000000000" + "0x449ac4fbe383e36738855e364a57f471b2bfa131": { + "balance": "0x29b76432b94451200000" }, - "ad59a78eb9a74a7fbdaefafa82eada8475f07f95": { - "balance": "500000000000000000000" + "0xad59a78eb9a74a7fbdaefafa82eada8475f07f95": { + "balance": "0x1b1ae4d6e2ef500000" }, - "6b6577f3909a4d6de0f411522d4570386400345c": { - "balance": "1880000000000000000000" + "0x6b6577f3909a4d6de0f411522d4570386400345c": { + "balance": "0x65ea3db75546600000" }, - "79bf2f7b6e328aaf26e0bb093fa22da29ef2f471": { - "balance": "1790000000000000000000" + "0x79bf2f7b6e328aaf26e0bb093fa22da29ef2f471": { + "balance": "0x61093d7c2c6d380000" }, - "940f715140509ffabf974546fab39022a41952d2": { - "balance": "1400000000000000000000" + "0x940f715140509ffabf974546fab39022a41952d2": { + "balance": "0x4be4e7267b6ae00000" }, - "1d572edd2d87ca271a6714c15a3b37761dcca005": { - "balance": "127674000000000000000" + "0x1d572edd2d87ca271a6714c15a3b37761dcca005": { + "balance": "0x6ebd52a8ddd390000" }, - "d78ecd25adc86bc2051d96f65364866b42a426b7": { - "balance": "3877300000000000000000" + "0xd78ecd25adc86bc2051d96f65364866b42a426b7": { + "balance": "0xd23058bf2f26120000" }, - "f9729d48282c9e87166d5eef2d01eda9dbf78821": { - "balance": "99981000000000000000" + "0xf9729d48282c9e87166d5eef2d01eda9dbf78821": { + "balance": "0x56b83ddc728548000" }, - "17762560e82a93b3f522e0e524adb8612c3a7470": { - "balance": "1000000000000000000000" + "0x17762560e82a93b3f522e0e524adb8612c3a7470": { + "balance": "0x3635c9adc5dea00000" }, - "d500e4d1c9824ba9f5b635cfa3a8c2c38bbd4ced": { - "balance": "400000000000000000000" + "0xd500e4d1c9824ba9f5b635cfa3a8c2c38bbd4ced": { + "balance": "0x15af1d78b58c400000" }, - "a11effab6cf0f5972cffe4d56596e98968144a8f": { - "balance": "1670000000000000000000" + "0xa11effab6cf0f5972cffe4d56596e98968144a8f": { + "balance": "0x5a87e7d7f5f6580000" }, - "f64ecf2117931c6d535a311e4ffeaef9d49405b8": { - "balance": "2674000000000000000000" + "0xf64ecf2117931c6d535a311e4ffeaef9d49405b8": { + "balance": "0x90f534608a72880000" }, - "229cc4711b62755ea296445ac3b77fc633821cf2": { - "balance": "39481000000000000000" + "0x229cc4711b62755ea296445ac3b77fc633821cf2": { + "balance": "0x223e8b05219328000" }, - "fc989cb487bf1a7d17e4c1b7c4b7aafdda6b0a8d": { - "balance": "20000000000000000000" + "0xfc989cb487bf1a7d17e4c1b7c4b7aafdda6b0a8d": { + "balance": "0x1158e460913d00000" }, - "ea8527febfa1ade29e26419329d393b940bbb7dc": { - "balance": "1999944000000000000000" + "0xea8527febfa1ade29e26419329d393b940bbb7dc": { + "balance": "0x6c6acc67d7b1d40000" }, - "bce13e22322acfb355cd21fd0df60cf93add26c6": { - "balance": "200000000000000000000" + "0xbce13e22322acfb355cd21fd0df60cf93add26c6": { + "balance": "0xad78ebc5ac6200000" }, - "19ff244fcfe3d4fa2f4fd99f87e55bb315b81eb6": { - "balance": "200000000000000000000" + "0x19ff244fcfe3d4fa2f4fd99f87e55bb315b81eb6": { + "balance": "0xad78ebc5ac6200000" }, - "d2581a55ce23ab10d8ad8c44378f59079bd6f658": { - "balance": "8800000000000000000000" + "0xd2581a55ce23ab10d8ad8c44378f59079bd6f658": { + "balance": "0x1dd0c885f9a0d800000" }, - "4073fa49b87117cb908cf1ab512da754a932d477": { - "balance": "1970000000000000000000" + "0x4073fa49b87117cb908cf1ab512da754a932d477": { + "balance": "0x6acb3df27e1f880000" }, - "b6a82933c9eadabd981e5d6d60a6818ff806e36b": { - "balance": "400000000000000000000" + "0xb6a82933c9eadabd981e5d6d60a6818ff806e36b": { + "balance": "0x15af1d78b58c400000" }, - "c79806032bc7d828f19ac6a640c68e3d820fa442": { - "balance": "20000000000000000000" + "0xc79806032bc7d828f19ac6a640c68e3d820fa442": { + "balance": "0x1158e460913d00000" }, - "577b2d073c590c50306f5b1195a4b2ba9ecda625": { - "balance": "373600000000000000000" + "0x577b2d073c590c50306f5b1195a4b2ba9ecda625": { + "balance": "0x1440bdd49515f00000" }, - "7f13d760498d7193ca6859bc95c901386423d76c": { - "balance": "5000000000000000000000" + "0x7f13d760498d7193ca6859bc95c901386423d76c": { + "balance": "0x10f0cf064dd59200000" }, - "416784af609630b070d49a8bcd12235c6428a408": { - "balance": "20000000000000000000000" + "0x416784af609630b070d49a8bcd12235c6428a408": { + "balance": "0x43c33c1937564800000" }, - "fbe71622bcbd31c1a36976e7e5f670c07ffe16de": { - "balance": "400000000000000000000" + "0xfbe71622bcbd31c1a36976e7e5f670c07ffe16de": { + "balance": "0x15af1d78b58c400000" }, - "a5698035391e67a49013c0002079593114feb353": { - "balance": "240000000000000000000" + "0xa5698035391e67a49013c0002079593114feb353": { + "balance": "0xd02ab486cedc00000" }, - "ab2871e507c7be3965498e8fb462025a1a1c4264": { - "balance": "775000000000000000000" + "0xab2871e507c7be3965498e8fb462025a1a1c4264": { + "balance": "0x2a034919dfbfbc0000" }, - "9c78fbb4df769ce2c156920cfedfda033a0e254a": { - "balance": "1970000000000000000000" + "0x9c78fbb4df769ce2c156920cfedfda033a0e254a": { + "balance": "0x6acb3df27e1f880000" }, - "95e6f93dac228bc7585a25735ac2d076cc3a4017": { - "balance": "6000000000000000000000" + "0x95e6f93dac228bc7585a25735ac2d076cc3a4017": { + "balance": "0x14542ba12a337c00000" }, - "3c1f91f301f4b565bca24751aa1f761322709ddd": { - "balance": "1790000000000000000000" + "0x3c1f91f301f4b565bca24751aa1f761322709ddd": { + "balance": "0x61093d7c2c6d380000" }, - "f77f9587ff7a2d7295f1f571c886bd33926a527c": { - "balance": "1999800000000000000000" + "0xf77f9587ff7a2d7295f1f571c886bd33926a527c": { + "balance": "0x6c68ccd09b022c0000" }, - "755f587e5efff773a220726a13d0f2130d9f896b": { - "balance": "1000000000000000000000" + "0x755f587e5efff773a220726a13d0f2130d9f896b": { + "balance": "0x3635c9adc5dea00000" }, - "8c6aa882ee322ca848578c06cb0fa911d3608305": { - "balance": "600000000000000000000" + "0x8c6aa882ee322ca848578c06cb0fa911d3608305": { + "balance": "0x2086ac351052600000" }, - "492cb5f861b187f9df21cd4485bed90b50ffe22d": { - "balance": "499928000000000000000" + "0x492cb5f861b187f9df21cd4485bed90b50ffe22d": { + "balance": "0x1b19e50b44977c0000" }, - "95a577dc2eb3ae6cb9dfc77af697d7efdfe89a01": { - "balance": "136000000000000000000" + "0x95a577dc2eb3ae6cb9dfc77af697d7efdfe89a01": { + "balance": "0x75f610f70ed200000" }, - "4173419d5c9f6329551dc4d3d0ceac1b701b869e": { - "balance": "88000000000000000000" + "0x4173419d5c9f6329551dc4d3d0ceac1b701b869e": { + "balance": "0x4c53ecdc18a600000" }, - "456ae0aca48ebcfae166060250525f63965e760f": { - "balance": "300000000000000000000" + "0x456ae0aca48ebcfae166060250525f63965e760f": { + "balance": "0x1043561a8829300000" }, - "81f8de2c283d5fd4afbda85dedf9760eabbbb572": { - "balance": "3000000000000000000000" + "0x81f8de2c283d5fd4afbda85dedf9760eabbbb572": { + "balance": "0xa2a15d09519be00000" }, - "cd0af3474e22f069ec3407870dd770443d5b12b0": { - "balance": "2626262000000000000000" + "0xcd0af3474e22f069ec3407870dd770443d5b12b0": { + "balance": "0x8e5eb4ee77b2ef0000" }, - "283c2314283c92d4b064f0aef9bb5246a7007f39": { - "balance": "200000000000000000000" + "0x283c2314283c92d4b064f0aef9bb5246a7007f39": { + "balance": "0xad78ebc5ac6200000" }, - "29b3f561ee7a6e25941e98a5325b78adc79785f3": { - "balance": "100000000000000000000" + "0x29b3f561ee7a6e25941e98a5325b78adc79785f3": { + "balance": "0x56bc75e2d63100000" }, - "cd4306d7f6947ac1744d4e13b8ef32cb657e1c00": { - "balance": "499986000000000000000" + "0xcd4306d7f6947ac1744d4e13b8ef32cb657e1c00": { + "balance": "0x1b1ab319f5ec750000" }, - "d9ec2efe99ff5cf00d03a8317b92a24aef441f7e": { - "balance": "2000000000000000000000" + "0xd9ec2efe99ff5cf00d03a8317b92a24aef441f7e": { + "balance": "0x6c6b935b8bbd400000" }, - "83dbf8a12853b40ac61996f8bf1dc8fdbaddd329": { - "balance": "970000000000000000000" + "0x83dbf8a12853b40ac61996f8bf1dc8fdbaddd329": { + "balance": "0x34957444b840e80000" }, - "9d93fab6e22845f8f45a07496f11de71530debc7": { - "balance": "1998000000000000000000" + "0x9d93fab6e22845f8f45a07496f11de71530debc7": { + "balance": "0x6c4fd1ee246e780000" }, - "fd204f4f4aba2525ba728afdf78792cbdeb735ae": { - "balance": "2000000000000000000000" + "0xfd204f4f4aba2525ba728afdf78792cbdeb735ae": { + "balance": "0x6c6b935b8bbd400000" }, - "99fad50038d0d9d4c3fbb4bce05606ecadcd5121": { - "balance": "2000000000000000000000" + "0x99fad50038d0d9d4c3fbb4bce05606ecadcd5121": { + "balance": "0x6c6b935b8bbd400000" }, - "d206aaddb336d45e7972e93cb075471d15897b5d": { - "balance": "600000000000000000000" + "0xd206aaddb336d45e7972e93cb075471d15897b5d": { + "balance": "0x2086ac351052600000" }, - "428a1ee0ed331d7952ccbe1c7974b2852bd1938a": { - "balance": "2208370000000000000000" + "0x428a1ee0ed331d7952ccbe1c7974b2852bd1938a": { + "balance": "0x77b74a4e8de5650000" }, - "690228e4bb12a8d4b5e0a797b0c5cf2a7509131e": { - "balance": "1880000000000000000000" + "0x690228e4bb12a8d4b5e0a797b0c5cf2a7509131e": { + "balance": "0x65ea3db75546600000" }, - "fa3a1aa4488b351aa7560cf5ee630a2fd45c3222": { - "balance": "878850000000000000000" + "0xfa3a1aa4488b351aa7560cf5ee630a2fd45c3222": { + "balance": "0x2fa47e6aa7340d0000" }, - "0372e852582e0934344a0fed2178304df25d4628": { - "balance": "20000000000000000000000" + "0x0372e852582e0934344a0fed2178304df25d4628": { + "balance": "0x43c33c1937564800000" }, - "35ea2163a38cdf9a123f82a5ec00258dae0bc767": { - "balance": "4000000000000000000000" + "0x35ea2163a38cdf9a123f82a5ec00258dae0bc767": { + "balance": "0xd8d726b7177a800000" }, - "d1fed0aee6f5dfd7e25769254c3cfad15adeccaa": { - "balance": "730000000000000000000" + "0xd1fed0aee6f5dfd7e25769254c3cfad15adeccaa": { + "balance": "0x2792c8fc4b53280000" }, - "c05b740620f173f16e52471dc38b9c514a0b1526": { - "balance": "140000000000000000000" + "0xc05b740620f173f16e52471dc38b9c514a0b1526": { + "balance": "0x796e3ea3f8ab00000" }, - "87e3062b2321e9dfb0875ce3849c9b2e3522d50a": { - "balance": "10000000000000000000000" + "0x87e3062b2321e9dfb0875ce3849c9b2e3522d50a": { + "balance": "0x21e19e0c9bab2400000" }, - "303fbaebbe46b35b6e5b74946a5f99bc1585cae7": { - "balance": "878148000000000000000" + "0x303fbaebbe46b35b6e5b74946a5f99bc1585cae7": { + "balance": "0x2f9ac0695f5bba0000" }, - "e7a8e471eafb798f4554cc6e526730fd56e62c7d": { - "balance": "1000000000000000000000" + "0xe7a8e471eafb798f4554cc6e526730fd56e62c7d": { + "balance": "0x3635c9adc5dea00000" }, - "ad7dd053859edff1cb6f9d2acbed6dd5e332426f": { - "balance": "1970000000000000000000" + "0xad7dd053859edff1cb6f9d2acbed6dd5e332426f": { + "balance": "0x6acb3df27e1f880000" }, - "dc4345d6812e870ae90c568c67d2c567cfb4f03c": { - "balance": "6700000000000000000000" + "0xdc4345d6812e870ae90c568c67d2c567cfb4f03c": { + "balance": "0x16b352da5e0ed300000" }, - "a6a08252c8595177cc2e60fc27593e2379c81fb1": { - "balance": "20055000000000000000" + "0xa6a08252c8595177cc2e60fc27593e2379c81fb1": { + "balance": "0x11651ac3e7a758000" }, - "a9af21acbe482f8131896a228036ba51b19453c3": { - "balance": "49999000000000000000" + "0xa9af21acbe482f8131896a228036ba51b19453c3": { + "balance": "0x2b5e021980cc18000" }, - "86e3fe86e93da486b14266eadf056cbfa4d91443": { - "balance": "2000000000000000000000" + "0x86e3fe86e93da486b14266eadf056cbfa4d91443": { + "balance": "0x6c6b935b8bbd400000" }, - "744b03bba8582ae5498e2dc22d19949467ab53fc": { - "balance": "500000000000000000000" + "0x744b03bba8582ae5498e2dc22d19949467ab53fc": { + "balance": "0x1b1ae4d6e2ef500000" }, - "d3118ea3c83505a9d893bb67e2de142d537a3ee7": { - "balance": "20000000000000000000" + "0xd3118ea3c83505a9d893bb67e2de142d537a3ee7": { + "balance": "0x1158e460913d00000" }, - "b32f1c2689a5ce79f1bc970b31584f1bcf2283e7": { - "balance": "20000000000000000000" + "0xb32f1c2689a5ce79f1bc970b31584f1bcf2283e7": { + "balance": "0x1158e460913d00000" }, - "4828e4cbe34e1510afb72c2beeac8a4513eaebd9": { - "balance": "3940000000000000000000" + "0x4828e4cbe34e1510afb72c2beeac8a4513eaebd9": { + "balance": "0xd5967be4fc3f100000" }, - "b07bcc085ab3f729f24400416837b69936ba8873": { - "balance": "2000140000000000000000" + "0xb07bcc085ab3f729f24400416837b69936ba8873": { + "balance": "0x6c6d84bccdd9ce0000" }, - "bdc74873af922b9df474853b0fa7ff0bf8c82695": { - "balance": "3999000000000000000000" + "0xbdc74873af922b9df474853b0fa7ff0bf8c82695": { + "balance": "0xd8c9460063d31c0000" }, - "15ebd1c7cad2aff19275c657c4d808d010efa0f5": { - "balance": "200550000000000000000" + "0x15ebd1c7cad2aff19275c657c4d808d010efa0f5": { + "balance": "0xadf30ba70c8970000" }, - "cbc04b4d8b82caf670996f160c362940d66fcf1a": { - "balance": "6000000000000000000000" + "0xcbc04b4d8b82caf670996f160c362940d66fcf1a": { + "balance": "0x14542ba12a337c00000" }, - "8197948121732e63d9c148194ecad46e30b749c8": { - "balance": "4000000000000000000000" + "0x8197948121732e63d9c148194ecad46e30b749c8": { + "balance": "0xd8d726b7177a800000" }, - "69797bfb12c9bed682b91fbc593591d5e4023728": { - "balance": "10000000000000000000000" + "0x69797bfb12c9bed682b91fbc593591d5e4023728": { + "balance": "0x21e19e0c9bab2400000" }, - "be9b8c34b78ee947ff81472eda7af9d204bc8466": { - "balance": "150000000000000000000" + "0xbe9b8c34b78ee947ff81472eda7af9d204bc8466": { + "balance": "0x821ab0d4414980000" }, - "df3f57b8ee6434d047223def74b20f63f9e4f955": { - "balance": "250500000000000000000" + "0xdf3f57b8ee6434d047223def74b20f63f9e4f955": { + "balance": "0xd9462c6cb4b5a0000" }, - "a3ae1879007d801cb5f352716a4dd8ba2721de3d": { - "balance": "200000000000000000000000" + "0xa3ae1879007d801cb5f352716a4dd8ba2721de3d": { + "balance": "0x2a5a058fc295ed000000" }, - "cb4bb1c623ba28dc42bdaaa6e74e1d2aa1256c2a": { - "balance": "1999944000000000000000" + "0xcb4bb1c623ba28dc42bdaaa6e74e1d2aa1256c2a": { + "balance": "0x6c6acc67d7b1d40000" }, - "e03c00d00388ecbf4f263d0ac778bb41a57a40d9": { - "balance": "1000072000000000000000" + "0xe03c00d00388ecbf4f263d0ac778bb41a57a40d9": { + "balance": "0x3636c9796436740000" }, - "fc2c1f88961d019c3e9ea33009152e0693fbf88a": { - "balance": "8000000000000000000000" + "0xfc2c1f88961d019c3e9ea33009152e0693fbf88a": { + "balance": "0x1b1ae4d6e2ef5000000" }, - "8599cbd5a6a9dcd4b966be387d69775da5e33c6f": { - "balance": "58180000000000000000000" + "0x8599cbd5a6a9dcd4b966be387d69775da5e33c6f": { + "balance": "0xc51f1b1d52622900000" }, - "b7a31a7c38f3db09322eae11d2272141ea229902": { - "balance": "2000000000000000000000" + "0xb7a31a7c38f3db09322eae11d2272141ea229902": { + "balance": "0x6c6b935b8bbd400000" }, - "231a15acc199c89fa9cb22441cc70330bdcce617": { - "balance": "500000000000000000000" + "0x231a15acc199c89fa9cb22441cc70330bdcce617": { + "balance": "0x1b1ae4d6e2ef500000" }, - "3fbed6e7e0ca9c84fbe9ebcf9d4ef9bb49428165": { - "balance": "2000000000000000000000" + "0x3fbed6e7e0ca9c84fbe9ebcf9d4ef9bb49428165": { + "balance": "0x6c6b935b8bbd400000" }, - "92cfd60188efdfb2f8c2e7b1698abb9526c1511f": { - "balance": "2000000000000000000000" + "0x92cfd60188efdfb2f8c2e7b1698abb9526c1511f": { + "balance": "0x6c6b935b8bbd400000" }, - "5c936f3b9d22c403db5e730ff177d74eef42dbbf": { - "balance": "75000000000000000000" + "0x5c936f3b9d22c403db5e730ff177d74eef42dbbf": { + "balance": "0x410d586a20a4c0000" }, - "931fe712f64207a2fd5022728843548bfb8cbb05": { - "balance": "2000000000000000000000" + "0x931fe712f64207a2fd5022728843548bfb8cbb05": { + "balance": "0x6c6b935b8bbd400000" }, - "08d54e83ad486a934cfaeae283a33efd227c0e99": { - "balance": "1039000000000000000000" + "0x08d54e83ad486a934cfaeae283a33efd227c0e99": { + "balance": "0x38530583245edc0000" }, - "a339a3d8ca280e27d2415b26d1fc793228b66043": { - "balance": "1013600000000000000000" + "0xa339a3d8ca280e27d2415b26d1fc793228b66043": { + "balance": "0x36f28695b78ff00000" }, - "581f34b523e5b41c09c87c298e299cbc0e29d066": { - "balance": "1131607000000000000000" + "0x581f34b523e5b41c09c87c298e299cbc0e29d066": { + "balance": "0x3d5833aafd39758000" }, - "caaa68ee6cdf0d34454a769b0da148a1faaa1865": { - "balance": "7216000000000000000000" + "0xcaaa68ee6cdf0d34454a769b0da148a1faaa1865": { + "balance": "0x1872e1de7fe52c00000" }, - "0838a7768d9c2aca8ba279adfee4b1f491e326f1": { - "balance": "200000000000000000000" + "0x0838a7768d9c2aca8ba279adfee4b1f491e326f1": { + "balance": "0xad78ebc5ac6200000" }, - "dde77a4740ba08e7f73fbe3a1674912931742eeb": { - "balance": "19867021000000000000000" + "0xdde77a4740ba08e7f73fbe3a1674912931742eeb": { + "balance": "0x434fe4d4382f1d48000" }, - "cbe810fe0fecc964474a1db97728bc87e973fcbd": { - "balance": "10000000000000000000000" + "0xcbe810fe0fecc964474a1db97728bc87e973fcbd": { + "balance": "0x21e19e0c9bab2400000" }, - "86c28b5678af37d727ec05e4447790f15f71f2ea": { - "balance": "200000000000000000000" + "0x86c28b5678af37d727ec05e4447790f15f71f2ea": { + "balance": "0xad78ebc5ac6200000" }, - "dd6c062193eac23d2fdbf997d5063a346bb3b470": { - "balance": "20000000000000000000" + "0xdd6c062193eac23d2fdbf997d5063a346bb3b470": { + "balance": "0x1158e460913d00000" }, - "5975b9528f23af1f0e2ec08ac8ebaa786a2cb8e0": { - "balance": "345827000000000000000" + "0x5975b9528f23af1f0e2ec08ac8ebaa786a2cb8e0": { + "balance": "0x12bf50503ae3038000" }, - "e29d8ae452dcf3b6ac645e630409385551faae0a": { - "balance": "80276000000000000000" + "0xe29d8ae452dcf3b6ac645e630409385551faae0a": { + "balance": "0x45a0da4adf5420000" }, - "2fbc85798a583598b522166d6e9dda121d627dbc": { - "balance": "200000000000000000000" + "0x2fbc85798a583598b522166d6e9dda121d627dbc": { + "balance": "0xad78ebc5ac6200000" }, - "7a36aba5c31ea0ca7e277baa32ec46ce93cf7506": { - "balance": "20000000000000000000000" + "0x7a36aba5c31ea0ca7e277baa32ec46ce93cf7506": { + "balance": "0x43c33c1937564800000" }, - "dbcbcd7a57ea9db2349b878af34b1ad642a7f1d1": { - "balance": "200000000000000000000" + "0xdbcbcd7a57ea9db2349b878af34b1ad642a7f1d1": { + "balance": "0xad78ebc5ac6200000" }, - "92aae59768eddff83cfe60bb512e730a05a161d7": { - "balance": "1708015000000000000000" + "0x92aae59768eddff83cfe60bb512e730a05a161d7": { + "balance": "0x5c9778410c76d18000" }, - "a5e93b49ea7c509de7c44d6cfeddef5910deaaf2": { - "balance": "2000000000000000000000" + "0xa5e93b49ea7c509de7c44d6cfeddef5910deaaf2": { + "balance": "0x6c6b935b8bbd400000" }, - "e33d980220fab259af6a1f4b38cf0ef3c6e2ea1a": { - "balance": "2000000000000000000000" + "0xe33d980220fab259af6a1f4b38cf0ef3c6e2ea1a": { + "balance": "0x6c6b935b8bbd400000" }, - "8ed0af11ff2870da0681004afe18b013f7bd3882": { - "balance": "4000000000000000000000" + "0x8ed0af11ff2870da0681004afe18b013f7bd3882": { + "balance": "0xd8d726b7177a800000" }, - "f23e5c633221a8f7363e65870c9f287424d2a960": { - "balance": "1380000000000000000000" + "0xf23e5c633221a8f7363e65870c9f287424d2a960": { + "balance": "0x4acf58e07257100000" }, - "96334bfe04fffa590213eab36514f338b864b736": { - "balance": "400000000000000000000" + "0x96334bfe04fffa590213eab36514f338b864b736": { + "balance": "0x15af1d78b58c400000" }, - "fa1f1971a775c3504fef5079f640c2c4bce7ac05": { - "balance": "2000000000000000000000" + "0xfa1f1971a775c3504fef5079f640c2c4bce7ac05": { + "balance": "0x6c6b935b8bbd400000" }, - "df44c47fc303ac76e74f97194cca67b5bb3c023f": { - "balance": "591000000000000000000" + "0xdf44c47fc303ac76e74f97194cca67b5bb3c023f": { + "balance": "0x2009c5c8bf6fdc0000" }, - "4b74f5e58e2edf76daf70151964a0b8f1de0663c": { - "balance": "324020000000000000000" + "0x4b74f5e58e2edf76daf70151964a0b8f1de0663c": { + "balance": "0x1190ae4944ba120000" }, - "e38b91b35190b6d9deed021c30af094b953fdcaa": { - "balance": "33340000000000000000" + "0xe38b91b35190b6d9deed021c30af094b953fdcaa": { + "balance": "0x1ceaf795b6b860000" }, - "6b38de841fad7f53fe02da115bd86aaf662466bd": { - "balance": "1730000000000000000000" + "0x6b38de841fad7f53fe02da115bd86aaf662466bd": { + "balance": "0x5dc892aa1131c80000" }, - "11675a25554607a3b6c92a9ee8f36f75edd3e336": { - "balance": "159800000000000000000" + "0x11675a25554607a3b6c92a9ee8f36f75edd3e336": { + "balance": "0x8a9aba557e36c0000" }, - "0ba8705bf55cf219c0956b5e3fc01c4474a6cdc1": { - "balance": "94963000000000000000" + "0x0ba8705bf55cf219c0956b5e3fc01c4474a6cdc1": { + "balance": "0x525e0595d4d6b8000" }, - "0f05f120c89e9fbc93d4ab0c5e2b4a0df092b424": { - "balance": "30000000000000000000000" + "0x0f05f120c89e9fbc93d4ab0c5e2b4a0df092b424": { + "balance": "0x65a4da25d3016c00000" }, - "fdd1195f797d4f35717d15e6f9810a9a3ff55460": { - "balance": "18200000000000000000" + "0xfdd1195f797d4f35717d15e6f9810a9a3ff55460": { + "balance": "0xfc936392801c0000" }, - "63a61dc30a8e3b30a763c4213c801cbf98738178": { - "balance": "1000000000000000000000" + "0x63a61dc30a8e3b30a763c4213c801cbf98738178": { + "balance": "0x3635c9adc5dea00000" }, - "e5bdf34f4ccc483e4ca530cc7cf2bb18febe92b3": { - "balance": "126260000000000000000" + "0xe5bdf34f4ccc483e4ca530cc7cf2bb18febe92b3": { + "balance": "0x6d835a10bbcd20000" }, - "d6e09e98fe1300332104c1ca34fbfac554364ed9": { - "balance": "2000000000000000000000" + "0xd6e09e98fe1300332104c1ca34fbfac554364ed9": { + "balance": "0x6c6b935b8bbd400000" }, - "5bd6862d517d4de4559d4eec0a06cad05e2f946e": { - "balance": "200000000000000000000" + "0x5bd6862d517d4de4559d4eec0a06cad05e2f946e": { + "balance": "0xad78ebc5ac6200000" }, - "7294ec9da310bc6b4bbdf543b0ef45abfc3e1b4d": { - "balance": "22000000000000000000000" + "0x7294ec9da310bc6b4bbdf543b0ef45abfc3e1b4d": { + "balance": "0x4a89f54ef0121c00000" }, - "ae34861d342253194ffc6652dfde51ab44cad3fe": { - "balance": "466215000000000000000" + "0xae34861d342253194ffc6652dfde51ab44cad3fe": { + "balance": "0x194608686316bd8000" }, - "f50ae7fab4cfb5a646ee04ceadf9bf9dd5a8e540": { - "balance": "3999952000000000000000" + "0xf50ae7fab4cfb5a646ee04ceadf9bf9dd5a8e540": { + "balance": "0xd8d67c2f5895480000" }, - "dd2bdfa917c1f310e6fa35aa8af16939c233cd7d": { - "balance": "400000000000000000000" + "0xdd2bdfa917c1f310e6fa35aa8af16939c233cd7d": { + "balance": "0x15af1d78b58c400000" }, - "e0060462c47ff9679baef07159cae08c29f274a9": { - "balance": "2000000000000000000000" + "0xe0060462c47ff9679baef07159cae08c29f274a9": { + "balance": "0x6c6b935b8bbd400000" }, - "b7d12e84a2e4c4a6345af1dd1da9f2504a2a996e": { - "balance": "200000000000000000000" + "0xb7d12e84a2e4c4a6345af1dd1da9f2504a2a996e": { + "balance": "0xad78ebc5ac6200000" }, - "f5500178cb998f126417831a08c2d7abfff6ab5f": { - "balance": "1308923000000000000000" + "0xf5500178cb998f126417831a08c2d7abfff6ab5f": { + "balance": "0x46f4f4a5875a9f8000" }, - "fd377a385272900cb436a3bb7962cdffe93f5dad": { - "balance": "2000000000000000000000" + "0xfd377a385272900cb436a3bb7962cdffe93f5dad": { + "balance": "0x6c6b935b8bbd400000" }, - "a4a83a0738799b971bf2de708c2ebf911ca79eb2": { - "balance": "600000000000000000000" + "0xa4a83a0738799b971bf2de708c2ebf911ca79eb2": { + "balance": "0x2086ac351052600000" }, - "52a5e4de4393eeccf0581ac11b52c683c76ea15d": { - "balance": "19999800000000000000000" + "0x52a5e4de4393eeccf0581ac11b52c683c76ea15d": { + "balance": "0x43c30fb0884a96c0000" }, - "b07fdeaff91d4460fe6cd0e8a1b0bd8d22a62e87": { - "balance": "5260000000000000000000" + "0xb07fdeaff91d4460fe6cd0e8a1b0bd8d22a62e87": { + "balance": "0x11d2529f3535ab00000" }, - "35f5860149e4bbc04b8ac5b272be55ad1aca58e0": { - "balance": "200000000000000000000" + "0x35f5860149e4bbc04b8ac5b272be55ad1aca58e0": { + "balance": "0xad78ebc5ac6200000" }, - "fb135eb15a8bac72b69915342a60bbc06b7e077c": { - "balance": "20000000000000000000000" + "0xfb135eb15a8bac72b69915342a60bbc06b7e077c": { + "balance": "0x43c33c1937564800000" }, - "02d4a30968a39e2b3498c3a6a4ed45c1c6646822": { - "balance": "2000000000000000000000" + "0x02d4a30968a39e2b3498c3a6a4ed45c1c6646822": { + "balance": "0x6c6b935b8bbd400000" }, - "e44b7264dd836bee8e87970340ed2b9aed8ed0a5": { - "balance": "5772100000000000000000" + "0xe44b7264dd836bee8e87970340ed2b9aed8ed0a5": { + "balance": "0x138e7faa01a803a0000" }, - "e90a354cec04d69e5d96ddc0c5138d3d33150aa0": { - "balance": "499971000000000000000" + "0xe90a354cec04d69e5d96ddc0c5138d3d33150aa0": { + "balance": "0x1b1a7dcf8a44d38000" }, - "693d83be09459ef8390b2e30d7f7c28de4b4284e": { - "balance": "2000000000000000000000" + "0x693d83be09459ef8390b2e30d7f7c28de4b4284e": { + "balance": "0x6c6b935b8bbd400000" }, - "87bf7cd5d8a929e1c785f9e5449106ac232463c9": { - "balance": "77800000000000000000" + "0x87bf7cd5d8a929e1c785f9e5449106ac232463c9": { + "balance": "0x437b11fcc45640000" }, - "e5f8ef6d970636b0dcaa4f200ffdc9e75af1741c": { - "balance": "2000000000000000000000" + "0xe5f8ef6d970636b0dcaa4f200ffdc9e75af1741c": { + "balance": "0x6c6b935b8bbd400000" }, - "fef09d70243f39ed8cd800bf9651479e8f4aca3c": { - "balance": "200000000000000000000" + "0xfef09d70243f39ed8cd800bf9651479e8f4aca3c": { + "balance": "0xad78ebc5ac6200000" }, - "e98c91cadd924c92579e11b41217b282956cdaa1": { - "balance": "135800000000000000000" + "0xe98c91cadd924c92579e11b41217b282956cdaa1": { + "balance": "0x75c9a8480320c0000" }, - "c2836188d9a29253e0cbda6571b058c289a0bb32": { - "balance": "2000000000000000000000" + "0xc2836188d9a29253e0cbda6571b058c289a0bb32": { + "balance": "0x6c6b935b8bbd400000" }, - "afa6946effd5ff53154f82010253df47ae280ccc": { - "balance": "1970000000000000000000" + "0xafa6946effd5ff53154f82010253df47ae280ccc": { + "balance": "0x6acb3df27e1f880000" }, - "43c7ebc5b3e7af16f47dc5617ab10e0f39b4afbb": { - "balance": "1910000000000000000000" + "0x43c7ebc5b3e7af16f47dc5617ab10e0f39b4afbb": { + "balance": "0x678a932062e4180000" }, - "097ecda22567c2d91cb03f8c5215c22e9dcda949": { - "balance": "20055000000000000000" + "0x097ecda22567c2d91cb03f8c5215c22e9dcda949": { + "balance": "0x11651ac3e7a758000" }, - "3e66b84769566ab67945d5fa81373556bcc3a1fa": { - "balance": "152000000000000000000" + "0x3e66b84769566ab67945d5fa81373556bcc3a1fa": { + "balance": "0x83d6c7aab63600000" }, - "56373daab46316fd7e1576c61e6affcb6559ddd7": { - "balance": "215340000000000000000" + "0x56373daab46316fd7e1576c61e6affcb6559ddd7": { + "balance": "0xbac715d146c9e0000" }, - "faaeba8fc0bbda553ca72e30ef3d732e26e82041": { - "balance": "1338337000000000000000" + "0xfaaeba8fc0bbda553ca72e30ef3d732e26e82041": { + "balance": "0x488d282aafc9f68000" }, - "f54c19d9ef3873bfd1f7a622d02d86249a328f06": { - "balance": "44284729000000000000000" + "0xf54c19d9ef3873bfd1f7a622d02d86249a328f06": { + "balance": "0x960ae127af32fb28000" }, - "825309a7d45d1812f51e6e8df5a7b96f6c908887": { - "balance": "2365000000000000000000" + "0x825309a7d45d1812f51e6e8df5a7b96f6c908887": { + "balance": "0x8034f7d9b166d40000" }, - "89009e3c6488bd5e570d1da34eabe28ed024de1b": { - "balance": "20000000000000000000000" + "0x89009e3c6488bd5e570d1da34eabe28ed024de1b": { + "balance": "0x43c33c1937564800000" }, - "63977cad7d0dcdc52b9ac9f2ffa136e8642882b8": { - "balance": "75000000000000000000" + "0x63977cad7d0dcdc52b9ac9f2ffa136e8642882b8": { + "balance": "0x410d586a20a4c0000" }, - "c239abdfae3e9af5457f52ed2b91fd0ab4d9c700": { - "balance": "2000000000000000000000" + "0xc239abdfae3e9af5457f52ed2b91fd0ab4d9c700": { + "balance": "0x6c6b935b8bbd400000" }, - "1a4ec6a0ae7f5a9427d23db9724c0d0cffb2ab2f": { - "balance": "179000000000000000000" + "0x1a4ec6a0ae7f5a9427d23db9724c0d0cffb2ab2f": { + "balance": "0x9b41fbf9e0aec0000" }, - "a12a6c2d985daf0e4f5f207ae851aaf729b332cd": { - "balance": "100000000000000000000000" + "0xa12a6c2d985daf0e4f5f207ae851aaf729b332cd": { + "balance": "0x152d02c7e14af6800000" }, - "cbe52fc533d7dd608c92a260b37c3f45deb4eb33": { - "balance": "1000000000000000000000" + "0xcbe52fc533d7dd608c92a260b37c3f45deb4eb33": { + "balance": "0x3635c9adc5dea00000" }, - "abb2e6a72a40ba6ed908cdbcec3c5612583132fe": { - "balance": "1460000000000000000000" + "0xabb2e6a72a40ba6ed908cdbcec3c5612583132fe": { + "balance": "0x4f2591f896a6500000" }, - "6503860b191008c15583bfc88158099301762828": { - "balance": "1000000000000000000000" + "0x6503860b191008c15583bfc88158099301762828": { + "balance": "0x3635c9adc5dea00000" }, - "a0228240f99e1de9cb32d82c0f2fa9a3d44b0bf3": { - "balance": "1600000000000000000000" + "0xa0228240f99e1de9cb32d82c0f2fa9a3d44b0bf3": { + "balance": "0x56bc75e2d631000000" }, - "e154daeadb545838cbc6aa0c55751902f528682a": { - "balance": "4925000000000000000000" + "0xe154daeadb545838cbc6aa0c55751902f528682a": { + "balance": "0x10afc1ade3b4ed40000" }, - "8e92aba38e72a098170b92959246537a2e5556c0": { - "balance": "267400000000000000000" + "0x8e92aba38e72a098170b92959246537a2e5556c0": { + "balance": "0xe7eeba3410b740000" }, - "d23d7affacdc3e9f3dae7afcb4006f58f8a44600": { - "balance": "3600000000000000000000" + "0xd23d7affacdc3e9f3dae7afcb4006f58f8a44600": { + "balance": "0xc328093e61ee400000" }, - "00d78d89b35f472716eceafebf600527d3a1f969": { - "balance": "27750000000000000000000" + "0x00d78d89b35f472716eceafebf600527d3a1f969": { + "balance": "0x5e0549c9632e1d80000" }, - "120f9de6e0af7ec02a07c609ca8447f157e6344c": { - "balance": "267400000000000000000" + "0x120f9de6e0af7ec02a07c609ca8447f157e6344c": { + "balance": "0xe7eeba3410b740000" }, - "e0352fdf819ba265f14c06a6315c4ac1fe131b2e": { - "balance": "1000000000000000000000" + "0xe0352fdf819ba265f14c06a6315c4ac1fe131b2e": { + "balance": "0x3635c9adc5dea00000" }, - "8f47328ee03201c9d35ed2b5412b25decc859362": { - "balance": "2000000000000000000000" + "0x8f47328ee03201c9d35ed2b5412b25decc859362": { + "balance": "0x6c6b935b8bbd400000" }, - "453e359a3397944c5a275ab1a2f70a5e5a3f6989": { - "balance": "240000000000000000000" + "0x453e359a3397944c5a275ab1a2f70a5e5a3f6989": { + "balance": "0xd02ab486cedc00000" }, - "9bf58efbea0784eb068adecfa0bb215084c73a35": { - "balance": "5800000000000000000000" + "0x9bf58efbea0784eb068adecfa0bb215084c73a35": { + "balance": "0x13a6b2b564871a00000" }, - "21bfe1b45cacde6274fd8608d9a178bf3eeb6edc": { - "balance": "2009400000000000000000" + "0x21bfe1b45cacde6274fd8608d9a178bf3eeb6edc": { + "balance": "0x6cee06ddbe15ec0000" }, - "d1d5b17ffe2d7bbb79cc7d7930bcb2e518fb1bbf": { - "balance": "3000000000000000000000" + "0xd1d5b17ffe2d7bbb79cc7d7930bcb2e518fb1bbf": { + "balance": "0xa2a15d09519be00000" }, - "20a29c5079e26b3f18318bb2e50e8e8b346e5be8": { - "balance": "499986000000000000000" + "0x20a29c5079e26b3f18318bb2e50e8e8b346e5be8": { + "balance": "0x1b1ab319f5ec750000" }, - "7d392852f3abd92ff4bb5bb26cb60874f2be6795": { - "balance": "1000070000000000000000" + "0x7d392852f3abd92ff4bb5bb26cb60874f2be6795": { + "balance": "0x3636c25e66ece70000" }, - "55852943492970f8d629a15366cdda06a94f4513": { - "balance": "2000000000000000000000" + "0x55852943492970f8d629a15366cdda06a94f4513": { + "balance": "0x6c6b935b8bbd400000" }, - "ab5dfc1ea21adc42cf8c3f6e361e243fd0da61e5": { - "balance": "300000000000000000000" + "0xab5dfc1ea21adc42cf8c3f6e361e243fd0da61e5": { + "balance": "0x1043561a8829300000" }, - "9d2bfc36106f038250c01801685785b16c86c60d": { - "balance": "380000000000000000000000" + "0x9d2bfc36106f038250c01801685785b16c86c60d": { + "balance": "0x5077d75df1b675800000" }, - "6e60aee1a78f8eda8b424c73e353354ae67c3042": { - "balance": "3490300000000000000000" + "0x6e60aee1a78f8eda8b424c73e353354ae67c3042": { + "balance": "0xbd35a48d9919e60000" }, - "7e29290038493559194e946d4e460b96fc38a156": { - "balance": "309072000000000000000" + "0x7e29290038493559194e946d4e460b96fc38a156": { + "balance": "0x10c13c527763880000" }, - "6006e36d929bf45d8f16231b126a011ae283d925": { - "balance": "176000000000000000000" + "0x6006e36d929bf45d8f16231b126a011ae283d925": { + "balance": "0x98a7d9b8314c00000" }, - "d6d03572a45245dbd4368c4f82c95714bd2167e2": { - "balance": "1162200000000000000000" + "0xd6d03572a45245dbd4368c4f82c95714bd2167e2": { + "balance": "0x3f00c3d66686fc0000" }, - "d1432538e35b7664956ae495a32abdf041a7a21c": { - "balance": "19700000000000000000000" + "0xd1432538e35b7664956ae495a32abdf041a7a21c": { + "balance": "0x42bf06b78ed3b500000" }, - "2276264bec8526c0c0f270677abaf4f0e441e167": { - "balance": "1000000000000000000000" + "0x2276264bec8526c0c0f270677abaf4f0e441e167": { + "balance": "0x3635c9adc5dea00000" }, - "c8814e34523e38e1f927a7dce8466a447a093603": { - "balance": "10000000000000000000000" + "0xc8814e34523e38e1f927a7dce8466a447a093603": { + "balance": "0x21e19e0c9bab2400000" }, - "688a569e965524eb1d0ac3d3733eab909fb3d61e": { - "balance": "1320000000000000000000" + "0x688a569e965524eb1d0ac3d3733eab909fb3d61e": { + "balance": "0x478eae0e571ba00000" }, - "90dc09f717fc2a5b69fd60ba08ebf40bf4e8246c": { - "balance": "4000086000000000000000" + "0x90dc09f717fc2a5b69fd60ba08ebf40bf4e8246c": { + "balance": "0xd8d8583fa2d52f0000" }, - "239a733e6b855ac592d663156186a8a174d2449e": { - "balance": "1637020000000000000000" + "0x239a733e6b855ac592d663156186a8a174d2449e": { + "balance": "0x58be3758b241f60000" }, - "bcdfacb9d9023c3417182e9100e8ea1d373393a3": { - "balance": "59100000000000000000" + "0xbcdfacb9d9023c3417182e9100e8ea1d373393a3": { + "balance": "0x3342d60dff1960000" }, - "ba6440aeb3737b8ef0f1af9b0c15f4c214ffc7cf": { - "balance": "1000000000000000000000" + "0xba6440aeb3737b8ef0f1af9b0c15f4c214ffc7cf": { + "balance": "0x3635c9adc5dea00000" }, - "322e5c43b0f524389655a9b3ff24f2d4db3da10f": { - "balance": "4650000000000000000000" + "0x322e5c43b0f524389655a9b3ff24f2d4db3da10f": { + "balance": "0xfc13b69b3e7e680000" }, - "be5a60689998639ad75bc105a371743eef0f7940": { - "balance": "501700000000000000000" + "0xbe5a60689998639ad75bc105a371743eef0f7940": { + "balance": "0x1b327c73e1257a0000" }, - "b727a9fc82e1cffc5c175fa1485a9befa2cdbdd1": { - "balance": "999000000000000000000" + "0xb727a9fc82e1cffc5c175fa1485a9befa2cdbdd1": { + "balance": "0x3627e8f712373c0000" }, - "a3883a24f7f166205f1a6a9949076c26a76e7178": { - "balance": "1820000000000000000000" + "0xa3883a24f7f166205f1a6a9949076c26a76e7178": { + "balance": "0x62a992e53a0af00000" }, - "5e95fe5ffcf998f9f9ac0e9a81dab83ead77003d": { - "balance": "539766000000000000000" + "0x5e95fe5ffcf998f9f9ac0e9a81dab83ead77003d": { + "balance": "0x1d42c20d32797f0000" }, - "e60955dc0bc156f6c41849f6bd776ba44b0ef0a1": { - "balance": "299982000000000000000" + "0xe60955dc0bc156f6c41849f6bd776ba44b0ef0a1": { + "balance": "0x10431627a0933b0000" }, - "af203e229d7e6d419df4378ea98715515f631485": { - "balance": "1970000000000000000000" + "0xaf203e229d7e6d419df4378ea98715515f631485": { + "balance": "0x6acb3df27e1f880000" }, - "86499a1228ff2d7ee307759364506f8e8c8307a5": { - "balance": "1970000000000000000000" + "0x86499a1228ff2d7ee307759364506f8e8c8307a5": { + "balance": "0x6acb3df27e1f880000" }, - "1a04cec420ad432215246d77fe178d339ed0b595": { - "balance": "316000000000000000000" + "0x1a04cec420ad432215246d77fe178d339ed0b595": { + "balance": "0x11216185c29f700000" }, - "cc2b5f448f3528d3fe41cc7d1fa9c0dc76f1b776": { - "balance": "60000000000000000000" + "0xcc2b5f448f3528d3fe41cc7d1fa9c0dc76f1b776": { + "balance": "0x340aad21b3b700000" }, - "cb50587412822304ebcba07dab3a0f09fffee486": { - "balance": "1370000000000000000000" + "0xcb50587412822304ebcba07dab3a0f09fffee486": { + "balance": "0x4a4491bd6dcd280000" }, - "4ae2a04d3909ef454e544ccfd614bfefa71089ae": { - "balance": "442800000000000000000" + "0x4ae2a04d3909ef454e544ccfd614bfefa71089ae": { + "balance": "0x1801159df1eef80000" }, - "c8a2c4e59e1c7fc54805580438aed3e44afdf00e": { - "balance": "44000000000000000000" + "0xc8a2c4e59e1c7fc54805580438aed3e44afdf00e": { + "balance": "0x2629f66e0c5300000" }, - "5792814f59a33a1843faa01baa089eb02ffb5cf1": { - "balance": "499986000000000000000" + "0x5792814f59a33a1843faa01baa089eb02ffb5cf1": { + "balance": "0x1b1ab319f5ec750000" }, - "a1f2854050f872658ed82e52b0ad7bbc1cb921f6": { - "balance": "2010918000000000000000" + "0xa1f2854050f872658ed82e52b0ad7bbc1cb921f6": { + "balance": "0x6d0317e2b326f70000" }, - "92dca5e102b3b81b60f1a504634947c374a88ccb": { - "balance": "2000000000000000000000" + "0x92dca5e102b3b81b60f1a504634947c374a88ccb": { + "balance": "0x6c6b935b8bbd400000" }, - "732fead60f7bfdd6a9dec48125e3735db1b6654f": { - "balance": "20000000000000000000" + "0x732fead60f7bfdd6a9dec48125e3735db1b6654f": { + "balance": "0x1158e460913d00000" }, - "6bf7b3c065f2c1e7c6eb092ba0d15066f393d1b8": { - "balance": "400000000000000000000" + "0x6bf7b3c065f2c1e7c6eb092ba0d15066f393d1b8": { + "balance": "0x15af1d78b58c400000" }, - "cde36d81d128c59da145652193eec2bfd96586ef": { - "balance": "4000000000000000000000" + "0xcde36d81d128c59da145652193eec2bfd96586ef": { + "balance": "0xd8d726b7177a800000" }, - "40eddb448d690ed72e05c225d34fc8350fa1e4c5": { - "balance": "7000000000000000000000" + "0x40eddb448d690ed72e05c225d34fc8350fa1e4c5": { + "balance": "0x17b7883c06916600000" }, - "454b61b344c0ef965179238155f277c3829d0b38": { - "balance": "2000000000000000000000" + "0x454b61b344c0ef965179238155f277c3829d0b38": { + "balance": "0x6c6b935b8bbd400000" }, - "ac3da526cfce88297302f34c49ca520dc271f9b2": { - "balance": "800000000000000000000" + "0xac3da526cfce88297302f34c49ca520dc271f9b2": { + "balance": "0x2b5e3af16b18800000" }, - "c989eec307e8839b9d7237cfda08822962abe487": { - "balance": "400000000000000000000" + "0xc989eec307e8839b9d7237cfda08822962abe487": { + "balance": "0x15af1d78b58c400000" }, - "e99de258a4173ce9ac38ede26c0b3bea3c0973d5": { - "balance": "1656800000000000000000" + "0xe99de258a4173ce9ac38ede26c0b3bea3c0973d5": { + "balance": "0x59d0b805e5bb300000" }, - "ff0cb06c42e3d88948e45bd7b0d4e291aefeea51": { - "balance": "1910000000000000000000" + "0xff0cb06c42e3d88948e45bd7b0d4e291aefeea51": { + "balance": "0x678a932062e4180000" }, - "0990e81cd785599ea236bd1966cf526302c35b9c": { - "balance": "1000000000000000000000" + "0x0990e81cd785599ea236bd1966cf526302c35b9c": { + "balance": "0x3635c9adc5dea00000" }, - "6da0ed8f1d69339f059f2a0e02471cb44fb8c3bb": { - "balance": "935900000000000000000" + "0x6da0ed8f1d69339f059f2a0e02471cb44fb8c3bb": { + "balance": "0x32bc38bb63a8160000" }, - "5d958a9bd189c2985f86c58a8c69a7a78806e8da": { - "balance": "10200000000000000000000" + "0x5d958a9bd189c2985f86c58a8c69a7a78806e8da": { + "balance": "0x228f16f861578600000" }, - "98be696d51e390ff1c501b8a0f6331b628ddc5ad": { - "balance": "2000000000000000000000" + "0x98be696d51e390ff1c501b8a0f6331b628ddc5ad": { + "balance": "0x6c6b935b8bbd400000" }, - "09d0b8cd077c69d9f32d9cca43b3c208a21ed48b": { - "balance": "150011000000000000000" + "0x09d0b8cd077c69d9f32d9cca43b3c208a21ed48b": { + "balance": "0x821d221b5291f8000" }, - "96e7c0c9d5bf10821bf140c558a145b7cac21397": { - "balance": "1056000000000000000000" + "0x96e7c0c9d5bf10821bf140c558a145b7cac21397": { + "balance": "0x393ef1a5127c800000" }, - "5b736eb18353629bde9676dadd165034ce5ecc68": { - "balance": "1970000000000000000000" + "0x5b736eb18353629bde9676dadd165034ce5ecc68": { + "balance": "0x6acb3df27e1f880000" }, - "e5a365343cc4eb1e770368e1f1144a77b832d7e0": { - "balance": "20000000000000000000" + "0xe5a365343cc4eb1e770368e1f1144a77b832d7e0": { + "balance": "0x1158e460913d00000" }, - "4cf5537b85842f89cfee359eae500fc449d2118f": { - "balance": "1000000000000000000000" + "0x4cf5537b85842f89cfee359eae500fc449d2118f": { + "balance": "0x3635c9adc5dea00000" }, - "c71f1d75873f33dcb2dd4b3987a12d0791a5ce27": { - "balance": "1015200000000000000000" + "0xc71f1d75873f33dcb2dd4b3987a12d0791a5ce27": { + "balance": "0x3708baed3d68900000" }, - "9bf703b41c3624e15f4054962390bcba3052f0fd": { - "balance": "6055000000000000000000" + "0x9bf703b41c3624e15f4054962390bcba3052f0fd": { + "balance": "0x1483e01533c2e3c0000" }, - "145e1de0147911ccd880875fbbea61f6a142d11d": { - "balance": "4000000000000000000000" + "0x145e1de0147911ccd880875fbbea61f6a142d11d": { + "balance": "0xd8d726b7177a800000" }, - "68419c6dd2d3ce6fcbb3c73e2fa079f06051bde6": { - "balance": "1970000000000000000000" + "0x68419c6dd2d3ce6fcbb3c73e2fa079f06051bde6": { + "balance": "0x6acb3df27e1f880000" }, - "d8eb78503ec31a54a90136781ae109004c743257": { - "balance": "1000000000000000000000" + "0xd8eb78503ec31a54a90136781ae109004c743257": { + "balance": "0x3635c9adc5dea00000" }, - "f25e4c70bc465632c89e5625a832a7722f6bffab": { - "balance": "4488000000000000000000" + "0xf25e4c70bc465632c89e5625a832a7722f6bffab": { + "balance": "0xf34b82fd8e91200000" }, - "7b4d2a38269069c18557770d591d24c5121f5e83": { - "balance": "700000000000000000000" + "0x7b4d2a38269069c18557770d591d24c5121f5e83": { + "balance": "0x25f273933db5700000" }, - "27d158ac3d3e1109ab6e570e90e85d3892cd7680": { - "balance": "100000000000000000000" + "0x27d158ac3d3e1109ab6e570e90e85d3892cd7680": { + "balance": "0x56bc75e2d63100000" }, - "d3679a47df2d99a49b01c98d1c3e0c987ce1e158": { - "balance": "280000000000000000000" + "0xd3679a47df2d99a49b01c98d1c3e0c987ce1e158": { + "balance": "0xf2dc7d47f15600000" }, - "095b949de3333a377d5019d893754a5e4656ff97": { - "balance": "340000000000000000000" + "0x095b949de3333a377d5019d893754a5e4656ff97": { + "balance": "0x126e72a69a50d00000" }, - "6b17598a8ef54f797ae515ccb6517d1859bf8011": { - "balance": "100000000000000000000" + "0x6b17598a8ef54f797ae515ccb6517d1859bf8011": { + "balance": "0x56bc75e2d63100000" }, - "3eaf0879b5b6db159b589f84578b6a74f6c10357": { - "balance": "7253657000000000000000" + "0x3eaf0879b5b6db159b589f84578b6a74f6c10357": { + "balance": "0x18938b671fa65a28000" }, - "40d45d9d7625d15156c932b771ca7b0527130958": { - "balance": "100000000000000000000000" + "0x40d45d9d7625d15156c932b771ca7b0527130958": { + "balance": "0x152d02c7e14af6800000" }, - "0392549a727f81655429cb928b529f25df4d1385": { - "balance": "26248000000000000000" + "0x0392549a727f81655429cb928b529f25df4d1385": { + "balance": "0x16c43a0eea0740000" }, - "c5b009baeaf788a276bd35813ad65b400b849f3b": { - "balance": "1000000000000000000000" + "0xc5b009baeaf788a276bd35813ad65b400b849f3b": { + "balance": "0x3635c9adc5dea00000" }, - "6ed884459f809dfa1016e770edaf3e9fef46fa30": { - "balance": "3400170000000000000000" + "0x6ed884459f809dfa1016e770edaf3e9fef46fa30": { + "balance": "0xb852d6782093f10000" }, - "439d2f2f5110a4d58b1757935015408740fec7f8": { - "balance": "3830421000000000000000" + "0x439d2f2f5110a4d58b1757935015408740fec7f8": { + "balance": "0xcfa5c5150f4c888000" }, - "dc46c13325cd8edf0230d068896486f007bf4ef1": { - "balance": "1337000000000000000000" + "0xdc46c13325cd8edf0230d068896486f007bf4ef1": { + "balance": "0x487a9a304539440000" }, - "8c54c7f8b9896e75d7d5f5c760258699957142ad": { - "balance": "40000000000000000000" + "0x8c54c7f8b9896e75d7d5f5c760258699957142ad": { + "balance": "0x22b1c8c1227a00000" }, - "61c8f1fa43bf846999ecf47b2b324dfb6b63fe3a": { - "balance": "800000000000000000000" + "0x61c8f1fa43bf846999ecf47b2b324dfb6b63fe3a": { + "balance": "0x2b5e3af16b18800000" }, - "935069444a6a984de2084e46692ab99f671fc727": { - "balance": "9000000000000000000000" + "0x935069444a6a984de2084e46692ab99f671fc727": { + "balance": "0x1e7e4171bf4d3a00000" }, - "fc49c1439a41d6b3cf26bb67e0365224e5e38f5f": { - "balance": "1000076000000000000000" + "0xfc49c1439a41d6b3cf26bb67e0365224e5e38f5f": { + "balance": "0x3636d7af5ec98e0000" }, - "e1dfb5cc890ee8b2877e885d267c256187d019e6": { - "balance": "100000000000000000000" + "0xe1dfb5cc890ee8b2877e885d267c256187d019e6": { + "balance": "0x56bc75e2d63100000" }, - "ee7c3ded7c28f459c92fe13b4d95bafbab02367d": { - "balance": "700000000000000000000" + "0xee7c3ded7c28f459c92fe13b4d95bafbab02367d": { + "balance": "0x25f273933db5700000" }, - "a5874d754635a762b381a5c4c792483af8f23d1d": { - "balance": "50000000000000000000" + "0xa5874d754635a762b381a5c4c792483af8f23d1d": { + "balance": "0x2b5e3af16b1880000" }, - "cfbb32b7d024350e3321fa20c9a914035372ffc6": { - "balance": "401100000000000000000" + "0xcfbb32b7d024350e3321fa20c9a914035372ffc6": { + "balance": "0x15be6174e1912e0000" }, - "2bc429d618a66a4cf82dbb2d824e9356effa126a": { - "balance": "1999944000000000000000" + "0x2bc429d618a66a4cf82dbb2d824e9356effa126a": { + "balance": "0x6c6acc67d7b1d40000" }, - "db244f97d9c44b158a40ed9606d9f7bd38913331": { - "balance": "102000000000000000000" + "0xdb244f97d9c44b158a40ed9606d9f7bd38913331": { + "balance": "0x58788cb94b1d80000" }, - "55e220876262c218af4f56784798c7e55da09e91": { - "balance": "133566000000000000000" + "0x55e220876262c218af4f56784798c7e55da09e91": { + "balance": "0x73d99c15645d30000" }, - "ca41ccac30172052d522cd2f2f957d248153409f": { - "balance": "1970000000000000000000" + "0xca41ccac30172052d522cd2f2f957d248153409f": { + "balance": "0x6acb3df27e1f880000" }, - "b11fa7fb270abcdf5a2eab95aa30c4b53636efbf": { - "balance": "800000000000000000000" + "0xb11fa7fb270abcdf5a2eab95aa30c4b53636efbf": { + "balance": "0x2b5e3af16b18800000" }, - "0ffea06d7113fb6aec2869f4a9dfb09007facef4": { - "balance": "225416000000000000000" + "0x0ffea06d7113fb6aec2869f4a9dfb09007facef4": { + "balance": "0xc384681b1e1740000" }, - "646628a53c2c4193da88359ce718dadd92b7a48d": { - "balance": "200032000000000000000" + "0x646628a53c2c4193da88359ce718dadd92b7a48d": { + "balance": "0xad8006c2f5ef00000" }, - "ca8409083e01b397cf12928a05b68455ce6201df": { - "balance": "1600000000000000000000" + "0xca8409083e01b397cf12928a05b68455ce6201df": { + "balance": "0x56bc75e2d631000000" }, - "dbbcbb79bf479a42ad71dbcab77b5adfaa872c58": { - "balance": "1730000000000000000000" + "0xdbbcbb79bf479a42ad71dbcab77b5adfaa872c58": { + "balance": "0x5dc892aa1131c80000" }, - "db7d4037081f6c65f9476b0687d97f1e044d0a1d": { - "balance": "660000000000000000000" + "0xdb7d4037081f6c65f9476b0687d97f1e044d0a1d": { + "balance": "0x23c757072b8dd00000" }, - "4be90d412129d5a4d0424361d6649d4e47a62316": { - "balance": "1015200000000000000000" + "0x4be90d412129d5a4d0424361d6649d4e47a62316": { + "balance": "0x3708baed3d68900000" }, - "e3ab3ca9b870e3f548517306bba4de2591afafc2": { - "balance": "1200062000000000000000" + "0xe3ab3ca9b870e3f548517306bba4de2591afafc2": { + "balance": "0x410e34aecc8cd30000" }, - "5c61ab79b408dd3229f662593705d72f1e147bb8": { - "balance": "22729000000000000000000" + "0x5c61ab79b408dd3229f662593705d72f1e147bb8": { + "balance": "0x4d0243d3498cd840000" }, - "4f177f9d56953ded71a5611f393322c30279895c": { - "balance": "246000000000000000000" + "0x4f177f9d56953ded71a5611f393322c30279895c": { + "balance": "0xd55ef90a2da180000" }, - "e6cb260b716d4c0ab726eeeb07c8707204e276ae": { - "balance": "1000000000000000000000" + "0xe6cb260b716d4c0ab726eeeb07c8707204e276ae": { + "balance": "0x3635c9adc5dea00000" }, - "44355253b27748e3f34fe9cae1fb718c8f249529": { - "balance": "200000000000000000000" + "0x44355253b27748e3f34fe9cae1fb718c8f249529": { + "balance": "0xad78ebc5ac6200000" }, - "a309df54cabce70c95ec3033149cd6678a6fd4cf": { - "balance": "223600000000000000000" + "0xa309df54cabce70c95ec3033149cd6678a6fd4cf": { + "balance": "0xc1f12c75101580000" }, - "ec4867d2175ab5b9469361595546554684cda460": { - "balance": "3000000000000000000000" + "0xec4867d2175ab5b9469361595546554684cda460": { + "balance": "0xa2a15d09519be00000" }, - "8d06e464245cad614939e0af0845e6d730e20374": { - "balance": "200359000000000000000" + "0x8d06e464245cad614939e0af0845e6d730e20374": { + "balance": "0xadc8a28f3d87d8000" }, - "9810e34a94db6ed156d0389a0e2b80f4fd6b0a8a": { - "balance": "2000000000000000000000" + "0x9810e34a94db6ed156d0389a0e2b80f4fd6b0a8a": { + "balance": "0x6c6b935b8bbd400000" }, - "dcfff3e8d23c2a34b56bd1b3bd45c79374432239": { - "balance": "5000000000000000000000" + "0xdcfff3e8d23c2a34b56bd1b3bd45c79374432239": { + "balance": "0x10f0cf064dd59200000" }, - "7d7dd5ee614dbb6fbfbcd26305247a058c41faa1": { - "balance": "2000000000000000000000" + "0x7d7dd5ee614dbb6fbfbcd26305247a058c41faa1": { + "balance": "0x6c6b935b8bbd400000" }, - "8a9eca9c5aba8e139f8003edf1163afb70aa3aa9": { - "balance": "660000000000000000000" + "0x8a9eca9c5aba8e139f8003edf1163afb70aa3aa9": { + "balance": "0x23c757072b8dd00000" }, - "d942de4784f7a48716c0fd4b9d54a6e54c5f2f3e": { - "balance": "20000000000000000000000" + "0xd942de4784f7a48716c0fd4b9d54a6e54c5f2f3e": { + "balance": "0x43c33c1937564800000" }, - "07dae622630d1136381933d2ad6b22b839d82102": { - "balance": "200000000000000000000" + "0x07dae622630d1136381933d2ad6b22b839d82102": { + "balance": "0xad78ebc5ac6200000" }, - "abf12fa19e82f76c718f01bdca0003674523ef30": { - "balance": "2000000000000000000000" + "0xabf12fa19e82f76c718f01bdca0003674523ef30": { + "balance": "0x6c6b935b8bbd400000" }, - "411c831cc6f44f1965ec5757ab4e5b3ca4cffd1f": { - "balance": "425000000000000000000" + "0x411c831cc6f44f1965ec5757ab4e5b3ca4cffd1f": { + "balance": "0x170a0f5040e5040000" }, - "99129d5b3c0cde47ea0def4dfc070d1f4a599527": { - "balance": "2000000000000000000000" + "0x99129d5b3c0cde47ea0def4dfc070d1f4a599527": { + "balance": "0x6c6b935b8bbd400000" }, - "c5cdcee0e85d117dabbf536a3f4069bf443f54e7": { - "balance": "1969606000000000000000" + "0xc5cdcee0e85d117dabbf536a3f4069bf443f54e7": { + "balance": "0x6ac5c62d9486070000" }, - "f218bd848ee7f9d38bfdd1c4eb2ed2496ae4305f": { - "balance": "500000000000000000000" + "0xf218bd848ee7f9d38bfdd1c4eb2ed2496ae4305f": { + "balance": "0x1b1ae4d6e2ef500000" }, - "fe549bbfe64740189892932538daaf46d2b61d4f": { - "balance": "40000000000000000000" + "0xfe549bbfe64740189892932538daaf46d2b61d4f": { + "balance": "0x22b1c8c1227a00000" }, - "dc3f0e7672f71fe7525ba30b9755183a20b9166a": { - "balance": "9603617000000000000000" + "0xdc3f0e7672f71fe7525ba30b9755183a20b9166a": { + "balance": "0x2089cf57b5b3e968000" }, - "0e83b850481ab44d49e0a229a2e464902c69539b": { - "balance": "100000000000000000000" + "0x0e83b850481ab44d49e0a229a2e464902c69539b": { + "balance": "0x56bc75e2d63100000" }, - "07ddd0422c86ef65bf0c7fc3452862b1228b08b8": { - "balance": "2065302000000000000000" + "0x07ddd0422c86ef65bf0c7fc3452862b1228b08b8": { + "balance": "0x6ff5d2aa8f9fcf0000" }, - "a68c313445c22d919ee46cc2d0cdff043a755825": { - "balance": "75189000000000000000" + "0xa68c313445c22d919ee46cc2d0cdff043a755825": { + "balance": "0x41374fd21b0d88000" }, - "a9e9dbce7a2cb03694799897bed7c54d155fdaa8": { - "balance": "197559000000000000000" + "0xa9e9dbce7a2cb03694799897bed7c54d155fdaa8": { + "balance": "0xab5ae8fc99d658000" }, - "18fccf62d2c3395453b7587b9e26f5cff9eb7482": { - "balance": "1000000000000000000000" + "0x18fccf62d2c3395453b7587b9e26f5cff9eb7482": { + "balance": "0x3635c9adc5dea00000" }, - "ff41d9e1b4effe18d8b0d1f63fc4255fb4e06c3d": { - "balance": "1337000000000000000000" + "0xff41d9e1b4effe18d8b0d1f63fc4255fb4e06c3d": { + "balance": "0x487a9a304539440000" }, - "8f69eafd0233cadb4059ab779c46edf2a0506e48": { - "balance": "1788210000000000000000" + "0x8f69eafd0233cadb4059ab779c46edf2a0506e48": { + "balance": "0x60f06620a849450000" }, - "9aa48c66e4fb4ad099934e32022e827427f277ba": { - "balance": "10000000000000000000000" + "0x9aa48c66e4fb4ad099934e32022e827427f277ba": { + "balance": "0x21e19e0c9bab2400000" }, - "f46980e3a4a9d29a6a6e90604537a3114bcb2897": { - "balance": "500000000000000000000" + "0xf46980e3a4a9d29a6a6e90604537a3114bcb2897": { + "balance": "0x1b1ae4d6e2ef500000" }, - "801732a481c380e57ed62d6c29de998af3fa3b13": { - "balance": "100000000000000000000" + "0x801732a481c380e57ed62d6c29de998af3fa3b13": { + "balance": "0x56bc75e2d63100000" }, - "0cd6a141918d126b106d9f2ebf69e102de4d3277": { - "balance": "20000000000000000000" + "0x0cd6a141918d126b106d9f2ebf69e102de4d3277": { + "balance": "0x1158e460913d00000" }, - "17589a6c006a54cad70103123aae0a82135fdeb4": { - "balance": "4000000000000000000000" + "0x17589a6c006a54cad70103123aae0a82135fdeb4": { + "balance": "0xd8d726b7177a800000" }, - "8725e8c753b3acbfdca55f3c62dfe1a59454968a": { - "balance": "1000090000000000000000" + "0x8725e8c753b3acbfdca55f3c62dfe1a59454968a": { + "balance": "0x3637096c4bcc690000" }, - "d20dcb0b78682b94bc3000281448d557a20bfc83": { - "balance": "895000000000000000000" + "0xd20dcb0b78682b94bc3000281448d557a20bfc83": { + "balance": "0x30849ebe16369c0000" }, - "e84f8076a0f2969ecd333eef8de41042986291f2": { - "balance": "432000000000000000000" + "0xe84f8076a0f2969ecd333eef8de41042986291f2": { + "balance": "0x176b344f2a78c00000" }, - "b3145b74506d1a8d047cdcdc55392a7b5350799a": { - "balance": "129314663000000000000000" + "0xb3145b74506d1a8d047cdcdc55392a7b5350799a": { + "balance": "0x1b6229741c0d3d5d8000" }, - "0d9a825ff2bcd397cbad5b711d9dcc95f1cc112d": { - "balance": "12800000000000000000000" + "0x0d9a825ff2bcd397cbad5b711d9dcc95f1cc112d": { + "balance": "0x2b5e3af16b188000000" }, - "0ca670eb2c8b96cba379217f5929c2b892f39ef6": { - "balance": "2000000000000000000000" + "0x0ca670eb2c8b96cba379217f5929c2b892f39ef6": { + "balance": "0x6c6b935b8bbd400000" }, - "25cfc4e25c35c13b69f7e77dbfb08baf58756b8d": { - "balance": "40000000000000000000000" + "0x25cfc4e25c35c13b69f7e77dbfb08baf58756b8d": { + "balance": "0x878678326eac9000000" }, - "182db85293f606e88988c3704cb3f0c0bbbfca5a": { - "balance": "133700000000000000000" + "0x182db85293f606e88988c3704cb3f0c0bbbfca5a": { + "balance": "0x73f75d1a085ba0000" }, - "bd73c3cbc26a175062ea0320dd84b253bce64358": { - "balance": "394000000000000000000" + "0xbd73c3cbc26a175062ea0320dd84b253bce64358": { + "balance": "0x155bd9307f9fe80000" }, - "2680713d40808e2a50ed013150a2a694b96a7f1d": { - "balance": "1790000000000000000000" + "0x2680713d40808e2a50ed013150a2a694b96a7f1d": { + "balance": "0x61093d7c2c6d380000" }, - "51e32f14f4ca5e287cdac057a7795ea9e0439953": { - "balance": "500000000000000000000" + "0x51e32f14f4ca5e287cdac057a7795ea9e0439953": { + "balance": "0x1b1ae4d6e2ef500000" }, - "b1e9c5f1d21e61757a6b2ee75913fc5a1a4101c3": { - "balance": "2000000000000000000000" + "0xb1e9c5f1d21e61757a6b2ee75913fc5a1a4101c3": { + "balance": "0x6c6b935b8bbd400000" }, - "d4c4d1a7c3c74984f6857b2f5f07e8face68056d": { - "balance": "2000000000000000000000" + "0xd4c4d1a7c3c74984f6857b2f5f07e8face68056d": { + "balance": "0x6c6b935b8bbd400000" }, - "4651dc420e08c3293b27d2497890eb50223ae2f4": { - "balance": "20000000000000000000000" + "0x4651dc420e08c3293b27d2497890eb50223ae2f4": { + "balance": "0x43c33c1937564800000" }, - "c74a3995f807de1db01a2eb9c62e97d0548f696f": { - "balance": "1000000000000000000000" + "0xc74a3995f807de1db01a2eb9c62e97d0548f696f": { + "balance": "0x3635c9adc5dea00000" }, - "0505a08e22a109015a22f685305354662a5531d5": { - "balance": "2600000000000000000000" + "0x0505a08e22a109015a22f685305354662a5531d5": { + "balance": "0x8cf23f909c0fa00000" }, - "39c773367c8825d3596c686f42bf0d14319e3f84": { - "balance": "133700000000000000000" + "0x39c773367c8825d3596c686f42bf0d14319e3f84": { + "balance": "0x73f75d1a085ba0000" }, - "0f929cf895db017af79f3ead2216b1bd69c37dc7": { - "balance": "2000000000000000000000" + "0x0f929cf895db017af79f3ead2216b1bd69c37dc7": { + "balance": "0x6c6b935b8bbd400000" }, - "bdd3254e1b3a6dc6cc2c697d45711aca21d516b2": { - "balance": "2000000000000000000000" + "0xbdd3254e1b3a6dc6cc2c697d45711aca21d516b2": { + "balance": "0x6c6b935b8bbd400000" }, - "ae5d221afcd3d29355f508eadfca408ce33ca903": { - "balance": "100000000000000000000000" + "0xae5d221afcd3d29355f508eadfca408ce33ca903": { + "balance": "0x152d02c7e14af6800000" }, - "916cf17d71412805f4afc3444a0b8dd1d9339d16": { - "balance": "14300000000000000000" + "0x916cf17d71412805f4afc3444a0b8dd1d9339d16": { + "balance": "0xc673ce3c40160000" }, - "4319263f75402c0b5325f263be4a5080651087f0": { - "balance": "983086000000000000000" + "0x4319263f75402c0b5325f263be4a5080651087f0": { + "balance": "0x354b0f14631bab0000" }, - "0f1c249cd962b00fd114a9349f6a6cc778d76c4d": { - "balance": "2000000000000000000000" + "0x0f1c249cd962b00fd114a9349f6a6cc778d76c4d": { + "balance": "0x6c6b935b8bbd400000" }, - "54febcce20fe7a9098a755bd90988602a48c089e": { - "balance": "640000000000000000000" + "0x54febcce20fe7a9098a755bd90988602a48c089e": { + "balance": "0x22b1c8c1227a000000" }, - "2c1800f35fa02d3eb6ff5b25285f5e4add13b38d": { - "balance": "906400000000000000000" + "0x2c1800f35fa02d3eb6ff5b25285f5e4add13b38d": { + "balance": "0x3122d3adafde100000" }, - "72b904440e90e720d6ac1c2ad79c321dcc1c1a86": { - "balance": "1550000000000000000000" + "0x72b904440e90e720d6ac1c2ad79c321dcc1c1a86": { + "balance": "0x54069233bf7f780000" }, - "b0aa00950c0e81fa3210173e729aaf163a27cd71": { - "balance": "40000000000000000000000" + "0xb0aa00950c0e81fa3210173e729aaf163a27cd71": { + "balance": "0x878678326eac9000000" }, - "663604b0503046e624cd26a8b6fb4742dce02a6f": { - "balance": "65400000000000000000" + "0x663604b0503046e624cd26a8b6fb4742dce02a6f": { + "balance": "0x38b9b797ef68c0000" }, - "3c98594bf68b57351e8814ae9e6dfd2d254aa06f": { - "balance": "300000000000000000000" + "0x3c98594bf68b57351e8814ae9e6dfd2d254aa06f": { + "balance": "0x1043561a8829300000" }, - "9c45202a25f6ad0011f115a5a72204f2f2198866": { - "balance": "5014000000000000000000" + "0x9c45202a25f6ad0011f115a5a72204f2f2198866": { + "balance": "0x10fcf3a62b080980000" }, - "b02d062873334545cea29218e4057760590f7423": { - "balance": "3186000000000000000000" + "0xb02d062873334545cea29218e4057760590f7423": { + "balance": "0xacb6a1c7d93a880000" }, - "7bddb2ee98de19ee4c91f661ee8e67a91d054b97": { - "balance": "1000000000000000000000" + "0x7bddb2ee98de19ee4c91f661ee8e67a91d054b97": { + "balance": "0x3635c9adc5dea00000" }, - "9cf2928beef09a40f9bfc953be06a251116182fb": { - "balance": "6000000000000000000000" + "0x9cf2928beef09a40f9bfc953be06a251116182fb": { + "balance": "0x14542ba12a337c00000" }, - "51b4758e9e1450e7af4268c3c7b1e7bd6f5c7550": { - "balance": "1000000000000000000000" + "0x51b4758e9e1450e7af4268c3c7b1e7bd6f5c7550": { + "balance": "0x3635c9adc5dea00000" }, - "eb570dba975227b1c42d6e8dea2c56c9ad960670": { - "balance": "2000000000000000000000" + "0xeb570dba975227b1c42d6e8dea2c56c9ad960670": { + "balance": "0x6c6b935b8bbd400000" }, - "970d8b8a0016d143054f149fb3b8e550dc0797c7": { - "balance": "1000000000000000000000" + "0x970d8b8a0016d143054f149fb3b8e550dc0797c7": { + "balance": "0x3635c9adc5dea00000" }, - "c7b39b060451000ca1049ba154bcfa00ff8af262": { - "balance": "100000000000000000000000" + "0xc7b39b060451000ca1049ba154bcfa00ff8af262": { + "balance": "0x152d02c7e14af6800000" }, - "945e18769d7ee727c7013f92de24d117967ff317": { - "balance": "2000000000000000000000" + "0x945e18769d7ee727c7013f92de24d117967ff317": { + "balance": "0x6c6b935b8bbd400000" }, - "d18eb9e1d285dabe93e5d4bae76beefe43b521e8": { - "balance": "668500000000000000000" + "0xd18eb9e1d285dabe93e5d4bae76beefe43b521e8": { + "balance": "0x243d4d18229ca20000" }, - "c618521321abaf5b26513a4a9528086f220adc6f": { - "balance": "27000000000000000000" + "0xc618521321abaf5b26513a4a9528086f220adc6f": { + "balance": "0x176b344f2a78c0000" }, - "dd65f6e17163b5d203641f51cc7b24b00f02c8fb": { - "balance": "200000000000000000000" + "0xdd65f6e17163b5d203641f51cc7b24b00f02c8fb": { + "balance": "0xad78ebc5ac6200000" }, - "131faed12561bb7aee04e5185af802b1c3438d9b": { - "balance": "219000000000000000000" + "0x131faed12561bb7aee04e5185af802b1c3438d9b": { + "balance": "0xbdf3c4bb0328c0000" }, - "1ced6715f862b1ff86058201fcce5082b36e62b2": { - "balance": "6684522000000000000000" + "0x1ced6715f862b1ff86058201fcce5082b36e62b2": { + "balance": "0x16a5e60bee273b10000" }, - "a0ff5b4cf016027e8323497d4428d3e5a83b8795": { - "balance": "6596500000000000000000" + "0xa0ff5b4cf016027e8323497d4428d3e5a83b8795": { + "balance": "0x16598d3c83ec0420000" }, - "02e816afc1b5c0f39852131959d946eb3b07b5ad": { - "balance": "1000000000000000000000" + "0x02e816afc1b5c0f39852131959d946eb3b07b5ad": { + "balance": "0x3635c9adc5dea00000" }, - "153cf2842cb9de876c276fa64767d1a8ecf573bb": { - "balance": "2000000000000000000000" + "0x153cf2842cb9de876c276fa64767d1a8ecf573bb": { + "balance": "0x6c6b935b8bbd400000" }, - "3bc6e3ee7a56ce8f14a37532590f63716b9966e8": { - "balance": "2000000000000000000000" + "0x3bc6e3ee7a56ce8f14a37532590f63716b9966e8": { + "balance": "0x6c6b935b8bbd400000" }, - "f6d25d3f3d846d239f525fa8cac97bc43578dbac": { - "balance": "896000000000000000000" + "0xf6d25d3f3d846d239f525fa8cac97bc43578dbac": { + "balance": "0x30927f74c9de000000" }, - "2066774d822793ff25f1760909479cf62491bf88": { - "balance": "55160000000000000000000" + "0x2066774d822793ff25f1760909479cf62491bf88": { + "balance": "0xbae3ac685cb72e00000" }, - "46779a5656ff00d73eac3ad0c38b6c853094fb40": { - "balance": "230752000000000000000" + "0x46779a5656ff00d73eac3ad0c38b6c853094fb40": { + "balance": "0xc8253c96c6af00000" }, - "22eed327f8eb1d1338a3cb7b0f8a4baa5907cd95": { - "balance": "23445000000000000000" + "0x22eed327f8eb1d1338a3cb7b0f8a4baa5907cd95": { + "balance": "0x1455d5f4877088000" }, - "ff88ebacc41b3687f39e4b59e159599b80cba33f": { - "balance": "400000000000000000000" + "0xff88ebacc41b3687f39e4b59e159599b80cba33f": { + "balance": "0x15af1d78b58c400000" }, - "2874f3e2985d5f7b406627e17baa772b01abcc9e": { - "balance": "6014000000000000000000" + "0x2874f3e2985d5f7b406627e17baa772b01abcc9e": { + "balance": "0x146050410765f380000" }, - "eb10458daca79e4a6b24b29a8a8ada711b7f2eb6": { - "balance": "3998000000000000000000" + "0xeb10458daca79e4a6b24b29a8a8ada711b7f2eb6": { + "balance": "0xd8bb6549b02bb80000" }, - "541060fc58c750c40512f83369c0a63340c122b6": { - "balance": "1970000000000000000000" + "0x541060fc58c750c40512f83369c0a63340c122b6": { + "balance": "0x6acb3df27e1f880000" }, - "fd2757cc3551a095878d97875615fe0c6a32aa8a": { - "balance": "598200000000000000000" + "0xfd2757cc3551a095878d97875615fe0c6a32aa8a": { + "balance": "0x206db15299beac0000" }, - "be659d85e7c34f8833ea7f488de1fbb5d4149bef": { - "balance": "9072500000000000000000" + "0xbe659d85e7c34f8833ea7f488de1fbb5d4149bef": { + "balance": "0x1ebd23ad9d5bb720000" }, - "e149b5726caf6d5eb5bf2acc41d4e2dc328de182": { - "balance": "1940000000000000000000" + "0xe149b5726caf6d5eb5bf2acc41d4e2dc328de182": { + "balance": "0x692ae8897081d00000" }, - "2fe0cc424b53a31f0916be08ec81c50bf8eab0c1": { - "balance": "600000000000000000000" + "0x2fe0cc424b53a31f0916be08ec81c50bf8eab0c1": { + "balance": "0x2086ac351052600000" }, - "e3712701619ca7623c55db3a0ad30e867db0168b": { - "balance": "20000000000000000000" + "0xe3712701619ca7623c55db3a0ad30e867db0168b": { + "balance": "0x1158e460913d00000" }, - "f8ca336c8e91bd20e314c20b2dd4608b9c8b9459": { - "balance": "846000000000000000000" + "0xf8ca336c8e91bd20e314c20b2dd4608b9c8b9459": { + "balance": "0x2ddc9bc5b32c780000" }, - "68acdaa9fb17d3c309911a77b05f5391fa034ee9": { - "balance": "8950000000000000000000" + "0x68acdaa9fb17d3c309911a77b05f5391fa034ee9": { + "balance": "0x1e52e336cde22180000" }, - "e77d7deab296c8b4fa07ca3be184163d5a6d606c": { - "balance": "92538000000000000000" + "0xe77d7deab296c8b4fa07ca3be184163d5a6d606c": { + "balance": "0x5043904b671190000" }, - "e6b9545f7ed086e552924639f9a9edbbd5540b3e": { - "balance": "3760000000000000000000" + "0xe6b9545f7ed086e552924639f9a9edbbd5540b3e": { + "balance": "0xcbd47b6eaa8cc00000" }, - "2866b81decb02ee70ae250cee5cdc77b59d7b679": { - "balance": "2000000000000000000000" + "0x2866b81decb02ee70ae250cee5cdc77b59d7b679": { + "balance": "0x6c6b935b8bbd400000" }, - "60e3cc43bcdb026aad759c7066f555bbf2ac66f5": { - "balance": "2000000000000000000000" + "0x60e3cc43bcdb026aad759c7066f555bbf2ac66f5": { + "balance": "0x6c6b935b8bbd400000" }, - "fcbd85feea6a754fcf3449449e37ff9784f7773c": { - "balance": "3086000000000000000000" + "0xfcbd85feea6a754fcf3449449e37ff9784f7773c": { + "balance": "0xa74ada69abd7780000" }, - "38a744efa6d5c2137defef8ef9187b649eee1c78": { - "balance": "4000000000000000000000" + "0x38a744efa6d5c2137defef8ef9187b649eee1c78": { + "balance": "0xd8d726b7177a800000" }, - "9d7655e9f3e5ba5d6e87e412aebe9ee0d49247ee": { - "balance": "2620100000000000000000" + "0x9d7655e9f3e5ba5d6e87e412aebe9ee0d49247ee": { + "balance": "0x8e09311c1d80fa0000" }, - "2020b81ae53926ace9f7d7415a050c031d585f20": { - "balance": "341200000000000000000" + "0x2020b81ae53926ace9f7d7415a050c031d585f20": { + "balance": "0x127f19e83eb3480000" }, - "4244f1331158b9ce26bbe0b9236b9203ca351434": { - "balance": "10000000000000000000000" + "0x4244f1331158b9ce26bbe0b9236b9203ca351434": { + "balance": "0x21e19e0c9bab2400000" }, - "99c236141daec837ece04fdaee1d90cf8bbdc104": { - "balance": "2184000000000000000000" + "0x99c236141daec837ece04fdaee1d90cf8bbdc104": { + "balance": "0x766516acac0d200000" }, - "943d37864a4a537d35c8d99723cd6406ce2562e6": { - "balance": "2000000000000000000000" + "0x943d37864a4a537d35c8d99723cd6406ce2562e6": { + "balance": "0x6c6b935b8bbd400000" }, - "d79483f6a8444f2549d611afe02c432d15e11051": { - "balance": "20000000000000000000" + "0xd79483f6a8444f2549d611afe02c432d15e11051": { + "balance": "0x1158e460913d00000" }, - "9fd64373f2fbcd9c0faca60547cad62e26d9851f": { - "balance": "1000000000000000000000" + "0x9fd64373f2fbcd9c0faca60547cad62e26d9851f": { + "balance": "0x3635c9adc5dea00000" }, - "b89c036ed7c492879921be41e10ca1698198a74c": { - "balance": "1820000000000000000000" + "0xb89c036ed7c492879921be41e10ca1698198a74c": { + "balance": "0x62a992e53a0af00000" }, - "7462c89caa9d8d7891b2545def216f7464d5bb21": { - "balance": "109162000000000000000" + "0x7462c89caa9d8d7891b2545def216f7464d5bb21": { + "balance": "0x5eaed54a28b310000" }, - "bb0366a7cfbd3445a70db7fe5ae34885754fd468": { - "balance": "6160000000000000000000" + "0xbb0366a7cfbd3445a70db7fe5ae34885754fd468": { + "balance": "0x14def2c42ebd6400000" }, - "6c52cf0895bb35e656161e4dc46ae0e96dd3e62c": { - "balance": "4000086000000000000000" + "0x6c52cf0895bb35e656161e4dc46ae0e96dd3e62c": { + "balance": "0xd8d8583fa2d52f0000" }, - "b9cf71b226583e3a921103a5316f855a65779d1b": { - "balance": "24000000000000000000000" + "0xb9cf71b226583e3a921103a5316f855a65779d1b": { + "balance": "0x5150ae84a8cdf000000" }, - "016b60bb6d67928c29fd0313c666da8f1698d9c5": { - "balance": "2000000000000000000000" + "0x016b60bb6d67928c29fd0313c666da8f1698d9c5": { + "balance": "0x6c6b935b8bbd400000" }, - "9454b3a8bff9709fd0e190877e6cb6c89974dbd6": { - "balance": "2674000000000000000000" + "0x9454b3a8bff9709fd0e190877e6cb6c89974dbd6": { + "balance": "0x90f534608a72880000" }, - "84aac7fa197ff85c30e03b7a5382b957f41f3afb": { - "balance": "157600000000000000000" + "0x84aac7fa197ff85c30e03b7a5382b957f41f3afb": { + "balance": "0x88b23acffd9900000" }, - "db6e560c9bc620d4bea3a94d47f7880bf47f2d5f": { - "balance": "89500000000000000000" + "0xdb6e560c9bc620d4bea3a94d47f7880bf47f2d5f": { + "balance": "0x4da0fdfcf05760000" }, - "eefd05b0e3c417d55b3343060486cdd5e92aa7a6": { - "balance": "1430000000000000000000" + "0xeefd05b0e3c417d55b3343060486cdd5e92aa7a6": { + "balance": "0x4d853c8f8908980000" }, - "3a59a08246a8206f8d58f70bb1f0d35c5bcc71bd": { - "balance": "185000000000000000000" + "0x3a59a08246a8206f8d58f70bb1f0d35c5bcc71bd": { + "balance": "0xa076407d3f7440000" }, - "9bfff50db36a785555f07652a153b0c42b1b8b76": { - "balance": "2000000000000000000000" + "0x9bfff50db36a785555f07652a153b0c42b1b8b76": { + "balance": "0x6c6b935b8bbd400000" }, - "d44f5edf2bcf2433f211dadd0cc450db1b008e14": { - "balance": "267400000000000000000" + "0xd44f5edf2bcf2433f211dadd0cc450db1b008e14": { + "balance": "0xe7eeba3410b740000" }, - "2378fd4382511e968ed192106737d324f454b535": { - "balance": "1000000000000000000000" + "0x2378fd4382511e968ed192106737d324f454b535": { + "balance": "0x3635c9adc5dea00000" }, - "c94089553ae4c22ca09fbc98f57075cf2ec59504": { - "balance": "4000000000000000000000" + "0xc94089553ae4c22ca09fbc98f57075cf2ec59504": { + "balance": "0xd8d726b7177a800000" }, - "08ef3fa4c43ccdc57b22a4b9b2331a82e53818f2": { - "balance": "4000000000000000000000" + "0x08ef3fa4c43ccdc57b22a4b9b2331a82e53818f2": { + "balance": "0xd8d726b7177a800000" }, - "e48e65125421880d42bdf1018ab9778d96928f3f": { - "balance": "4200000000000000000000" + "0xe48e65125421880d42bdf1018ab9778d96928f3f": { + "balance": "0xe3aeb5737240a00000" }, - "67518e5d02b205180f0463a32004471f753c523e": { - "balance": "1984289000000000000000" + "0x67518e5d02b205180f0463a32004471f753c523e": { + "balance": "0x6b918aac494b168000" }, - "0da7401262384e2e8b4b26dd154799b55145efa0": { - "balance": "300000000000000000000" + "0x0da7401262384e2e8b4b26dd154799b55145efa0": { + "balance": "0x1043561a8829300000" }, - "0b6920a64b363b8d5d90802494cf564b547c430d": { - "balance": "1200000000000000000000" + "0x0b6920a64b363b8d5d90802494cf564b547c430d": { + "balance": "0x410d586a20a4c00000" }, - "a5ab4bd3588f46cb272e56e93deed386ba8b753d": { - "balance": "1332989000000000000000" + "0xa5ab4bd3588f46cb272e56e93deed386ba8b753d": { + "balance": "0x4842f04105872c8000" }, - "1788da9b57fd05edc4ff99e7fef301519c8a0a1e": { - "balance": "2000000000000000000000" + "0x1788da9b57fd05edc4ff99e7fef301519c8a0a1e": { + "balance": "0x6c6b935b8bbd400000" }, - "17b2d6cf65c6f4a347ddc6572655354d8a412b29": { - "balance": "2000000000000000000000" + "0x17b2d6cf65c6f4a347ddc6572655354d8a412b29": { + "balance": "0x6c6b935b8bbd400000" }, - "d0319139fbab2e8e2accc1d924d4b11df6696c5a": { - "balance": "200000000000000000000" + "0xd0319139fbab2e8e2accc1d924d4b11df6696c5a": { + "balance": "0xad78ebc5ac6200000" }, - "4c377bb03ab52c4cb79befa1dd114982924c4ae9": { - "balance": "1827814000000000000000" + "0x4c377bb03ab52c4cb79befa1dd114982924c4ae9": { + "balance": "0x631603ccd38dd70000" }, - "fb949c647fdcfd2514c7d58e31f28a532d8c5833": { - "balance": "20000000000000000000000" + "0xfb949c647fdcfd2514c7d58e31f28a532d8c5833": { + "balance": "0x43c33c1937564800000" }, - "70e5e9da735ff077249dcb9aaf3db2a48d9498c0": { - "balance": "1000000000000000000000" + "0x70e5e9da735ff077249dcb9aaf3db2a48d9498c0": { + "balance": "0x3635c9adc5dea00000" }, - "fe6f5f42b6193b1ad16206e4afb5239d4d7db45e": { - "balance": "1730000000000000000000" + "0xfe6f5f42b6193b1ad16206e4afb5239d4d7db45e": { + "balance": "0x5dc892aa1131c80000" }, - "bda4be317e7e4bed84c0495eee32d607ec38ca52": { - "balance": "2309457000000000000000" + "0xbda4be317e7e4bed84c0495eee32d607ec38ca52": { + "balance": "0x7d32277978ef4e8000" }, - "5910106debd291a1cd80b0fbbb8d8d9e93a7cc1e": { - "balance": "2000000000000000000000" + "0x5910106debd291a1cd80b0fbbb8d8d9e93a7cc1e": { + "balance": "0x6c6b935b8bbd400000" }, - "ba42f9aace4c184504abf5425762aca26f71fbdc": { - "balance": "37400000000000000000" + "0xba42f9aace4c184504abf5425762aca26f71fbdc": { + "balance": "0x207077dd8a79c0000" }, - "beb4fd315559436045dcb99d49dcec03f40c42dc": { - "balance": "2000000000000000000000" + "0xbeb4fd315559436045dcb99d49dcec03f40c42dc": { + "balance": "0x6c6b935b8bbd400000" }, - "452b64db8ef7d6df87c788639c2290be8482d575": { - "balance": "8000000000000000000000" + "0x452b64db8ef7d6df87c788639c2290be8482d575": { + "balance": "0x1b1ae4d6e2ef5000000" }, - "66e09427c1e63deed7e12b8c55a6a19320ef4b6a": { - "balance": "170000000000000000000" + "0x66e09427c1e63deed7e12b8c55a6a19320ef4b6a": { + "balance": "0x93739534d28680000" }, - "faad905d847c7b23418aeecbe3addb8dd3f8924a": { - "balance": "1970000000000000000000" + "0xfaad905d847c7b23418aeecbe3addb8dd3f8924a": { + "balance": "0x6acb3df27e1f880000" }, - "a29319e81069e5d60df00f3de5adee3505ecd5fb": { - "balance": "2000000000000000000000" + "0xa29319e81069e5d60df00f3de5adee3505ecd5fb": { + "balance": "0x6c6b935b8bbd400000" }, - "cf348f2fe47b7e413c077a7baf3a75fbf8428692": { - "balance": "2000000000000000000000" + "0xcf348f2fe47b7e413c077a7baf3a75fbf8428692": { + "balance": "0x6c6b935b8bbd400000" }, - "e1e8c50b80a352b240ce7342bbfdf5690cc8cb14": { - "balance": "394000000000000000000" + "0xe1e8c50b80a352b240ce7342bbfdf5690cc8cb14": { + "balance": "0x155bd9307f9fe80000" }, - "131c792c197d18bd045d7024937c1f84b60f4438": { - "balance": "4000000000000000000000" + "0x131c792c197d18bd045d7024937c1f84b60f4438": { + "balance": "0xd8d726b7177a800000" }, - "e49af4f34adaa2330b0e49dc74ec18ab2f92f827": { - "balance": "2000000000000000000000" + "0xe49af4f34adaa2330b0e49dc74ec18ab2f92f827": { + "balance": "0x6c6b935b8bbd400000" }, - "f2e99f5cbb836b7ad36247571a302cbe4b481c69": { - "balance": "1970000000000000000000" + "0xf2e99f5cbb836b7ad36247571a302cbe4b481c69": { + "balance": "0x6acb3df27e1f880000" }, - "c93fbde8d46d2bcc0fa9b33bd8ba7f8042125565": { - "balance": "1400000000000000000000" + "0xc93fbde8d46d2bcc0fa9b33bd8ba7f8042125565": { + "balance": "0x4be4e7267b6ae00000" }, - "038779ca2dbe663e63db3fe75683ea0ec62e2383": { - "balance": "1670000000000000000000" + "0x038779ca2dbe663e63db3fe75683ea0ec62e2383": { + "balance": "0x5a87e7d7f5f6580000" }, - "a33cb450f95bb46e25afb50fe05feee6fb8cc8ea": { - "balance": "776000000000000000000" + "0xa33cb450f95bb46e25afb50fe05feee6fb8cc8ea": { + "balance": "0x2a1129d09367200000" }, - "40ab66fe213ea56c3afb12c75be33f8e32fd085d": { - "balance": "4000000000000000000000" + "0x40ab66fe213ea56c3afb12c75be33f8e32fd085d": { + "balance": "0xd8d726b7177a800000" }, - "6403d062549690c8e8b63eae41d6c109476e2588": { - "balance": "2000000000000000000000" + "0x6403d062549690c8e8b63eae41d6c109476e2588": { + "balance": "0x6c6b935b8bbd400000" }, - "bfb0ea02feb61dec9e22a5070959330299c43072": { - "balance": "20000000000000000000000" + "0xbfb0ea02feb61dec9e22a5070959330299c43072": { + "balance": "0x43c33c1937564800000" }, - "99c475bf02e8b9214ada5fad02fdfd15ba365c0c": { - "balance": "591000000000000000000" + "0x99c475bf02e8b9214ada5fad02fdfd15ba365c0c": { + "balance": "0x2009c5c8bf6fdc0000" }, - "904966cc2213b5b8cb5bd6089ef9cddbef7edfcc": { - "balance": "2000000000000000000000" + "0x904966cc2213b5b8cb5bd6089ef9cddbef7edfcc": { + "balance": "0x6c6b935b8bbd400000" }, - "767a03655af360841e810d83f5e61fb40f4cd113": { - "balance": "985000000000000000000" + "0x767a03655af360841e810d83f5e61fb40f4cd113": { + "balance": "0x35659ef93f0fc40000" }, - "ab209fdca979d0a647010af9a8b52fc7d20d8cd1": { - "balance": "9129000000000000000000" + "0xab209fdca979d0a647010af9a8b52fc7d20d8cd1": { + "balance": "0x1eee2532c7c2d040000" }, - "6294eae6e420a3d5600a39c4141f838ff8e7cc48": { - "balance": "2955000000000000000000" + "0x6294eae6e420a3d5600a39c4141f838ff8e7cc48": { + "balance": "0xa030dcebbd2f4c0000" }, - "9777cc61cf756be3b3c20cd4491c69d275e7a120": { - "balance": "10000000000000000000000" + "0x9777cc61cf756be3b3c20cd4491c69d275e7a120": { + "balance": "0x21e19e0c9bab2400000" }, - "bcbf6ba166e2340db052ea23d28029b0de6aa380": { - "balance": "3880000000000000000000" + "0xbcbf6ba166e2340db052ea23d28029b0de6aa380": { + "balance": "0xd255d112e103a00000" }, - "9f10f2a0463b65ae30b070b3df18cf46f51e89bd": { - "balance": "1910000000000000000000" + "0x9f10f2a0463b65ae30b070b3df18cf46f51e89bd": { + "balance": "0x678a932062e4180000" }, - "8d9952d0bb4ebfa0efd01a3aa9e8e87f0525742e": { - "balance": "3460000000000000000000" + "0x8d9952d0bb4ebfa0efd01a3aa9e8e87f0525742e": { + "balance": "0xbb9125542263900000" }, - "4f23b6b817ffa5c664acdad79bb7b726d30af0f9": { - "balance": "1760000000000000000000" + "0x4f23b6b817ffa5c664acdad79bb7b726d30af0f9": { + "balance": "0x5f68e8131ecf800000" }, - "b4c20040ccd9a1a3283da4d4a2f365820843d7e2": { - "balance": "1000000000000000000000" + "0xb4c20040ccd9a1a3283da4d4a2f365820843d7e2": { + "balance": "0x3635c9adc5dea00000" }, - "7f49e7a4269882bd8722d4a6f566347629624079": { - "balance": "2000000000000000000000" + "0x7f49e7a4269882bd8722d4a6f566347629624079": { + "balance": "0x6c6b935b8bbd400000" }, - "33629bd52f0e107bc071176c64df108f64777d49": { - "balance": "33425000000000000000" + "0x33629bd52f0e107bc071176c64df108f64777d49": { + "balance": "0x1cfdd7468216e8000" }, - "6a7b2e0d88867ff15d207c222bebf94fa6ce8397": { - "balance": "60000000000000000000000" + "0x6a7b2e0d88867ff15d207c222bebf94fa6ce8397": { + "balance": "0xcb49b44ba602d800000" }, - "b7ce684b09abda53389a875369f71958aeac3bdd": { - "balance": "2000000000000000000000" + "0xb7ce684b09abda53389a875369f71958aeac3bdd": { + "balance": "0x6c6b935b8bbd400000" }, - "ffbc3da0381ec339c1c049eb1ed9ee34fdcea6ca": { - "balance": "4000000000000000000000" + "0xffbc3da0381ec339c1c049eb1ed9ee34fdcea6ca": { + "balance": "0xd8d726b7177a800000" }, - "849ab80790b28ff1ffd6ba394efc7463105c36f7": { - "balance": "34600000000000000000" + "0x849ab80790b28ff1ffd6ba394efc7463105c36f7": { + "balance": "0x1e02be4ae6c840000" }, - "b0b36af9aeeedf97b6b02280f114f13984ea3260": { - "balance": "985000000000000000000" + "0xb0b36af9aeeedf97b6b02280f114f13984ea3260": { + "balance": "0x35659ef93f0fc40000" }, - "4d57e716876c0c95ef5eaebd35c8f41b069b6bfe": { - "balance": "2000000000000000000000" + "0x4d57e716876c0c95ef5eaebd35c8f41b069b6bfe": { + "balance": "0x6c6b935b8bbd400000" }, - "2d2b032359b363964fc11a518263bfd05431e867": { - "balance": "149600000000000000000" + "0x2d2b032359b363964fc11a518263bfd05431e867": { + "balance": "0x81c1df7629e700000" }, - "2ccc1f1cb5f4a8002e186b20885d9dbc030c0894": { - "balance": "2000000000000000000000" + "0x2ccc1f1cb5f4a8002e186b20885d9dbc030c0894": { + "balance": "0x6c6b935b8bbd400000" }, - "016c85e1613b900fa357b8283b120e65aefcdd08": { - "balance": "799954000000000000000" + "0x016c85e1613b900fa357b8283b120e65aefcdd08": { + "balance": "0x2b5d9784a97cd50000" }, - "710b0274d712c77e08a5707d6f3e70c0ce3d92cf": { - "balance": "6400000000000000000000" + "0x710b0274d712c77e08a5707d6f3e70c0ce3d92cf": { + "balance": "0x15af1d78b58c4000000" }, - "3cd3a6e93579c56d494171fc533e7a90e6f59464": { - "balance": "2000000000000000000000" + "0x3cd3a6e93579c56d494171fc533e7a90e6f59464": { + "balance": "0x6c6b935b8bbd400000" }, - "fe0e30e214290d743dd30eb082f1f0a5225ade61": { - "balance": "200000000000000000000" + "0xfe0e30e214290d743dd30eb082f1f0a5225ade61": { + "balance": "0xad78ebc5ac6200000" }, - "d0718520eae0a4d62d70de1be0ca431c5eea2482": { - "balance": "2000000000000000000000" + "0xd0718520eae0a4d62d70de1be0ca431c5eea2482": { + "balance": "0x6c6b935b8bbd400000" }, - "af7f79cb415a1fb8dbbd094607ee8d41fb7c5a3b": { - "balance": "10000000000000000000000" + "0xaf7f79cb415a1fb8dbbd094607ee8d41fb7c5a3b": { + "balance": "0x21e19e0c9bab2400000" }, - "b7d252ee9402b0eef144295f0e69f0db586c0871": { - "balance": "660000000000000000000" + "0xb7d252ee9402b0eef144295f0e69f0db586c0871": { + "balance": "0x23c757072b8dd00000" }, - "c3b928a76fad6578f04f0555e63952cd21d1520a": { - "balance": "2000000000000000000000" + "0xc3b928a76fad6578f04f0555e63952cd21d1520a": { + "balance": "0x6c6b935b8bbd400000" }, - "a7a517d7ad35820b09d497fa7e5540cde9495853": { - "balance": "2000000000000000000000" + "0xa7a517d7ad35820b09d497fa7e5540cde9495853": { + "balance": "0x6c6b935b8bbd400000" }, - "e6e886317b6a66a5b4f81bf164c538c264351765": { - "balance": "2000000000000000000000" + "0xe6e886317b6a66a5b4f81bf164c538c264351765": { + "balance": "0x6c6b935b8bbd400000" }, - "0770b43dbae4b1f35a927b4fa8124d3866caf97b": { - "balance": "1016390000000000000000" + "0x0770b43dbae4b1f35a927b4fa8124d3866caf97b": { + "balance": "0x37193ea7ef5b470000" }, - "52b4257cf41b6e28878d50d57b99914ffa89873a": { - "balance": "3930150000000000000000" + "0x52b4257cf41b6e28878d50d57b99914ffa89873a": { + "balance": "0xd50dc9aa2c41770000" }, - "e08bc29c2b48b169ff2bdc16714c586e6cb85ccf": { - "balance": "20000000000000000000" + "0xe08bc29c2b48b169ff2bdc16714c586e6cb85ccf": { + "balance": "0x1158e460913d00000" }, - "2372c4c1c9939f7aaf6cfac04090f00474840a09": { - "balance": "10000000000000000000000" + "0x2372c4c1c9939f7aaf6cfac04090f00474840a09": { + "balance": "0x21e19e0c9bab2400000" }, - "ab6b65eab8dfc917ec0251b9db0ecfa0fa032849": { - "balance": "500000000000000000000" + "0xab6b65eab8dfc917ec0251b9db0ecfa0fa032849": { + "balance": "0x1b1ae4d6e2ef500000" }, - "582e7cc46f1d7b4e6e9d95868bfd370573178f4c": { - "balance": "2000000000000000000000" + "0x582e7cc46f1d7b4e6e9d95868bfd370573178f4c": { + "balance": "0x6c6b935b8bbd400000" }, - "f167f5868dcf4233a7830609682caf2df4b1b807": { - "balance": "2396150000000000000000" + "0xf167f5868dcf4233a7830609682caf2df4b1b807": { + "balance": "0x81e542e1a7383f0000" }, - "ec82f50d06475f684df1b392e00da341aa145444": { - "balance": "2000000000000000000000" + "0xec82f50d06475f684df1b392e00da341aa145444": { + "balance": "0x6c6b935b8bbd400000" }, - "0968ee5a378f8cadb3bafdbed1d19aaacf936711": { - "balance": "1000000000000000000000" + "0x0968ee5a378f8cadb3bafdbed1d19aaacf936711": { + "balance": "0x3635c9adc5dea00000" }, - "a86613e6c4a4c9c55f5c10bcda32175dcbb4af60": { - "balance": "10696140000000000000000" + "0xa86613e6c4a4c9c55f5c10bcda32175dcbb4af60": { + "balance": "0x243d6c2e36be6ae0000" }, - "a5cd123992194b34c4781314303b03c54948f4b9": { - "balance": "2010462000000000000000" + "0xa5cd123992194b34c4781314303b03c54948f4b9": { + "balance": "0x6cfcc3d91da5630000" }, - "52f058d46147e9006d29bf2c09304ad1cddd6e15": { - "balance": "1500000000000000000000" + "0x52f058d46147e9006d29bf2c09304ad1cddd6e15": { + "balance": "0x5150ae84a8cdf00000" }, - "160226efe7b53a8af462d117a0108089bdecc2d1": { - "balance": "200550000000000000000" + "0x160226efe7b53a8af462d117a0108089bdecc2d1": { + "balance": "0xadf30ba70c8970000" }, - "256292a191bdda34c4da6b6bd69147bf75e2a9ab": { - "balance": "14051000000000000000" + "0x256292a191bdda34c4da6b6bd69147bf75e2a9ab": { + "balance": "0xc2ff2e0dfb038000" }, - "1b8aa0160cd79f005f88510a714913d70ad3be33": { - "balance": "201760000000000000000" + "0x1b8aa0160cd79f005f88510a714913d70ad3be33": { + "balance": "0xaeffb83079ad00000" }, - "d4b2ff3bae1993ffea4d3b180231da439f7502a2": { - "balance": "2000000000000000000000" + "0xd4b2ff3bae1993ffea4d3b180231da439f7502a2": { + "balance": "0x6c6b935b8bbd400000" }, - "e408aa99835307eea4a6c5eb801fe694117f707d": { - "balance": "500000000000000000000" + "0xe408aa99835307eea4a6c5eb801fe694117f707d": { + "balance": "0x1b1ae4d6e2ef500000" }, - "e60a55f2df996dc3aedb696c08dde039b2641de8": { - "balance": "2000000000000000000000" + "0xe60a55f2df996dc3aedb696c08dde039b2641de8": { + "balance": "0x6c6b935b8bbd400000" }, - "73df3c3e7955f4f2d859831be38000b1076b3884": { - "balance": "1970000000000000000000" + "0x73df3c3e7955f4f2d859831be38000b1076b3884": { + "balance": "0x6acb3df27e1f880000" }, - "6228ade95e8bb17d1ae23bfb0518414d497e0eb8": { - "balance": "400000000000000000000" + "0x6228ade95e8bb17d1ae23bfb0518414d497e0eb8": { + "balance": "0x15af1d78b58c400000" }, - "0f46c81db780c1674ac73d314f06539ee56ebc83": { - "balance": "9850000000000000000000" + "0x0f46c81db780c1674ac73d314f06539ee56ebc83": { + "balance": "0x215f835bc769da80000" }, - "762d6f30dab99135e4eca51d5243d6c8621102d5": { - "balance": "282000000000000000000" + "0x762d6f30dab99135e4eca51d5243d6c8621102d5": { + "balance": "0xf498941e664280000" }, - "4ba0d9e89601772b496847a2bb4340186787d265": { - "balance": "1000000000000000000000" + "0x4ba0d9e89601772b496847a2bb4340186787d265": { + "balance": "0x3635c9adc5dea00000" }, - "ca747576446a4c8f30b08340fee198de63ec92cf": { - "balance": "7020000000000000000000" + "0xca747576446a4c8f30b08340fee198de63ec92cf": { + "balance": "0x17c8e1206722a300000" }, - "99c31fe748583787cdd3e525b281b218961739e3": { - "balance": "1015200000000000000000" + "0x99c31fe748583787cdd3e525b281b218961739e3": { + "balance": "0x3708baed3d68900000" }, - "1210f80bdb826c175462ab0716e69e46c24ad076": { - "balance": "100000000000000000000" + "0x1210f80bdb826c175462ab0716e69e46c24ad076": { + "balance": "0x56bc75e2d63100000" }, - "3f75ae61cc1d8042653b5baec4443e051c5e7abd": { - "balance": "95500000000000000000" + "0x3f75ae61cc1d8042653b5baec4443e051c5e7abd": { + "balance": "0x52d542804f1ce0000" }, - "5c4892907a0720df6fd3413e63ff767d6b398023": { - "balance": "13189467000000000000000" + "0x5c4892907a0720df6fd3413e63ff767d6b398023": { + "balance": "0x2cb009fd3b5790f8000" }, - "17f14632a7e2820be6e8f6df823558283dadab2d": { - "balance": "2000000000000000000000" + "0x17f14632a7e2820be6e8f6df823558283dadab2d": { + "balance": "0x6c6b935b8bbd400000" }, - "1dc7f7dad85df53f1271152403f4e1e4fdb3afa0": { - "balance": "200000000000000000000" + "0x1dc7f7dad85df53f1271152403f4e1e4fdb3afa0": { + "balance": "0xad78ebc5ac6200000" }, - "5a30feac37ac9f72d7b4af0f2bc73952c74fd5c3": { - "balance": "2000000000000000000000" + "0x5a30feac37ac9f72d7b4af0f2bc73952c74fd5c3": { + "balance": "0x6c6b935b8bbd400000" }, - "136d4b662bbd1080cfe4445b0fa213864435b7f1": { - "balance": "4000000000000000000000" + "0x136d4b662bbd1080cfe4445b0fa213864435b7f1": { + "balance": "0xd8d726b7177a800000" }, - "c1ec81dd123d4b7c2dd9b4d438a7072c11dc874c": { - "balance": "2000000000000000000000" + "0xc1ec81dd123d4b7c2dd9b4d438a7072c11dc874c": { + "balance": "0x6c6b935b8bbd400000" }, - "09f9575be57d004793c7a4eb84b71587f97cbb6a": { - "balance": "200000000000000000000" + "0x09f9575be57d004793c7a4eb84b71587f97cbb6a": { + "balance": "0xad78ebc5ac6200000" }, - "2c4b470307a059854055d91ec3794d80b53d0f4a": { - "balance": "20000000000000000000000" + "0x2c4b470307a059854055d91ec3794d80b53d0f4a": { + "balance": "0x43c33c1937564800000" }, - "6af6c7ee99df271ba15bf384c0b764adcb4da182": { - "balance": "999972000000000000000" + "0x6af6c7ee99df271ba15bf384c0b764adcb4da182": { + "balance": "0x36356633ebd8ea0000" }, - "0dae3ee5b915b36487f9161f19846d101433318a": { - "balance": "1910000000000000000000" + "0x0dae3ee5b915b36487f9161f19846d101433318a": { + "balance": "0x678a932062e4180000" }, - "0dcf9d8c9804459f647c14138ed50fad563b4154": { - "balance": "173000000000000000000" + "0x0dcf9d8c9804459f647c14138ed50fad563b4154": { + "balance": "0x960db77681e940000" }, - "bfa8c858df102cb12421008b0a31c4c7190ad560": { - "balance": "200000000000000000000" + "0xbfa8c858df102cb12421008b0a31c4c7190ad560": { + "balance": "0xad78ebc5ac6200000" }, - "c2fd0bf7c725ef3e047e5ae1c29fe18f12a7299c": { - "balance": "1337000000000000000000" + "0xc2fd0bf7c725ef3e047e5ae1c29fe18f12a7299c": { + "balance": "0x487a9a304539440000" }, - "d70a612bd6dda9eab0dddcff4aaf4122d38feae4": { - "balance": "540000000000000000000" + "0xd70a612bd6dda9eab0dddcff4aaf4122d38feae4": { + "balance": "0x1d460162f516f00000" }, - "e07137ae0d116d033533c4eab496f8a9fb09569c": { - "balance": "1400000000000000000000" + "0xe07137ae0d116d033533c4eab496f8a9fb09569c": { + "balance": "0x4be4e7267b6ae00000" }, - "7f49f20726471ac1c7a83ef106e9775ceb662566": { - "balance": "5910000000000000000000" + "0x7f49f20726471ac1c7a83ef106e9775ceb662566": { + "balance": "0x14061b9d77a5e980000" }, - "1e706655e284dcf0bb37fe075d613a18dc12ff4a": { - "balance": "4376760000000000000000" + "0x1e706655e284dcf0bb37fe075d613a18dc12ff4a": { + "balance": "0xed43bf1eee82ac0000" }, - "03af7ad9d5223cf7c8c13f20df67ebe5ffc5bb41": { - "balance": "200000000000000000000" + "0x03af7ad9d5223cf7c8c13f20df67ebe5ffc5bb41": { + "balance": "0xad78ebc5ac6200000" }, - "228242f8336eecd8242e1f000f41937e71dffbbf": { - "balance": "5000000000000000000000" + "0x228242f8336eecd8242e1f000f41937e71dffbbf": { + "balance": "0x10f0cf064dd59200000" }, - "e8ed51bbb3ace69e06024b33f86844c47348db9e": { - "balance": "165170600000000000000000" + "0xe8ed51bbb3ace69e06024b33f86844c47348db9e": { + "balance": "0x22f9ea89f4a7d6c40000" }, - "3b566a8afad19682dc2ce8679a3ce444a5b0fd4f": { - "balance": "2000000000000000000000" + "0x3b566a8afad19682dc2ce8679a3ce444a5b0fd4f": { + "balance": "0x6c6b935b8bbd400000" }, - "dc738fb217cead2f69594c08170de1af10c419e3": { - "balance": "100000000000000000000000" + "0xdc738fb217cead2f69594c08170de1af10c419e3": { + "balance": "0x152d02c7e14af6800000" }, - "13032446e7d610aa00ec8c56c9b574d36ca1c016": { - "balance": "2000000000000000000000" + "0x13032446e7d610aa00ec8c56c9b574d36ca1c016": { + "balance": "0x6c6b935b8bbd400000" }, - "6ca6a132ce1cd288bee30ec7cfeffb85c1f50a54": { - "balance": "2000000000000000000000" + "0x6ca6a132ce1cd288bee30ec7cfeffb85c1f50a54": { + "balance": "0x6c6b935b8bbd400000" }, - "b85f26dd0e72d9c29ebaf697a8af77472c2b58b5": { - "balance": "11900000000000000000000" + "0xb85f26dd0e72d9c29ebaf697a8af77472c2b58b5": { + "balance": "0x28519acc7190c700000" }, - "055bd02caf19d6202bbcdc836d187bd1c01cf261": { - "balance": "100000000000000000000" + "0x055bd02caf19d6202bbcdc836d187bd1c01cf261": { + "balance": "0x56bc75e2d63100000" }, - "3c322e611fdb820d47c6f8fc64b6fad74ca95f5e": { - "balance": "242514000000000000000" + "0x3c322e611fdb820d47c6f8fc64b6fad74ca95f5e": { + "balance": "0xd258ece1b13150000" }, - "8daddf52efbd74da95b969a5476f4fbbb563bfd2": { - "balance": "835000000000000000000" + "0x8daddf52efbd74da95b969a5476f4fbbb563bfd2": { + "balance": "0x2d43f3ebfafb2c0000" }, - "c63ac417992e9f9b60386ed953e6d7dff2b090e8": { - "balance": "4000086000000000000000" + "0xc63ac417992e9f9b60386ed953e6d7dff2b090e8": { + "balance": "0xd8d8583fa2d52f0000" }, - "27f03cf1abc5e1b51dbc444b289e542c9ddfb0e6": { - "balance": "5000000000000000000000" + "0x27f03cf1abc5e1b51dbc444b289e542c9ddfb0e6": { + "balance": "0x10f0cf064dd59200000" }, - "d8f4bae6f84d910d6d7d5ac914b1e68372f94135": { - "balance": "100000000000000000000" + "0xd8f4bae6f84d910d6d7d5ac914b1e68372f94135": { + "balance": "0x56bc75e2d63100000" }, - "9f83a293c324d4106c18faa8888f64d299054ca0": { - "balance": "200000000000000000000" + "0x9f83a293c324d4106c18faa8888f64d299054ca0": { + "balance": "0xad78ebc5ac6200000" }, - "39ee4fe00fbced647068d4f57c01cb22a80bccd1": { - "balance": "6000000000000000000000" + "0x39ee4fe00fbced647068d4f57c01cb22a80bccd1": { + "balance": "0x14542ba12a337c00000" }, - "404100db4c5d0eec557823b58343758bcc2c8083": { - "balance": "20000000000000000000" + "0x404100db4c5d0eec557823b58343758bcc2c8083": { + "balance": "0x1158e460913d00000" }, - "02751dc68cb5bd737027abf7ddb77390cd77c16b": { - "balance": "20000000000000000000" + "0x02751dc68cb5bd737027abf7ddb77390cd77c16b": { + "balance": "0x1158e460913d00000" }, - "d10302faa1929a326904d376bf0b8dc93ad04c4c": { - "balance": "1790000000000000000000" + "0xd10302faa1929a326904d376bf0b8dc93ad04c4c": { + "balance": "0x61093d7c2c6d380000" }, - "cc419fd9912b85135659e77a93bc3df182d45115": { - "balance": "10000000000000000000000" + "0xcc419fd9912b85135659e77a93bc3df182d45115": { + "balance": "0x21e19e0c9bab2400000" }, - "10097198b4e7ee91ff82cc2f3bd95fed73c540c0": { - "balance": "2000000000000000000000" + "0x10097198b4e7ee91ff82cc2f3bd95fed73c540c0": { + "balance": "0x6c6b935b8bbd400000" }, - "7e24d9e22ce1da3ce19f219ccee523376873f367": { - "balance": "5900150000000000000000" + "0x7e24d9e22ce1da3ce19f219ccee523376873f367": { + "balance": "0x13fd9079caa60ff0000" }, - "2e4ee1ae996aa0a1d92428d06652a6bea6d2d15d": { - "balance": "2000000000000000000000" + "0x2e4ee1ae996aa0a1d92428d06652a6bea6d2d15d": { + "balance": "0x6c6b935b8bbd400000" }, - "91a4149a2c7b1b3a67ea28aff34725e0bf8d7524": { - "balance": "1940000000000000000000" + "0x91a4149a2c7b1b3a67ea28aff34725e0bf8d7524": { + "balance": "0x692ae8897081d00000" }, - "ead65262ed5d122df2b2751410f98c32d1238f51": { - "balance": "101680000000000000000" + "0xead65262ed5d122df2b2751410f98c32d1238f51": { + "balance": "0x58317ed46b9b80000" }, - "e20954d0f4108c82d4dcb2148d26bbd924f6dd24": { - "balance": "10000000000000000000000" + "0xe20954d0f4108c82d4dcb2148d26bbd924f6dd24": { + "balance": "0x21e19e0c9bab2400000" }, - "ebb7d2e11bc6b58f0a8d45c2f6de3010570ac891": { - "balance": "26740000000000000000" + "0xebb7d2e11bc6b58f0a8d45c2f6de3010570ac891": { + "balance": "0x1731790534df20000" }, - "ef115252b1b845cd857f002d630f1b6fa37a4e50": { - "balance": "1970000000000000000000" + "0xef115252b1b845cd857f002d630f1b6fa37a4e50": { + "balance": "0x6acb3df27e1f880000" }, - "01a818135a414210c37c62b625aca1a54611ac36": { - "balance": "260000000000000000000" + "0x01a818135a414210c37c62b625aca1a54611ac36": { + "balance": "0xe18398e7601900000" }, - "ea1ea0c599afb9cd36caacbbb52b5bbb97597377": { - "balance": "1069600000000000000000" + "0xea1ea0c599afb9cd36caacbbb52b5bbb97597377": { + "balance": "0x39fbae8d042dd00000" }, - "7a7a4f807357a4bbe68e1aa806393210c411ccb3": { - "balance": "30000000000000000000000" + "0x7a7a4f807357a4bbe68e1aa806393210c411ccb3": { + "balance": "0x65a4da25d3016c00000" }, - "6d40ca27826d97731b3e86effcd7b92a4161fe89": { - "balance": "2000000000000000000000" + "0x6d40ca27826d97731b3e86effcd7b92a4161fe89": { + "balance": "0x6c6b935b8bbd400000" }, - "8431277d7bdd10457dc017408c8dbbbd414a8df3": { - "balance": "39400000000000000000" + "0x8431277d7bdd10457dc017408c8dbbbd414a8df3": { + "balance": "0x222c8eb3ff6640000" }, - "69b81d5981141ec7a7141060dfcf8f3599ffc63e": { - "balance": "5000000000000000000000" + "0x69b81d5981141ec7a7141060dfcf8f3599ffc63e": { + "balance": "0x10f0cf064dd59200000" }, - "47688410ff25d654d72eb2bc06e4ad24f833b094": { - "balance": "160440000000000000000" + "0x47688410ff25d654d72eb2bc06e4ad24f833b094": { + "balance": "0x8b28d61f3d3ac0000" }, - "6c101205b323d77544d6dc52af37aca3cec6f7f1": { - "balance": "10000000000000000000000" + "0x6c101205b323d77544d6dc52af37aca3cec6f7f1": { + "balance": "0x21e19e0c9bab2400000" }, - "fb685c15e439965ef626bf0d834cd1a89f2b5695": { - "balance": "3940000000000000000000" + "0xfb685c15e439965ef626bf0d834cd1a89f2b5695": { + "balance": "0xd5967be4fc3f100000" }, - "673706b1b0e4dc7a949a7a796258a5b83bb5aa83": { - "balance": "16100000000000000000000" + "0x673706b1b0e4dc7a949a7a796258a5b83bb5aa83": { + "balance": "0x368c8623a8b4d100000" }, - "ecdaf93229b45ee672f65db506fb5eca00f7fce6": { - "balance": "1605009000000000000000" + "0xecdaf93229b45ee672f65db506fb5eca00f7fce6": { + "balance": "0x5701f96dcc40ee8000" }, - "ec6904bae1f69790591709b0609783733f2573e3": { - "balance": "500000000000000000000" + "0xec6904bae1f69790591709b0609783733f2573e3": { + "balance": "0x1b1ae4d6e2ef500000" }, - "812ea7a3b2c86eed32ff4f2c73514cc63bacfbce": { - "balance": "1000000000000000000000" + "0x812ea7a3b2c86eed32ff4f2c73514cc63bacfbce": { + "balance": "0x3635c9adc5dea00000" }, - "196c02210a450ab0b36370655f717aa87bd1c004": { - "balance": "259456000000000000000" + "0x196c02210a450ab0b36370655f717aa87bd1c004": { + "balance": "0xe10ace157dbc00000" }, - "d96ac2507409c7a383ab2eee1822a5d738b36b56": { - "balance": "200000000000000000000" + "0xd96ac2507409c7a383ab2eee1822a5d738b36b56": { + "balance": "0xad78ebc5ac6200000" }, - "ae2f9c19ac76136594432393b0471d08902164d3": { - "balance": "698600000000000000000" + "0xae2f9c19ac76136594432393b0471d08902164d3": { + "balance": "0x25df05c6a897e40000" }, - "9d32962ea99700d93228e9dbdad2cc37bb99f07e": { - "balance": "3327560000000000000000" + "0x9d32962ea99700d93228e9dbdad2cc37bb99f07e": { + "balance": "0xb4632bedd4ded40000" }, - "17e584e810e567702c61d55d434b34cdb5ee30f6": { - "balance": "5000000000000000000000" + "0x17e584e810e567702c61d55d434b34cdb5ee30f6": { + "balance": "0x10f0cf064dd59200000" }, - "a3a93ef9dbea2636263d06d8492f6a41de907c22": { - "balance": "60000000000000000000" + "0xa3a93ef9dbea2636263d06d8492f6a41de907c22": { + "balance": "0x340aad21b3b700000" }, - "2b5016e2457387956562587115aa8759d8695fdf": { - "balance": "200000000000000000000000" + "0x2b5016e2457387956562587115aa8759d8695fdf": { + "balance": "0x2a5a058fc295ed000000" }, - "140129eaa766b5a29f5b3af2574e4409f8f6d3f1": { - "balance": "6400000000000000000000" + "0x140129eaa766b5a29f5b3af2574e4409f8f6d3f1": { + "balance": "0x15af1d78b58c4000000" }, - "7025965d2b88da197d4459be3dc9386344cc1f31": { - "balance": "2005500000000000000000" + "0x7025965d2b88da197d4459be3dc9386344cc1f31": { + "balance": "0x6cb7e74867d5e60000" }, - "388bdcdae794fc44082e667501344118ea96cd96": { - "balance": "1670000000000000000000" + "0x388bdcdae794fc44082e667501344118ea96cd96": { + "balance": "0x5a87e7d7f5f6580000" }, - "eee9d0526eda01e43116a395322dda8970578f39": { - "balance": "9999980000000000000000" + "0xeee9d0526eda01e43116a395322dda8970578f39": { + "balance": "0x21e1999bbd5d2be0000" }, - "6ec89b39f9f5276a553e8da30e6ec17aa47eefc7": { - "balance": "447500000000000000000" + "0x6ec89b39f9f5276a553e8da30e6ec17aa47eefc7": { + "balance": "0x18424f5f0b1b4e0000" }, - "7e236666b2d06e63ea4e2ab84357e2dfc977e50e": { - "balance": "999972000000000000000" + "0x7e236666b2d06e63ea4e2ab84357e2dfc977e50e": { + "balance": "0x36356633ebd8ea0000" }, - "68df947c495bebaeb8e889b3f953d533874bf106": { - "balance": "546000000000000000000" + "0x68df947c495bebaeb8e889b3f953d533874bf106": { + "balance": "0x1d9945ab2b03480000" }, - "d40ed66ab3ceff24ca05ecd471efb492c15f5ffa": { - "balance": "500000000000000000000" + "0xd40ed66ab3ceff24ca05ecd471efb492c15f5ffa": { + "balance": "0x1b1ae4d6e2ef500000" }, - "f0c70d0d6dab7663aa9ed9ceea567ee2c6b02765": { - "balance": "2089349000000000000000" + "0xf0c70d0d6dab7663aa9ed9ceea567ee2c6b02765": { + "balance": "0x71438ac5a791a08000" }, - "b589676d15a04448344230d4ff27c95edf122c49": { - "balance": "1000000000000000000000" + "0xb589676d15a04448344230d4ff27c95edf122c49": { + "balance": "0x3635c9adc5dea00000" }, - "a0347f0a98776390165c166d32963bf74dcd0a2f": { - "balance": "1000000000000000000000" + "0xa0347f0a98776390165c166d32963bf74dcd0a2f": { + "balance": "0x3635c9adc5dea00000" }, - "d47d8685faee147c520fd986709175bf2f886bef": { - "balance": "2000000000000000000000" + "0xd47d8685faee147c520fd986709175bf2f886bef": { + "balance": "0x6c6b935b8bbd400000" }, - "a1dcd0e5b05a977c9623e5ae2f59b9ada2f33e31": { - "balance": "100000000000000000000" + "0xa1dcd0e5b05a977c9623e5ae2f59b9ada2f33e31": { + "balance": "0x56bc75e2d63100000" }, - "4979194ec9e97db9bee8343b7c77d9d7f3f1dc9f": { - "balance": "20000000000000000000" + "0x4979194ec9e97db9bee8343b7c77d9d7f3f1dc9f": { + "balance": "0x1158e460913d00000" }, - "7cd20eccb518b60cab095b720f571570caaa447e": { - "balance": "500000000000000000000" + "0x7cd20eccb518b60cab095b720f571570caaa447e": { + "balance": "0x1b1ae4d6e2ef500000" }, - "2ff830cf55fb00d5a0e03514fecd44314bd6d9f1": { - "balance": "10000000000000000000000" + "0x2ff830cf55fb00d5a0e03514fecd44314bd6d9f1": { + "balance": "0x21e19e0c9bab2400000" }, - "0bb25ca7d188e71e4d693d7b170717d6f8f0a70a": { - "balance": "336870000000000000000" + "0x0bb25ca7d188e71e4d693d7b170717d6f8f0a70a": { + "balance": "0x124302a82fadd70000" }, - "e9a2b4914e8553bf0d7c00ca532369b879f931bf": { - "balance": "2000000000000000000000" + "0xe9a2b4914e8553bf0d7c00ca532369b879f931bf": { + "balance": "0x6c6b935b8bbd400000" }, - "720e6b22bf430966fa32b6acb9a506eebf662c61": { - "balance": "152000000000000000000" + "0x720e6b22bf430966fa32b6acb9a506eebf662c61": { + "balance": "0x83d6c7aab63600000" }, - "7ade5d66b944bb860c0efdc86276d58f4653f711": { - "balance": "2000000000000000000000" + "0x7ade5d66b944bb860c0efdc86276d58f4653f711": { + "balance": "0x6c6b935b8bbd400000" }, - "2eaff9f8f8113064d3957ac6d6e11eee42c8195d": { - "balance": "1970000000000000000000" + "0x2eaff9f8f8113064d3957ac6d6e11eee42c8195d": { + "balance": "0x6acb3df27e1f880000" }, - "0c8fd7775e54a6d9c9a3bf890e761f6577693ff0": { - "balance": "9850000000000000000000" + "0x0c8fd7775e54a6d9c9a3bf890e761f6577693ff0": { + "balance": "0x215f835bc769da80000" }, - "290a56d41f6e9efbdcea0342e0b7929a8cdfcb05": { - "balance": "344000000000000000000" + "0x290a56d41f6e9efbdcea0342e0b7929a8cdfcb05": { + "balance": "0x12a5f58168ee600000" }, - "d73ed2d985b5f21b55b274643bc6da031d8edd8d": { - "balance": "49250000000000000000000" + "0xd73ed2d985b5f21b55b274643bc6da031d8edd8d": { + "balance": "0xa6dd90cae5114480000" }, - "80156d10efa8b230c99410630d37e269d4093cea": { - "balance": "2000000000000000000000" + "0x80156d10efa8b230c99410630d37e269d4093cea": { + "balance": "0x6c6b935b8bbd400000" }, - "0989c200440b878991b69d6095dfe69e33a22e70": { - "balance": "1910000000000000000000" + "0x0989c200440b878991b69d6095dfe69e33a22e70": { + "balance": "0x678a932062e4180000" }, - "ec8014efc7cbe5b0ce50f3562cf4e67f8593cd32": { - "balance": "17300000000000000000" + "0xec8014efc7cbe5b0ce50f3562cf4e67f8593cd32": { + "balance": "0xf015f25736420000" }, - "de612d0724e84ea4a7feaa3d2142bd5ee82d3201": { - "balance": "20000000000000000000" + "0xde612d0724e84ea4a7feaa3d2142bd5ee82d3201": { + "balance": "0x1158e460913d00000" }, - "0f832a93df9d7f74cd0fb8546b7198bf5377d925": { - "balance": "143000000000000000000" + "0x0f832a93df9d7f74cd0fb8546b7198bf5377d925": { + "balance": "0x7c0860e5a80dc0000" }, - "aa2c670096d3f939305325427eb955a8a60db3c5": { - "balance": "2003010000000000000000" + "0xaa2c670096d3f939305325427eb955a8a60db3c5": { + "balance": "0x6c95590699232d0000" }, - "25287b815f5c82380a73b0b13fbaf982be24c4d3": { - "balance": "40000000000000000000" + "0x25287b815f5c82380a73b0b13fbaf982be24c4d3": { + "balance": "0x22b1c8c1227a00000" }, - "e75c3b38a58a3f33d55690a5a59766be185e0284": { - "balance": "500000000000000000000" + "0xe75c3b38a58a3f33d55690a5a59766be185e0284": { + "balance": "0x1b1ae4d6e2ef500000" }, - "1940dc9364a852165f47414e27f5002445a4f143": { - "balance": "10850000000000000000000" + "0x1940dc9364a852165f47414e27f5002445a4f143": { + "balance": "0x24c2dff6a3c7c480000" }, - "e5b826196c0e1bc1119b021cf6d259a610c99670": { - "balance": "200000000000000000000" + "0xe5b826196c0e1bc1119b021cf6d259a610c99670": { + "balance": "0xad78ebc5ac6200000" }, - "82a15cef1d6c8260eaf159ea3f0180d8677dce1c": { - "balance": "2000000000000000000000" + "0x82a15cef1d6c8260eaf159ea3f0180d8677dce1c": { + "balance": "0x6c6b935b8bbd400000" }, - "da06044e293c652c467fe74146bf185b21338a1c": { - "balance": "1000000000000000000000" + "0xda06044e293c652c467fe74146bf185b21338a1c": { + "balance": "0x3635c9adc5dea00000" }, - "f815c10a032d13c34b8976fa6e3bd2c9131a8ba9": { - "balance": "1337000000000000000000" + "0xf815c10a032d13c34b8976fa6e3bd2c9131a8ba9": { + "balance": "0x487a9a304539440000" }, - "cd95fa423d6fc120274aacde19f4eeb766f10420": { - "balance": "200000000000000000000" + "0xcd95fa423d6fc120274aacde19f4eeb766f10420": { + "balance": "0xad78ebc5ac6200000" }, - "e3a4f83c39f85af9c8b1b312bfe5fc3423afa634": { - "balance": "28650000000000000000" + "0xe3a4f83c39f85af9c8b1b312bfe5fc3423afa634": { + "balance": "0x18d993f34aef10000" }, - "768ce0daa029b7ded022e5fc574d11cde3ecb517": { - "balance": "322000000000000000000" + "0x768ce0daa029b7ded022e5fc574d11cde3ecb517": { + "balance": "0x1174a5cdf88bc80000" }, - "e3ec18a74ed43855409a26ade7830de8e42685ef": { - "balance": "19700000000000000000" + "0xe3ec18a74ed43855409a26ade7830de8e42685ef": { + "balance": "0x11164759ffb320000" }, - "b2bdbedf95908476d7148a370cc693743628057f": { - "balance": "4000000000000000000000" + "0xb2bdbedf95908476d7148a370cc693743628057f": { + "balance": "0xd8d726b7177a800000" }, - "bbb8ffe43f98de8eae184623ae5264e424d0b8d7": { - "balance": "107600000000000000000" + "0xbbb8ffe43f98de8eae184623ae5264e424d0b8d7": { + "balance": "0x5d53ffde928080000" }, - "090cebef292c3eb081a05fd8aaf7d39bf07b89d4": { - "balance": "4000000000000000000000" + "0x090cebef292c3eb081a05fd8aaf7d39bf07b89d4": { + "balance": "0xd8d726b7177a800000" }, - "dd2a233adede66fe1126d6c16823b62a021feddb": { - "balance": "2000000000000000000000" + "0xdd2a233adede66fe1126d6c16823b62a021feddb": { + "balance": "0x6c6b935b8bbd400000" }, - "d8cd64e0284eec53aa4639afc4750810b97fab56": { - "balance": "20000000000000000000" + "0xd8cd64e0284eec53aa4639afc4750810b97fab56": { + "balance": "0x1158e460913d00000" }, - "e5953fea497104ef9ad2d4e5841c271f073519c2": { - "balance": "704000000000000000000" + "0xe5953fea497104ef9ad2d4e5841c271f073519c2": { + "balance": "0x2629f66e0c53000000" }, - "967d4142af770515dd7062af93498dbfdff29f20": { - "balance": "20200000000000000000" + "0x967d4142af770515dd7062af93498dbfdff29f20": { + "balance": "0x11854d0f9cee40000" }, - "fd191a35157d781373fb411bf9f25290047c5eef": { - "balance": "1000000000000000000000" + "0xfd191a35157d781373fb411bf9f25290047c5eef": { + "balance": "0x3635c9adc5dea00000" }, - "8967d7b9bdb7b4aed22e65a15dc803cb7a213f10": { - "balance": "400000000000000000000" + "0x8967d7b9bdb7b4aed22e65a15dc803cb7a213f10": { + "balance": "0x15af1d78b58c400000" }, - "51e43fe0d25c782860af81ea89dd793c13f0cbb1": { - "balance": "60000000000000000000" + "0x51e43fe0d25c782860af81ea89dd793c13f0cbb1": { + "balance": "0x340aad21b3b700000" }, - "a38476691d34942eea6b2f76889223047db4617a": { - "balance": "2000000000000000000000" + "0xa38476691d34942eea6b2f76889223047db4617a": { + "balance": "0x6c6b935b8bbd400000" }, - "1321ccf29739b974e5a516f18f3a843671e39642": { - "balance": "4000000000000000000000" + "0x1321ccf29739b974e5a516f18f3a843671e39642": { + "balance": "0xd8d726b7177a800000" }, - "4d71a6eb3d7f327e1834278e280b039eddd31c2f": { - "balance": "6000000000000000000000" + "0x4d71a6eb3d7f327e1834278e280b039eddd31c2f": { + "balance": "0x14542ba12a337c00000" }, - "dc2d15a69f6bb33b246aef40450751c2f6756ad2": { - "balance": "1996000000000000000000" + "0xdc2d15a69f6bb33b246aef40450751c2f6756ad2": { + "balance": "0x6c341080bd1fb00000" }, - "ec89f2b678a1a15b9134ec5eb70c6a62071fbaf9": { - "balance": "200000000000000000000" + "0xec89f2b678a1a15b9134ec5eb70c6a62071fbaf9": { + "balance": "0xad78ebc5ac6200000" }, - "27bf943c1633fe32f8bcccdb6302b407a5724e44": { - "balance": "940229000000000000000" + "0x27bf943c1633fe32f8bcccdb6302b407a5724e44": { + "balance": "0x32f84c6df408c08000" }, - "d0a6c6f9e9c4b383d716b31de78d56414de8fa91": { - "balance": "300000000000000000000" + "0xd0a6c6f9e9c4b383d716b31de78d56414de8fa91": { + "balance": "0x1043561a8829300000" }, - "7b6175ec9befc738249535ddde34688cd36edf25": { - "balance": "10000000000000000000000" + "0x7b6175ec9befc738249535ddde34688cd36edf25": { + "balance": "0x21e19e0c9bab2400000" }, - "41ce79950935cff55bf78e4ccec2fe631785db95": { - "balance": "2000000000000000000000" + "0x41ce79950935cff55bf78e4ccec2fe631785db95": { + "balance": "0x6c6b935b8bbd400000" }, - "5598b3a79a48f32b1f5fc915b87b645d805d1afe": { - "balance": "500000000000000000000" + "0x5598b3a79a48f32b1f5fc915b87b645d805d1afe": { + "balance": "0x1b1ae4d6e2ef500000" }, - "5c4881165cb42bb82e97396c8ef44adbf173fb99": { - "balance": "110600000000000000000" + "0x5c4881165cb42bb82e97396c8ef44adbf173fb99": { + "balance": "0x5fee222041e340000" }, - "25b0533b81d02a617b9229c7ec5d6f2f672e5b5a": { - "balance": "1000000000000000000000" + "0x25b0533b81d02a617b9229c7ec5d6f2f672e5b5a": { + "balance": "0x3635c9adc5dea00000" }, - "015f097d9acddcddafaf2a107eb93a40fc94b04c": { - "balance": "20000000000000000000000" + "0x015f097d9acddcddafaf2a107eb93a40fc94b04c": { + "balance": "0x43c33c1937564800000" }, - "b84b53d0bb125656cddc52eb852ab71d7259f3d5": { - "balance": "16000000000000000000000" + "0xb84b53d0bb125656cddc52eb852ab71d7259f3d5": { + "balance": "0x3635c9adc5dea000000" }, - "1a79c7f4039c67a39d7513884cdc0e2c34222490": { - "balance": "20000000000000000000" + "0x1a79c7f4039c67a39d7513884cdc0e2c34222490": { + "balance": "0x1158e460913d00000" }, - "926209b7fda54e8ddb9d9e4d3d19ebdc8e88c29f": { - "balance": "2000000000000000000000" + "0x926209b7fda54e8ddb9d9e4d3d19ebdc8e88c29f": { + "balance": "0x6c6b935b8bbd400000" }, - "c2fe7d75731f636dcd09dbda0671393ba0c82a7d": { - "balance": "2200000000000000000000" + "0xc2fe7d75731f636dcd09dbda0671393ba0c82a7d": { + "balance": "0x77432217e683600000" }, - "30248d58e414b20fed3a6c482b59d9d8f5a4b7e2": { - "balance": "60000000000000000000" + "0x30248d58e414b20fed3a6c482b59d9d8f5a4b7e2": { + "balance": "0x340aad21b3b700000" }, - "d0e194f34b1db609288509ccd2e73b6131a2538b": { - "balance": "999972000000000000000" + "0xd0e194f34b1db609288509ccd2e73b6131a2538b": { + "balance": "0x36356633ebd8ea0000" }, - "e8f29969e75c65e01ce3d86154207d0a9e7c76f2": { - "balance": "2991807000000000000000" + "0xe8f29969e75c65e01ce3d86154207d0a9e7c76f2": { + "balance": "0xa22fa9a73a27198000" }, - "cb93199b9c90bc4915bd859e3d42866dc8c18749": { - "balance": "231800000000000000000" + "0xcb93199b9c90bc4915bd859e3d42866dc8c18749": { + "balance": "0xc90df07def78c0000" }, - "e6fe0afb9dcedd37b2e22c451ba6feab67348033": { - "balance": "10000000000000000000000" + "0xe6fe0afb9dcedd37b2e22c451ba6feab67348033": { + "balance": "0x21e19e0c9bab2400000" }, - "82f854c9c2f087dffa985ac8201e626ca5467686": { - "balance": "100000000000000000000000" + "0x82f854c9c2f087dffa985ac8201e626ca5467686": { + "balance": "0x152d02c7e14af6800000" }, - "63bb664f9117037628594da7e3c5089fd618b5b5": { - "balance": "20000000000000000000" + "0x63bb664f9117037628594da7e3c5089fd618b5b5": { + "balance": "0x1158e460913d00000" }, - "f8d17424c767bea31205739a2b57a7277214eebe": { - "balance": "42000000000000000000" + "0xf8d17424c767bea31205739a2b57a7277214eebe": { + "balance": "0x246ddf97976680000" }, - "4ca8db4a5efefc80f4cd9bbcccb03265931332b6": { - "balance": "200000000000000000000" + "0x4ca8db4a5efefc80f4cd9bbcccb03265931332b6": { + "balance": "0xad78ebc5ac6200000" }, - "c56e6b62ba6e40e52aab167d21df025d0055754b": { - "balance": "2000000000000000000000" + "0xc56e6b62ba6e40e52aab167d21df025d0055754b": { + "balance": "0x6c6b935b8bbd400000" }, - "0d8c40a79e18994ff99ec251ee10d088c3912e80": { - "balance": "114600000000000000000" + "0x0d8c40a79e18994ff99ec251ee10d088c3912e80": { + "balance": "0x63664fcd2bbc40000" }, - "40a331195b977325c2aa28fa2f42cb25ec3c253c": { - "balance": "2000000000000000000000" + "0x40a331195b977325c2aa28fa2f42cb25ec3c253c": { + "balance": "0x6c6b935b8bbd400000" }, - "a2c5854ff1599f98892c5725d262be1da98aadac": { - "balance": "314315000000000000000" + "0xa2c5854ff1599f98892c5725d262be1da98aadac": { + "balance": "0x1109ff333010e78000" }, - "23ab09e73f87aa0f3be0139df0c8eb6be5634f95": { - "balance": "8000000000000000000000" + "0x23ab09e73f87aa0f3be0139df0c8eb6be5634f95": { + "balance": "0x1b1ae4d6e2ef5000000" }, - "b8040536958d5998ce4bec0cfc9c2204989848e9": { - "balance": "24472420000000000000000" + "0xb8040536958d5998ce4bec0cfc9c2204989848e9": { + "balance": "0x52ea70d498fd50a0000" }, - "42d6b263d9e9f4116c411424fc9955783c763030": { - "balance": "2000000000000000000000" + "0x42d6b263d9e9f4116c411424fc9955783c763030": { + "balance": "0x6c6b935b8bbd400000" }, - "c496cbb0459a6a01600fc589a55a32b454217f9d": { - "balance": "274000000000000000000" + "0xc496cbb0459a6a01600fc589a55a32b454217f9d": { + "balance": "0xeda838c4929080000" }, - "48302c311ef8e5dc664158dd583c81194d6e0d58": { - "balance": "3364760000000000000000" + "0x48302c311ef8e5dc664158dd583c81194d6e0d58": { + "balance": "0xb6676ce0bccb5c0000" }, - "d5b284040130abf7c1d163712371cc7e28ad66da": { - "balance": "1970000000000000000000" + "0xd5b284040130abf7c1d163712371cc7e28ad66da": { + "balance": "0x6acb3df27e1f880000" }, - "d22f0ca4cd479e661775053bcc49e390f670dd8a": { - "balance": "1000000000000000000000" + "0xd22f0ca4cd479e661775053bcc49e390f670dd8a": { + "balance": "0x3635c9adc5dea00000" }, - "e597f083a469c4591c3d2b1d2c772787befe27b2": { - "balance": "280000000000000000000" + "0xe597f083a469c4591c3d2b1d2c772787befe27b2": { + "balance": "0xf2dc7d47f15600000" }, - "668b6ba8ab08eace39c502ef672bd5ccb6a67a20": { - "balance": "31135320000000000000000" + "0x668b6ba8ab08eace39c502ef672bd5ccb6a67a20": { + "balance": "0x697d95d4201333c0000" }, - "a3bff1dfa9971668360c0d82828432e27bf54e67": { - "balance": "200000000000000000000" + "0xa3bff1dfa9971668360c0d82828432e27bf54e67": { + "balance": "0xad78ebc5ac6200000" }, - "ee655bb4ee0e8d5478526fb9f15e4064e09ff3dd": { - "balance": "200000000000000000000" + "0xee655bb4ee0e8d5478526fb9f15e4064e09ff3dd": { + "balance": "0xad78ebc5ac6200000" }, - "121f855b70149ac83473b9706fb44d47828b983b": { - "balance": "1400000000000000000000" + "0x121f855b70149ac83473b9706fb44d47828b983b": { + "balance": "0x4be4e7267b6ae00000" }, - "20a15256d50ce058bf0eac43aa533aa16ec9b380": { - "balance": "20000000000000000000" + "0x20a15256d50ce058bf0eac43aa533aa16ec9b380": { + "balance": "0x1158e460913d00000" }, - "69bcfc1d43b4ba19de7b274bdffb35139412d3d7": { - "balance": "985000000000000000000" + "0x69bcfc1d43b4ba19de7b274bdffb35139412d3d7": { + "balance": "0x35659ef93f0fc40000" }, - "db288f80ffe232c2ba47cc94c763cf6fc9b82b0d": { - "balance": "85000000000000000000" + "0xdb288f80ffe232c2ba47cc94c763cf6fc9b82b0d": { + "balance": "0x49b9ca9a694340000" }, - "e1cb83ec5eb6f1eeb85e99b2fc63812fde957184": { - "balance": "20000000000000000000000" + "0xe1cb83ec5eb6f1eeb85e99b2fc63812fde957184": { + "balance": "0x43c33c1937564800000" }, - "a419a984142363267575566089340eea0ea20819": { - "balance": "1999944000000000000000" + "0xa419a984142363267575566089340eea0ea20819": { + "balance": "0x6c6acc67d7b1d40000" }, - "8489f6ad1d9a94a297789156899db64154f1dbb5": { - "balance": "358849000000000000000" + "0x8489f6ad1d9a94a297789156899db64154f1dbb5": { + "balance": "0x137407c03c8c268000" }, - "d609bf4f146eea6b0dc8e06ddcf4448a1fccc9fa": { - "balance": "2000000000000000000000" + "0xd609bf4f146eea6b0dc8e06ddcf4448a1fccc9fa": { + "balance": "0x6c6b935b8bbd400000" }, - "df1fa2e20e31985ebe2c0f0c93b54c0fb67a264b": { - "balance": "200000000000000000000" + "0xdf1fa2e20e31985ebe2c0f0c93b54c0fb67a264b": { + "balance": "0xad78ebc5ac6200000" }, - "efe8ff87fc260e0767638dd5d02fc4672e0ec06d": { - "balance": "2000000000000000000000" + "0xefe8ff87fc260e0767638dd5d02fc4672e0ec06d": { + "balance": "0x6c6b935b8bbd400000" }, - "eef1bbb1e5a83fde8248f88ee3018afa2d1332eb": { - "balance": "200000000000000000000" + "0xeef1bbb1e5a83fde8248f88ee3018afa2d1332eb": { + "balance": "0xad78ebc5ac6200000" }, - "4b3aab335ebbfaa870cc4d605e7d2e74c668369f": { - "balance": "60000000000000000000000" + "0x4b3aab335ebbfaa870cc4d605e7d2e74c668369f": { + "balance": "0xcb49b44ba602d800000" }, - "8f4fb1aea7cd0f570ea5e61b40a4f4510b6264e4": { - "balance": "4000000000000000000000" + "0x8f4fb1aea7cd0f570ea5e61b40a4f4510b6264e4": { + "balance": "0xd8d726b7177a800000" }, - "0b0b3862112aeec3a03492b1b05f440eca54256e": { - "balance": "4000000000000000000000" + "0x0b0b3862112aeec3a03492b1b05f440eca54256e": { + "balance": "0xd8d726b7177a800000" }, - "dff4007931786593b229efe5959f3a4e219e51af": { - "balance": "4925000000000000000000" + "0xdff4007931786593b229efe5959f3a4e219e51af": { + "balance": "0x10afc1ade3b4ed40000" }, - "fec14e5485de2b3eef5e74c46146db8e454e0335": { - "balance": "179000000000000000000" + "0xfec14e5485de2b3eef5e74c46146db8e454e0335": { + "balance": "0x9b41fbf9e0aec0000" }, - "ac21c1e5a3d7e0b50681679dd6c792dbca87decb": { - "balance": "100000000000000000000000" + "0xac21c1e5a3d7e0b50681679dd6c792dbca87decb": { + "balance": "0x152d02c7e14af6800000" }, - "796ebbf49b3e36d67694ad79f8ff36767ac6fab0": { - "balance": "60800000000000000000" + "0x796ebbf49b3e36d67694ad79f8ff36767ac6fab0": { + "balance": "0x34bc4fdde27c00000" }, - "ae7739124ed153052503fc101410d1ffd8cd13b7": { - "balance": "999942000000000000000" + "0xae7739124ed153052503fc101410d1ffd8cd13b7": { + "balance": "0x3634fb9f1489a70000" }, - "86026cad3fe4ea1ce7fca260d3d45eb09ea6a364": { - "balance": "200000000000000000000" + "0x86026cad3fe4ea1ce7fca260d3d45eb09ea6a364": { + "balance": "0xad78ebc5ac6200000" }, - "b2fc84a3e50a50af02f94da0383ed59f71ff01d7": { - "balance": "30000000000000000000000" + "0xb2fc84a3e50a50af02f94da0383ed59f71ff01d7": { + "balance": "0x65a4da25d3016c00000" }, - "bbab000b0408ed015a37c04747bc461ab14e151b": { - "balance": "6000000000000000000000" + "0xbbab000b0408ed015a37c04747bc461ab14e151b": { + "balance": "0x14542ba12a337c00000" }, - "c4ff6fbb1f09bd9e102ba033d636ac1c4c0f5304": { - "balance": "1000000000000000000000" + "0xc4ff6fbb1f09bd9e102ba033d636ac1c4c0f5304": { + "balance": "0x3635c9adc5dea00000" }, - "cc606f511397a38fc7872bd3b0bd03c71bbd768b": { - "balance": "1000000000000000000000" + "0xcc606f511397a38fc7872bd3b0bd03c71bbd768b": { + "balance": "0x3635c9adc5dea00000" }, - "f346d7de92741c08fc58a64db55b062dde012d14": { - "balance": "295106000000000000000" + "0xf346d7de92741c08fc58a64db55b062dde012d14": { + "balance": "0xfff6b1f761e6d0000" }, - "33f15223310d44de8b6636685f3a4c3d9c5655a5": { - "balance": "250500000000000000000" + "0x33f15223310d44de8b6636685f3a4c3d9c5655a5": { + "balance": "0xd9462c6cb4b5a0000" }, - "3c860e2e663f46db53427b29fe3ea5e5bf62bbcc": { - "balance": "98500000000000000000" + "0x3c860e2e663f46db53427b29fe3ea5e5bf62bbcc": { + "balance": "0x556f64c1fe7fa0000" }, - "acb94338554bc488cc88ae2d9d94080d6bdf8410": { - "balance": "1000000000000000000000" + "0xacb94338554bc488cc88ae2d9d94080d6bdf8410": { + "balance": "0x3635c9adc5dea00000" }, - "9c5cc111092c122116f1a85f4ee31408741a7d2f": { - "balance": "492500000000000000000" + "0x9c5cc111092c122116f1a85f4ee31408741a7d2f": { + "balance": "0x1ab2cf7c9f87e20000" }, - "5f76f0a306269c78306b3d650dc3e9c37084db61": { - "balance": "2400000000000000000000" + "0x5f76f0a306269c78306b3d650dc3e9c37084db61": { + "balance": "0x821ab0d44149800000" }, - "2c0cc3f951482cc8a2925815684eb9f94e060200": { - "balance": "6000000000000000000000" + "0x2c0cc3f951482cc8a2925815684eb9f94e060200": { + "balance": "0x14542ba12a337c00000" }, - "b74372dbfa181dc9242f39bf1d3731dffe2bdacf": { - "balance": "2000000000000000000000" + "0xb74372dbfa181dc9242f39bf1d3731dffe2bdacf": { + "balance": "0x6c6b935b8bbd400000" }, - "3bab4b01a7c84ba13feea9b0bb191b77a3aadca3": { - "balance": "200000000000000000000" + "0x3bab4b01a7c84ba13feea9b0bb191b77a3aadca3": { + "balance": "0xad78ebc5ac6200000" }, - "39aa05e56d7d32385421cf9336e90d3d15a9f859": { - "balance": "26000000000000000000" + "0x39aa05e56d7d32385421cf9336e90d3d15a9f859": { + "balance": "0x168d28e3f00280000" }, - "4a52bad20357228faa1e996bed790c93674ba7d0": { - "balance": "1337000000000000000000" + "0x4a52bad20357228faa1e996bed790c93674ba7d0": { + "balance": "0x487a9a304539440000" }, - "ff128f4b355be1dc4a6f94fa510d7f15d53c2aff": { - "balance": "2720000000000000000000" + "0xff128f4b355be1dc4a6f94fa510d7f15d53c2aff": { + "balance": "0x93739534d286800000" }, - "92793ac5b37268774a7130de2bbd330405661773": { - "balance": "40110000000000000000" + "0x92793ac5b37268774a7130de2bbd330405661773": { + "balance": "0x22ca3587cf4eb0000" }, - "db19a3982230368f0177219cb10cb259cdb2257c": { - "balance": "2000000000000000000000" + "0xdb19a3982230368f0177219cb10cb259cdb2257c": { + "balance": "0x6c6b935b8bbd400000" }, - "8d1794da509cb297053661a14aa892333231e3c1": { - "balance": "199600000000000000000" + "0x8d1794da509cb297053661a14aa892333231e3c1": { + "balance": "0xad201a6794ff80000" }, - "9b7c8810cc7cc89e804e6d3e38121850472877fe": { - "balance": "2000000000000000000000" + "0x9b7c8810cc7cc89e804e6d3e38121850472877fe": { + "balance": "0x6c6b935b8bbd400000" }, - "ed3cbc3782cebd67989b305c4133b2cde32211eb": { - "balance": "400000000000000000000" + "0xed3cbc3782cebd67989b305c4133b2cde32211eb": { + "balance": "0x15af1d78b58c400000" }, - "8532490897bbb4ce8b7f6b837e4cba848fbe9976": { - "balance": "100000000000000000000" + "0x8532490897bbb4ce8b7f6b837e4cba848fbe9976": { + "balance": "0x56bc75e2d63100000" }, - "c384ac6ee27c39e2f278c220bdfa5baed626d9d3": { - "balance": "600000000000000000000" + "0xc384ac6ee27c39e2f278c220bdfa5baed626d9d3": { + "balance": "0x2086ac351052600000" }, - "b1459285863ea2db3759e546ceb3fb3761f5909c": { - "balance": "1122309000000000000000" + "0xb1459285863ea2db3759e546ceb3fb3761f5909c": { + "balance": "0x3cd72a894087e08000" }, - "634efc24371107b4cbf03f79a93dfd93e431d5fd": { - "balance": "1221341000000000000000" + "0x634efc24371107b4cbf03f79a93dfd93e431d5fd": { + "balance": "0x423582e08edc5c8000" }, - "ef9f59aeda418c1494682d941aab4924b5f4929a": { - "balance": "100000000000000000000000" + "0xef9f59aeda418c1494682d941aab4924b5f4929a": { + "balance": "0x152d02c7e14af6800000" }, - "e7311c9533f0092c7248c9739b5b2c864a34b1ce": { - "balance": "2803436000000000000000" + "0xe7311c9533f0092c7248c9739b5b2c864a34b1ce": { + "balance": "0x97f97d6cc26dfe0000" }, - "e6e621eaab01f20ef0836b7cad47464cb5fd3c96": { - "balance": "316014000000000000000" + "0xe6e621eaab01f20ef0836b7cad47464cb5fd3c96": { + "balance": "0x11219342afa24b0000" }, - "cd102cd6db3df14ad6af0f87c72479861bfc3d24": { - "balance": "2000000000000000000000" + "0xcd102cd6db3df14ad6af0f87c72479861bfc3d24": { + "balance": "0x6c6b935b8bbd400000" }, - "005a9c03f69d17d66cbb8ad721008a9ebbb836fb": { - "balance": "2000000000000000000000" + "0x005a9c03f69d17d66cbb8ad721008a9ebbb836fb": { + "balance": "0x6c6b935b8bbd400000" }, - "a072cebe62a9e9f61cc3fbf88a9efbfe3e9a8d70": { - "balance": "400000000000000000000" + "0xa072cebe62a9e9f61cc3fbf88a9efbfe3e9a8d70": { + "balance": "0x15af1d78b58c400000" }, - "f2ab1161750244d0ecd048ee0d3e51abb143a2fd": { - "balance": "1235800000000000000000" + "0xf2ab1161750244d0ecd048ee0d3e51abb143a2fd": { + "balance": "0x42fe2b907373bc0000" }, - "f686785b89720b61145fea80978d6acc8e0bc196": { - "balance": "4000000000000000000000" + "0xf686785b89720b61145fea80978d6acc8e0bc196": { + "balance": "0xd8d726b7177a800000" }, - "0a2b4fc5d81ace67dc4bba03f7b455413d46fe3d": { - "balance": "197000000000000000000" + "0x0a2b4fc5d81ace67dc4bba03f7b455413d46fe3d": { + "balance": "0xaadec983fcff40000" }, - "c32ec7e42ad16ce3e2555ad4c54306eda0b26758": { - "balance": "2000000000000000000000" + "0xc32ec7e42ad16ce3e2555ad4c54306eda0b26758": { + "balance": "0x6c6b935b8bbd400000" }, - "f3fa723552a5d0512e2b62f48dca7b2b8105305b": { - "balance": "137000000000000000000" + "0xf3fa723552a5d0512e2b62f48dca7b2b8105305b": { + "balance": "0x76d41c62494840000" }, - "6dc3f92baa1d21dab7382b893261a0356fa7c187": { - "balance": "1730000000000000000000" + "0x6dc3f92baa1d21dab7382b893261a0356fa7c187": { + "balance": "0x5dc892aa1131c80000" }, - "4627c606842671abde8295ee5dd94c7f549534f4": { - "balance": "286600000000000000000" + "0x4627c606842671abde8295ee5dd94c7f549534f4": { + "balance": "0xf895fbd8732f40000" }, - "e39e46e15d22ce56e0c32f1877b7d1a264cf94f3": { - "balance": "20000000000000000000000" + "0xe39e46e15d22ce56e0c32f1877b7d1a264cf94f3": { + "balance": "0x43c33c1937564800000" }, - "d7d157e4c0a96437a6d285741dd23ec4361fa36b": { - "balance": "2000000000000000000000" + "0xd7d157e4c0a96437a6d285741dd23ec4361fa36b": { + "balance": "0x6c6b935b8bbd400000" }, - "68f8f45155e98c5029a4ebc5b527a92e9fa83120": { - "balance": "4436101000000000000000" + "0x68f8f45155e98c5029a4ebc5b527a92e9fa83120": { + "balance": "0xf07b44b40793208000" }, - "9aba2b5e27ff78baaab5cdc988b7be855cebbdce": { - "balance": "9999000000000000000000" + "0x9aba2b5e27ff78baaab5cdc988b7be855cebbdce": { + "balance": "0x21e0c0013070adc0000" }, - "66b39837cb3cac8a802afe3f12a258bbca62dacd": { - "balance": "400000000000000000000" + "0x66b39837cb3cac8a802afe3f12a258bbca62dacd": { + "balance": "0x15af1d78b58c400000" }, - "d39b7cbc94003fc948f0cde27b100db8ccd6e063": { - "balance": "400000000000000000000" + "0xd39b7cbc94003fc948f0cde27b100db8ccd6e063": { + "balance": "0x15af1d78b58c400000" }, - "3db9ed7f024c7e26372feacf2b050803445e3810": { - "balance": "1285600000000000000000" + "0x3db9ed7f024c7e26372feacf2b050803445e3810": { + "balance": "0x45b148b4996a300000" }, - "3fbc1e4518d73400c6d046359439fb68ea1a49f4": { - "balance": "16400000000000000000000" + "0x3fbc1e4518d73400c6d046359439fb68ea1a49f4": { + "balance": "0x3790bb8551376400000" }, - "e3da4f3240844c9b6323b4996921207122454399": { - "balance": "11539639000000000000000" + "0xe3da4f3240844c9b6323b4996921207122454399": { + "balance": "0x27190a952df4be58000" }, - "09afa73bc047ef46b977fd9763f87286a6be68c6": { - "balance": "501500000000000000000" + "0x09afa73bc047ef46b977fd9763f87286a6be68c6": { + "balance": "0x1b2fb5e8f06a660000" }, - "1dbe8e1c2b8a009f85f1ad3ce80d2e05350ee39c": { - "balance": "135400000000000000000" + "0x1dbe8e1c2b8a009f85f1ad3ce80d2e05350ee39c": { + "balance": "0x7570d6e9ebbe40000" }, - "2c5a2d0abda03bbe215781b4ff296c8c61bdbaf6": { - "balance": "30617000000000000000" + "0x2c5a2d0abda03bbe215781b4ff296c8c61bdbaf6": { + "balance": "0x1a8e56f48c0228000" }, - "9a9d1dc0baa77d6e20c3d849c78862dd1c054c87": { - "balance": "880000000000000000000" + "0x9a9d1dc0baa77d6e20c3d849c78862dd1c054c87": { + "balance": "0x2fb474098f67c00000" }, - "3ccef88679573947e94997798a1e327e08603a65": { - "balance": "807700000000000000000" + "0x3ccef88679573947e94997798a1e327e08603a65": { + "balance": "0x2bc916d69f3b020000" }, - "850b9db18ff84bf0c7da49ea3781d92090ad7e64": { - "balance": "2600000000000000000000" + "0x850b9db18ff84bf0c7da49ea3781d92090ad7e64": { + "balance": "0x8cf23f909c0fa00000" }, - "361c75931696bc3d427d93e76c77fd13b241f6f4": { - "balance": "549212000000000000000" + "0x361c75931696bc3d427d93e76c77fd13b241f6f4": { + "balance": "0x1dc5d8fc266dd60000" }, - "c8f2b320e6dfd70906c597bad2f9501312c78259": { - "balance": "1504800000000000000000" + "0xc8f2b320e6dfd70906c597bad2f9501312c78259": { + "balance": "0x51934b8b3a57d00000" }, - "8dc1d5111d09af25fdfcac455c7cec283e6d6775": { - "balance": "2000000000000000000000" + "0x8dc1d5111d09af25fdfcac455c7cec283e6d6775": { + "balance": "0x6c6b935b8bbd400000" }, - "cd7ece086b4b619b3b369352ee38b71ddb06439a": { - "balance": "200000000000000000000" + "0xcd7ece086b4b619b3b369352ee38b71ddb06439a": { + "balance": "0xad78ebc5ac6200000" }, - "f607c2150d3e1b99f24fa1c7d540add35c4ebe1e": { - "balance": "3098020000000000000000" + "0xf607c2150d3e1b99f24fa1c7d540add35c4ebe1e": { + "balance": "0xa7f1aa07fc8faa0000" }, - "32485c818728c197fea487fbb6e829159eba8370": { - "balance": "1053893000000000000000" + "0x32485c818728c197fea487fbb6e829159eba8370": { + "balance": "0x3921b413bc4ec08000" }, - "8e670815fb67aeaea57b86534edc00cdf564fee5": { - "balance": "3300000000000000000000" + "0x8e670815fb67aeaea57b86534edc00cdf564fee5": { + "balance": "0xb2e4b323d9c5100000" }, - "10df681506e34930ac7a5c67a54c3e89ce92b981": { - "balance": "2153800000000000000000" + "0x10df681506e34930ac7a5c67a54c3e89ce92b981": { + "balance": "0x74c1fab8adb4540000" }, - "1cf2eb7a8ccac2adeaef0ee87347d535d3b94058": { - "balance": "2000000000000000000000" + "0x1cf2eb7a8ccac2adeaef0ee87347d535d3b94058": { + "balance": "0x6c6b935b8bbd400000" }, - "f0dc43f205619127507b2b1c1cfdf32d28310920": { - "balance": "301973000000000000000" + "0xf0dc43f205619127507b2b1c1cfdf32d28310920": { + "balance": "0x105eb79b9417088000" }, - "f2c2904e9fa664a11ee25656d8fd2cc0d9a522a0": { - "balance": "13370000000000000000" + "0xf2c2904e9fa664a11ee25656d8fd2cc0d9a522a0": { + "balance": "0xb98bc829a6f90000" }, - "70670fbb05d33014444b8d1e8e7700258b8caa6d": { - "balance": "2000000000000000000000" + "0x70670fbb05d33014444b8d1e8e7700258b8caa6d": { + "balance": "0x6c6b935b8bbd400000" }, - "5160ed612e1b48e73f3fc15bc4321b8f23b8a24b": { - "balance": "562800000000000000000" + "0x5160ed612e1b48e73f3fc15bc4321b8f23b8a24b": { + "balance": "0x1e826b422865d80000" }, - "54a62bf9233e146ffec3876e45f20ee8414adeba": { - "balance": "10000000000000000000000" + "0x54a62bf9233e146ffec3876e45f20ee8414adeba": { + "balance": "0x21e19e0c9bab2400000" }, - "26d4ec17d5ceb2c894bdc59d0a6a695dad2b43cc": { - "balance": "2935300000000000000000" + "0x26d4ec17d5ceb2c894bdc59d0a6a695dad2b43cc": { + "balance": "0x9f1f78761d341a0000" }, - "205fc843e19a4913d1881eb69b69c0fa3be5c50b": { - "balance": "9700000000000000000000" + "0x205fc843e19a4913d1881eb69b69c0fa3be5c50b": { + "balance": "0x20dd68aaf3289100000" }, - "e001aba77c02e172086c1950fffbcaa30b83488f": { - "balance": "1970000000000000000000" + "0xe001aba77c02e172086c1950fffbcaa30b83488f": { + "balance": "0x6acb3df27e1f880000" }, - "21efbca09b3580b98e73f5b2f7f4dc0bf02c529c": { - "balance": "2000000000000000000000" + "0x21efbca09b3580b98e73f5b2f7f4dc0bf02c529c": { + "balance": "0x6c6b935b8bbd400000" }, - "c4d916574e68c49f7ef9d3d82d1638b2b7ee0985": { - "balance": "1580000000000000000000" + "0xc4d916574e68c49f7ef9d3d82d1638b2b7ee0985": { + "balance": "0x55a6e79ccd1d300000" }, - "cab0d32cf3767fa6b3537c84328baa9f50458136": { - "balance": "8960000000000000000000" + "0xcab0d32cf3767fa6b3537c84328baa9f50458136": { + "balance": "0x1e5b8fa8fe2ac000000" }, - "7ce4686446f1949ebed67215eb0d5a1dd72c11b8": { - "balance": "2217776000000000000000" + "0x7ce4686446f1949ebed67215eb0d5a1dd72c11b8": { + "balance": "0x7839d321b81ab80000" }, - "7837fcb876da00d1eb3b88feb3df3fa4042fac82": { - "balance": "1760000000000000000000" + "0x7837fcb876da00d1eb3b88feb3df3fa4042fac82": { + "balance": "0x5f68e8131ecf800000" }, - "71e38ff545f30fe14ca863d4f5297fd48c73a5ce": { - "balance": "3580000000000000000000" + "0x71e38ff545f30fe14ca863d4f5297fd48c73a5ce": { + "balance": "0xc2127af858da700000" }, - "e528a0e5a267d667e9393a6584e19b34dc9be973": { - "balance": "5600000000000000000000" + "0xe528a0e5a267d667e9393a6584e19b34dc9be973": { + "balance": "0x12f939c99edab800000" }, - "c5374928cdf193705443b14cc20da423473cd9cf": { - "balance": "138139000000000000000" + "0xc5374928cdf193705443b14cc20da423473cd9cf": { + "balance": "0x77d10509bb3af8000" }, - "e406f5dd72cab66d8a6ecbd6bfb494a7b6b09afe": { - "balance": "100000000000000000000" + "0xe406f5dd72cab66d8a6ecbd6bfb494a7b6b09afe": { + "balance": "0x56bc75e2d63100000" }, - "d7ef340e66b0d7afcce20a19cb7bfc81da33d94e": { - "balance": "3000000000000000000000" + "0xd7ef340e66b0d7afcce20a19cb7bfc81da33d94e": { + "balance": "0xa2a15d09519be00000" }, - "e012db453827a58e16c1365608d36ed658720507": { - "balance": "2000000000000000000000" + "0xe012db453827a58e16c1365608d36ed658720507": { + "balance": "0x6c6b935b8bbd400000" }, - "d59638d3c5faa7711bf085745f9d5bdc23d498d8": { - "balance": "2000000000000000000000" + "0xd59638d3c5faa7711bf085745f9d5bdc23d498d8": { + "balance": "0x6c6b935b8bbd400000" }, - "008fc7cbadffbd0d7fe44f8dfd60a79d721a1c9c": { - "balance": "1000000000000000000000" + "0x008fc7cbadffbd0d7fe44f8dfd60a79d721a1c9c": { + "balance": "0x3635c9adc5dea00000" }, - "8a3470282d5e2a2aefd7a75094c822c4f5aeef8a": { - "balance": "242743000000000000000" + "0x8a3470282d5e2a2aefd7a75094c822c4f5aeef8a": { + "balance": "0xd28bc606478a58000" }, - "38b3965c21fa893931079beacfffaf153678b6eb": { - "balance": "170374000000000000000" + "0x38b3965c21fa893931079beacfffaf153678b6eb": { + "balance": "0x93c6a0a51e2670000" }, - "57dd9471cbfa262709f5f486bcb774c5f527b8f8": { - "balance": "197000000000000000000" + "0x57dd9471cbfa262709f5f486bcb774c5f527b8f8": { + "balance": "0xaadec983fcff40000" }, - "5a60c924162873fc7ea4da7f972e350167376031": { - "balance": "83583000000000000000" + "0x5a60c924162873fc7ea4da7f972e350167376031": { + "balance": "0x487f277a885798000" }, - "b9013c51bd078a098fae05bf2ace0849c6be17a5": { - "balance": "80000000000000000000" + "0xb9013c51bd078a098fae05bf2ace0849c6be17a5": { + "balance": "0x4563918244f400000" }, - "dc23b260fcc26e7d10f4bd044af794579460d9da": { - "balance": "500038000000000000000" + "0xdc23b260fcc26e7d10f4bd044af794579460d9da": { + "balance": "0x1b1b6bd7af64c70000" }, - "45db03bccfd6a5f4d0266b82a22a368792c77d83": { - "balance": "8000000000000000000000" + "0x45db03bccfd6a5f4d0266b82a22a368792c77d83": { + "balance": "0x1b1ae4d6e2ef5000000" }, - "3e0cbe6a6dcb61f110c45ba2aa361d7fcad3da73": { - "balance": "8022000000000000000000" + "0x3e0cbe6a6dcb61f110c45ba2aa361d7fcad3da73": { + "balance": "0x1b2df9d219f57980000" }, - "42d3a5a901f2f6bd9356f112a70180e5a1550b60": { - "balance": "925000000000000000000" + "0x42d3a5a901f2f6bd9356f112a70180e5a1550b60": { + "balance": "0x3224f42723d4540000" }, - "47219229e8cd56659a65c2a943e2dd9a8f4bfd89": { - "balance": "1520000000000000000000" + "0x47219229e8cd56659a65c2a943e2dd9a8f4bfd89": { + "balance": "0x52663ccab1e1c00000" }, - "a20d071b1b003063497d7990e1249dabf36c35f7": { - "balance": "1000000000000000000000" + "0xa20d071b1b003063497d7990e1249dabf36c35f7": { + "balance": "0x3635c9adc5dea00000" }, - "6835c8e8b74a2ca2ae3f4a8d0f6b954a3e2a8392": { - "balance": "60140000000000000000" + "0x6835c8e8b74a2ca2ae3f4a8d0f6b954a3e2a8392": { + "balance": "0x3429c335d57fe0000" }, - "0c2d5c920538e953caaf24f0737f554cc6927742": { - "balance": "1000000000000000000000" + "0x0c2d5c920538e953caaf24f0737f554cc6927742": { + "balance": "0x3635c9adc5dea00000" }, - "eedf6c4280e6eb05b934ace428e11d4231b5905b": { - "balance": "200000000000000000000" + "0xeedf6c4280e6eb05b934ace428e11d4231b5905b": { + "balance": "0xad78ebc5ac6200000" }, - "ffa696ecbd787e66abae4fe87b635f07ca57d848": { - "balance": "1337000000000000000000" + "0xffa696ecbd787e66abae4fe87b635f07ca57d848": { + "balance": "0x487a9a304539440000" }, - "3e81772175237eb4cbe0fe2dcafdadffeb6a1999": { - "balance": "8800000000000000000000" + "0x3e81772175237eb4cbe0fe2dcafdadffeb6a1999": { + "balance": "0x1dd0c885f9a0d800000" }, - "b44783c8e57b480793cbd69a45d90c7b4f0c48ac": { - "balance": "20000000000000000000" + "0xb44783c8e57b480793cbd69a45d90c7b4f0c48ac": { + "balance": "0x1158e460913d00000" }, - "f84f090adf3f8db7e194b350fbb77500699f66fd": { - "balance": "1970000000000000000000" + "0xf84f090adf3f8db7e194b350fbb77500699f66fd": { + "balance": "0x6acb3df27e1f880000" }, - "2e9824b5c132111bca24ddfba7e575a5cd7296c1": { - "balance": "17201900000000000000000" + "0x2e9824b5c132111bca24ddfba7e575a5cd7296c1": { + "balance": "0x3a484516e6d7ffe0000" }, - "5cce72d068c7c3f55b1d2819545e77317cae8240": { - "balance": "1940000000000000000000" + "0x5cce72d068c7c3f55b1d2819545e77317cae8240": { + "balance": "0x692ae8897081d00000" }, - "d815e1d9f4e2b5e57e34826b7cfd8881b8546890": { - "balance": "17300000000000000000" + "0xd815e1d9f4e2b5e57e34826b7cfd8881b8546890": { + "balance": "0xf015f25736420000" }, - "f901c00fc1db88b69c4bc3252b5ca70ea6ee5cf6": { - "balance": "400000000000000000000" + "0xf901c00fc1db88b69c4bc3252b5ca70ea6ee5cf6": { + "balance": "0x15af1d78b58c400000" }, - "a960b1cadd3b5c1a8e6cb3abcaf52ee7c3d9fa88": { - "balance": "1522704000000000000000" + "0xa960b1cadd3b5c1a8e6cb3abcaf52ee7c3d9fa88": { + "balance": "0x528bc3545e52680000" }, - "f7e45a12aa711c709acefe95f33b78612d2ad22a": { - "balance": "66230000000000000000000" + "0xf7e45a12aa711c709acefe95f33b78612d2ad22a": { + "balance": "0xe0655e2f26bc9180000" }, - "c332df50b13c013490a5d7c75dbfa366da87b6d6": { - "balance": "4000000000000000000000" + "0xc332df50b13c013490a5d7c75dbfa366da87b6d6": { + "balance": "0xd8d726b7177a800000" }, - "d467cf064c0871989b90d8b2eb14ccc63b360823": { - "balance": "200000000000000000000" + "0xd467cf064c0871989b90d8b2eb14ccc63b360823": { + "balance": "0xad78ebc5ac6200000" }, - "b9144b677c2dc614ceefdf50985f1183208ea64c": { - "balance": "2000000000000000000000" + "0xb9144b677c2dc614ceefdf50985f1183208ea64c": { + "balance": "0x6c6b935b8bbd400000" }, - "ea7c4d6dc729cd6b157c03ad237ca19a209346c3": { - "balance": "2000000000000000000000" + "0xea7c4d6dc729cd6b157c03ad237ca19a209346c3": { + "balance": "0x6c6b935b8bbd400000" }, - "9c9de44724a4054da0eaa605abcc802668778bea": { - "balance": "200020000000000000000" + "0x9c9de44724a4054da0eaa605abcc802668778bea": { + "balance": "0xad7d5ca3fa5a20000" }, - "d7140c8e5a4307fab0cc27badd9295018bf87970": { - "balance": "109600000000000000000" + "0xd7140c8e5a4307fab0cc27badd9295018bf87970": { + "balance": "0x5f1016b5076d00000" }, - "c33acdb3ba1aab27507b86b15d67faf91ecf6293": { - "balance": "2000000000000000000000" + "0xc33acdb3ba1aab27507b86b15d67faf91ecf6293": { + "balance": "0x6c6b935b8bbd400000" }, - "db2a0c9ab64df58ddfb1dbacf8ba0d89c85b31b4": { - "balance": "4000000000000000000000" + "0xdb2a0c9ab64df58ddfb1dbacf8ba0d89c85b31b4": { + "balance": "0xd8d726b7177a800000" }, - "bfcb9730246304700da90b4153e71141622e1c41": { - "balance": "1000000000000000000000" + "0xbfcb9730246304700da90b4153e71141622e1c41": { + "balance": "0x3635c9adc5dea00000" }, - "07dc8c8b927adbedfa8f5d639b4352351f2f36d2": { - "balance": "314382000000000000000" + "0x07dc8c8b927adbedfa8f5d639b4352351f2f36d2": { + "balance": "0x110aed3b5530db0000" }, - "2d5391e938b34858cf965b840531d5efda410b09": { - "balance": "1400000000000000000000" + "0x2d5391e938b34858cf965b840531d5efda410b09": { + "balance": "0x4be4e7267b6ae00000" }, - "0b5e2011ebc25a007f21362960498afb8af280fb": { - "balance": "2000000000000000000000" + "0x0b5e2011ebc25a007f21362960498afb8af280fb": { + "balance": "0x6c6b935b8bbd400000" }, - "ed9fb1f5af2fbf7ffc5029cee42b70ff5c275bf5": { - "balance": "280000000000000000000" + "0xed9fb1f5af2fbf7ffc5029cee42b70ff5c275bf5": { + "balance": "0xf2dc7d47f15600000" }, - "a3232d068d50064903c9ebc563b515acc8b7b097": { - "balance": "2002000000000000000000" + "0xa3232d068d50064903c9ebc563b515acc8b7b097": { + "balance": "0x6c8754c8f30c080000" }, - "66274fea82cd30b6c29b23350e4f4f3d310a5899": { - "balance": "2070000000000000000000" + "0x66274fea82cd30b6c29b23350e4f4f3d310a5899": { + "balance": "0x70370550ab82980000" }, - "dbfb1bb464b8a58e500d2ed8de972c45f5f1c0fb": { - "balance": "1600000000000000000000" + "0xdbfb1bb464b8a58e500d2ed8de972c45f5f1c0fb": { + "balance": "0x56bc75e2d631000000" }, - "a1f8d8bcf90e777f19b3a649759ad95027abdfc3": { - "balance": "200000000000000000000" + "0xa1f8d8bcf90e777f19b3a649759ad95027abdfc3": { + "balance": "0xad78ebc5ac6200000" }, - "5bd23547477f6d09d7b2a005c5ee650c510c56d7": { - "balance": "10000000000000000000000" + "0x5bd23547477f6d09d7b2a005c5ee650c510c56d7": { + "balance": "0x21e19e0c9bab2400000" }, - "ec3b8b58a12703e581ce5ffd7e21c57d1e5c663f": { - "balance": "1700000000000000000000" + "0xec3b8b58a12703e581ce5ffd7e21c57d1e5c663f": { + "balance": "0x5c283d410394100000" }, - "54310b3aa88703a725dfa57de6e646935164802c": { - "balance": "1910000000000000000000" + "0x54310b3aa88703a725dfa57de6e646935164802c": { + "balance": "0x678a932062e4180000" }, - "8f41b1fbf54298f5d0bc2d122f4eb95da4e5cd3d": { - "balance": "354200000000000000000" + "0x8f41b1fbf54298f5d0bc2d122f4eb95da4e5cd3d": { + "balance": "0x1333832f5e335c0000" }, - "c80b36d1beafba5fcc644d60ac6e46ed2927e7dc": { - "balance": "13370000000000000000" + "0xc80b36d1beafba5fcc644d60ac6e46ed2927e7dc": { + "balance": "0xb98bc829a6f90000" }, - "1ea492bce1ad107e337f4bd4a7ac9a7babcccdab": { - "balance": "100000000000000000000" + "0x1ea492bce1ad107e337f4bd4a7ac9a7babcccdab": { + "balance": "0x56bc75e2d63100000" }, - "aaf023fef290a49bb78bb7abc95d669c50d528b0": { - "balance": "200000000000000000000" + "0xaaf023fef290a49bb78bb7abc95d669c50d528b0": { + "balance": "0xad78ebc5ac6200000" }, - "80b79f338390d1ba1b3737a29a0257e5d91e0731": { - "balance": "20000000000000000000" + "0x80b79f338390d1ba1b3737a29a0257e5d91e0731": { + "balance": "0x1158e460913d00000" }, - "f382e4c20410b951089e19ba96a2fee3d91cce7e": { - "balance": "5054000000000000000000" + "0xf382e4c20410b951089e19ba96a2fee3d91cce7e": { + "balance": "0x111fa56eec2a8380000" }, - "0748713145ef83c3f0ef4d31d823786f7e9cc689": { - "balance": "4500000000000000000000" + "0x0748713145ef83c3f0ef4d31d823786f7e9cc689": { + "balance": "0xf3f20b8dfa69d00000" }, - "21e219c89ca8ac14ae4cba6130eeb77d9e6d3962": { - "balance": "789580000000000000000" + "0x21e219c89ca8ac14ae4cba6130eeb77d9e6d3962": { + "balance": "0x2acd9faaa038ee0000" }, - "ca9a042a6a806ffc92179500d24429e8ab528117": { - "balance": "1100000000000000000000" + "0xca9a042a6a806ffc92179500d24429e8ab528117": { + "balance": "0x3ba1910bf341b00000" }, - "bcc9593b2da6df6a34d71b1aa38dacf876f95b88": { - "balance": "20000000000000000000" + "0xbcc9593b2da6df6a34d71b1aa38dacf876f95b88": { + "balance": "0x1158e460913d00000" }, - "d1438267231704fc7280d563adf4763844a80722": { - "balance": "200000000000000000000" + "0xd1438267231704fc7280d563adf4763844a80722": { + "balance": "0xad78ebc5ac6200000" }, - "4989e1ab5e7cd00746b3938ef0f0d064a2025ba5": { - "balance": "2000000000000000000000" + "0x4989e1ab5e7cd00746b3938ef0f0d064a2025ba5": { + "balance": "0x6c6b935b8bbd400000" }, - "bd4b60faec740a21e3071391f96aa534f7c1f44e": { - "balance": "182000000000000000000" + "0xbd4b60faec740a21e3071391f96aa534f7c1f44e": { + "balance": "0x9ddc1e3b901180000" }, - "8c7cb4e48b25031aa1c4f92925d631a8c3edc761": { - "balance": "1000000000000000000000" + "0x8c7cb4e48b25031aa1c4f92925d631a8c3edc761": { + "balance": "0x3635c9adc5dea00000" }, - "322788b5e29bf4f5f55ae1ddb32085fda91b8ebe": { - "balance": "200000000000000000000" + "0x322788b5e29bf4f5f55ae1ddb32085fda91b8ebe": { + "balance": "0xad78ebc5ac6200000" }, - "f15e182c4fbbad79bd93342242d4dccf2be58925": { - "balance": "1940000000000000000000" + "0xf15e182c4fbbad79bd93342242d4dccf2be58925": { + "balance": "0x692ae8897081d00000" }, - "1548b770a5118ede87dba2f690337f616de683ab": { - "balance": "527558000000000000000" + "0x1548b770a5118ede87dba2f690337f616de683ab": { + "balance": "0x1c995685e0bf870000" }, - "69c2d835f13ee90580408e6a3283c8cca6a434a2": { - "balance": "656000000000000000000" + "0x69c2d835f13ee90580408e6a3283c8cca6a434a2": { + "balance": "0x238fd42c5cf0400000" }, - "a1e4380a3b1f749673e270229993ee55f35663b4": { - "balance": "2000000000000000000000" + "0xa1e4380a3b1f749673e270229993ee55f35663b4": { + "balance": "0x6c6b935b8bbd400000" }, - "c7675e5647b9d8daf4d3dff1e552f6b07154ac38": { - "balance": "180000000000000000000" + "0xc7675e5647b9d8daf4d3dff1e552f6b07154ac38": { + "balance": "0x9c2007651b2500000" }, - "a02c1e34064f0475f7fa831ccb25014c3aa31ca2": { - "balance": "60000000000000000000" + "0xa02c1e34064f0475f7fa831ccb25014c3aa31ca2": { + "balance": "0x340aad21b3b700000" }, - "517c75430de401c341032686112790f46d4d369e": { - "balance": "388000000000000000000" + "0x517c75430de401c341032686112790f46d4d369e": { + "balance": "0x150894e849b3900000" }, - "29681d9912ddd07eaabb88d05d90f766e862417d": { - "balance": "1000000000000000000000" + "0x29681d9912ddd07eaabb88d05d90f766e862417d": { + "balance": "0x3635c9adc5dea00000" }, - "544dda421dc1eb73bb24e3e56a248013b87c0f44": { - "balance": "1970000000000000000000" + "0x544dda421dc1eb73bb24e3e56a248013b87c0f44": { + "balance": "0x6acb3df27e1f880000" }, - "2ab97e8d59eee648ab6caf8696f89937143864d6": { - "balance": "3820000000000000000000" + "0x2ab97e8d59eee648ab6caf8696f89937143864d6": { + "balance": "0xcf152640c5c8300000" }, - "79c130c762b8765b19d2abc9a083ab8f3aad7940": { - "balance": "3940000000000000000000" + "0x79c130c762b8765b19d2abc9a083ab8f3aad7940": { + "balance": "0xd5967be4fc3f100000" }, - "f9650d6989f199ab1cc479636ded30f241021f65": { - "balance": "850000000000000000000" + "0xf9650d6989f199ab1cc479636ded30f241021f65": { + "balance": "0x2e141ea081ca080000" }, - "d1c96e70f05ae0e6cd6021b2083750a7717cde56": { - "balance": "500000000000000000000" + "0xd1c96e70f05ae0e6cd6021b2083750a7717cde56": { + "balance": "0x1b1ae4d6e2ef500000" }, - "88106c27d20b74b4b98ca62b232bd5c97411171f": { - "balance": "197000000000000000000" + "0x88106c27d20b74b4b98ca62b232bd5c97411171f": { + "balance": "0xaadec983fcff40000" }, - "37ab66083a4fa23848b886f9e66d79cdc150cc70": { - "balance": "88510000000000000000000" + "0x37ab66083a4fa23848b886f9e66d79cdc150cc70": { + "balance": "0x12be22ffb5ec00380000" }, - "8e6156336be2cdbe32140df08a2ba55fd0a58463": { - "balance": "74480000000000000000" + "0x8e6156336be2cdbe32140df08a2ba55fd0a58463": { + "balance": "0x4099e1d6357180000" }, - "2982d76a15f847dd41f1922af368fe678d0e681e": { - "balance": "100000000000000000000" + "0x2982d76a15f847dd41f1922af368fe678d0e681e": { + "balance": "0x56bc75e2d63100000" }, - "209e8e29d33beae8fb6baa783d133e1d9ec1bc0b": { - "balance": "835000000000000000000" + "0x209e8e29d33beae8fb6baa783d133e1d9ec1bc0b": { + "balance": "0x2d43f3ebfafb2c0000" }, - "b325674c01e3f7290d5226339fbeac67d221279f": { - "balance": "2800000000000000000000" + "0xb325674c01e3f7290d5226339fbeac67d221279f": { + "balance": "0x97c9ce4cf6d5c00000" }, - "f20c9a99b74759d782f25c1ceca802a27e0b436c": { - "balance": "1670000000000000000000" + "0xf20c9a99b74759d782f25c1ceca802a27e0b436c": { + "balance": "0x5a87e7d7f5f6580000" }, - "61bf84d5ab026f58c873f86ff0dfca82b55733ae": { - "balance": "2000000000000000000000" + "0x61bf84d5ab026f58c873f86ff0dfca82b55733ae": { + "balance": "0x6c6b935b8bbd400000" }, - "0734a0a81c9562f4d9e9e10a8503da15db46d76e": { - "balance": "18200000000000000000" + "0x0734a0a81c9562f4d9e9e10a8503da15db46d76e": { + "balance": "0xfc936392801c0000" }, - "0521bc3a9f8711fecb10f50797d71083e341eb9d": { - "balance": "20000000000000000000" + "0x0521bc3a9f8711fecb10f50797d71083e341eb9d": { + "balance": "0x1158e460913d00000" }, - "3301d9ca2f3bfe026279cd6819f79a293d98156e": { - "balance": "50000000000000000000000" + "0x3301d9ca2f3bfe026279cd6819f79a293d98156e": { + "balance": "0xa968163f0a57b400000" }, - "549d51af29f724c967f59423b85b2681e7b15136": { - "balance": "3760000000000000000000" + "0x549d51af29f724c967f59423b85b2681e7b15136": { + "balance": "0xcbd47b6eaa8cc00000" }, - "2053ac97548a0c4e8b80bc72590cd6a098fe7516": { - "balance": "187000000000000000000" + "0x2053ac97548a0c4e8b80bc72590cd6a098fe7516": { + "balance": "0xa2325753b460c0000" }, - "aa321fdbd449180db8ddd34f0fe906ec18ee0914": { - "balance": "685000000000000000000" + "0xaa321fdbd449180db8ddd34f0fe906ec18ee0914": { + "balance": "0x252248deb6e6940000" }, - "697f55536bf85ada51841f0287623a9f0ed09a17": { - "balance": "10000000000000000000000" + "0x697f55536bf85ada51841f0287623a9f0ed09a17": { + "balance": "0x21e19e0c9bab2400000" }, - "df57353aaff2aadb0a04f9014e8da7884e86589c": { - "balance": "152800000000000000000" + "0xdf57353aaff2aadb0a04f9014e8da7884e86589c": { + "balance": "0x84886a66e4fb00000" }, - "6807ddc88db489b033e6b2f9a81553571ab3c805": { - "balance": "29944000000000000000" + "0x6807ddc88db489b033e6b2f9a81553571ab3c805": { + "balance": "0x19f8e7559924c0000" }, - "90057af9aa66307ec9f033b29724d3b2f41eb6f9": { - "balance": "121930000000000000000000" + "0x90057af9aa66307ec9f033b29724d3b2f41eb6f9": { + "balance": "0x19d1d6aadb2c52e80000" }, - "3ff836b6f57b901b440c30e4dbd065cf37d3d48c": { - "balance": "200000000000000000000" + "0x3ff836b6f57b901b440c30e4dbd065cf37d3d48c": { + "balance": "0xad78ebc5ac6200000" }, - "91051764af6b808e4212c77e30a5572eaa317070": { - "balance": "1000000000000000000000" + "0x91051764af6b808e4212c77e30a5572eaa317070": { + "balance": "0x3635c9adc5dea00000" }, - "7faa30c31519b584e97250ed2a3cf3385ed5fd50": { - "balance": "2000000000000000000000" + "0x7faa30c31519b584e97250ed2a3cf3385ed5fd50": { + "balance": "0x6c6b935b8bbd400000" }, - "fb842ca2c5ef133917a236a0d4ac40690110b038": { - "balance": "306000000000000000000" + "0xfb842ca2c5ef133917a236a0d4ac40690110b038": { + "balance": "0x10969a62be15880000" }, - "aa167026d39ab7a85635944ed9edb2bfeba11850": { - "balance": "8298000000000000000000" + "0xaa167026d39ab7a85635944ed9edb2bfeba11850": { + "balance": "0x1c1d5e21b4fcf680000" }, - "57beea716cbd81700a73d67f9ff039529c2d9025": { - "balance": "200000000000000000000" + "0x57beea716cbd81700a73d67f9ff039529c2d9025": { + "balance": "0xad78ebc5ac6200000" }, - "654b7e808799a83d7287c67706f2abf49a496404": { - "balance": "1970000000000000000000" + "0x654b7e808799a83d7287c67706f2abf49a496404": { + "balance": "0x6acb3df27e1f880000" }, - "dde8f0c31b7415511dced1cd7d46323e4bd12232": { - "balance": "1610000000000000000000" + "0xdde8f0c31b7415511dced1cd7d46323e4bd12232": { + "balance": "0x57473d05dabae80000" }, - "8667fa1155fed732cfb8dca5a0d765ce0d0705ed": { - "balance": "81770000000000000000" + "0x8667fa1155fed732cfb8dca5a0d765ce0d0705ed": { + "balance": "0x46ec965c393b10000" }, - "905526568ac123afc0e84aa715124febe83dc87c": { - "balance": "17900000000000000000" + "0x905526568ac123afc0e84aa715124febe83dc87c": { + "balance": "0xf8699329677e0000" }, - "8e98766524b0cf2747c50dd43b9567594d9731de": { - "balance": "1997200000000000000000" + "0x8e98766524b0cf2747c50dd43b9567594d9731de": { + "balance": "0x6c44b7c26182280000" }, - "c6df2075ebd240d44869c2be6bdf82e63d4ef1f5": { - "balance": "20000000000000000000" + "0xc6df2075ebd240d44869c2be6bdf82e63d4ef1f5": { + "balance": "0x1158e460913d00000" }, - "2ff5cab12c0d957fd333f382eeb75107a64cb8e8": { - "balance": "10000000000000000000000" + "0x2ff5cab12c0d957fd333f382eeb75107a64cb8e8": { + "balance": "0x21e19e0c9bab2400000" }, - "3055efd26029e0d11b930df4f53b162c8c3fd2ce": { - "balance": "499938000000000000000" + "0x3055efd26029e0d11b930df4f53b162c8c3fd2ce": { + "balance": "0x1b1a089237073d0000" }, - "b2c53efa33fe4a3a1a80205c73ec3b1dbcad0602": { - "balance": "1918595000000000000000" + "0xb2c53efa33fe4a3a1a80205c73ec3b1dbcad0602": { + "balance": "0x6801dab35918938000" }, - "766b3759e8794e926dac473d913a8fb61ad0c2c9": { - "balance": "86500000000000000000" + "0x766b3759e8794e926dac473d913a8fb61ad0c2c9": { + "balance": "0x4b06dbbb40f4a0000" }, - "882aa798bf41df179f85520130f15ccdf59b5e58": { - "balance": "2000000000000000000000" + "0x882aa798bf41df179f85520130f15ccdf59b5e58": { + "balance": "0x6c6b935b8bbd400000" }, - "80b23d380b825c46e0393899a85556462da0e18c": { - "balance": "2000000000000000000000" + "0x80b23d380b825c46e0393899a85556462da0e18c": { + "balance": "0x6c6b935b8bbd400000" }, - "51f4663ab44ff79345f427a0f6f8a6c8a53ff234": { - "balance": "20000000000000000000000" + "0x51f4663ab44ff79345f427a0f6f8a6c8a53ff234": { + "balance": "0x43c33c1937564800000" }, - "8d5ef172bf77315ea64e85d0061986c794c6f519": { - "balance": "3940000000000000000000" + "0x8d5ef172bf77315ea64e85d0061986c794c6f519": { + "balance": "0xd5967be4fc3f100000" }, - "75ac547017134c04ae1e11d60e63ec04d18db4ef": { - "balance": "6000000000000000000000" + "0x75ac547017134c04ae1e11d60e63ec04d18db4ef": { + "balance": "0x14542ba12a337c00000" }, - "ce1b0cb46aaecfd79b880cad0f2dda8a8dedd0b1": { - "balance": "20000000000000000000" + "0xce1b0cb46aaecfd79b880cad0f2dda8a8dedd0b1": { + "balance": "0x1158e460913d00000" }, - "21408b4d7a2c0e6eca4143f2cacdbbccba121bd8": { - "balance": "20000000000000000000000" + "0x21408b4d7a2c0e6eca4143f2cacdbbccba121bd8": { + "balance": "0x43c33c1937564800000" }, - "9c526a140683edf1431cfaa128a935e2b614d88b": { - "balance": "111000000000000000000" + "0x9c526a140683edf1431cfaa128a935e2b614d88b": { + "balance": "0x6046f37e5945c0000" }, - "599728a78618d1a17b9e34e0fed8e857d5c40622": { - "balance": "14000000000000000000000" + "0x599728a78618d1a17b9e34e0fed8e857d5c40622": { + "balance": "0x2f6f10780d22cc00000" }, - "6ac4d4be2db0d99da3faaaf7525af282051d6a90": { - "balance": "80185000000000000000" + "0x6ac4d4be2db0d99da3faaaf7525af282051d6a90": { + "balance": "0x458ca58a962b28000" }, - "785c8ea774d73044a734fa790a1b1e743e77ed7c": { - "balance": "238750000000000000000" + "0x785c8ea774d73044a734fa790a1b1e743e77ed7c": { + "balance": "0xcf152640c5c830000" }, - "ff2726294148b86c78a9372497e459898ed3fee3": { - "balance": "1970000000000000000000" + "0xff2726294148b86c78a9372497e459898ed3fee3": { + "balance": "0x6acb3df27e1f880000" }, - "68a86c402388fddc59028fec7021e98cbf830eac": { - "balance": "19100000000000000000" + "0x68a86c402388fddc59028fec7021e98cbf830eac": { + "balance": "0x10910d4cdc9f60000" }, - "6121af398a5b2da69f65c6381aec88ce9cc6441f": { - "balance": "640000000000000000000" + "0x6121af398a5b2da69f65c6381aec88ce9cc6441f": { + "balance": "0x22b1c8c1227a000000" }, - "5a6686b0f17e07edfc59b759c77d5bef164d3879": { - "balance": "1490000000000000000000" + "0x5a6686b0f17e07edfc59b759c77d5bef164d3879": { + "balance": "0x50c5e761a444080000" }, - "a2d38de1c73906f6a7ca6efeb97cf6f69cc421be": { - "balance": "1000000000000000000000" + "0xa2d38de1c73906f6a7ca6efeb97cf6f69cc421be": { + "balance": "0x3635c9adc5dea00000" }, - "ae3f98a443efe00f3e711d525d9894dc9a61157b": { - "balance": "295500000000000000000" + "0xae3f98a443efe00f3e711d525d9894dc9a61157b": { + "balance": "0x1004e2e45fb7ee0000" }, - "5f1c8a04c90d735b8a152909aeae636fb0ce1665": { - "balance": "6999974000000000000000" + "0x5f1c8a04c90d735b8a152909aeae636fb0ce1665": { + "balance": "0x17b7827618c5a370000" }, - "d687cec0059087fdc713d4d2d65e77daefedc15f": { - "balance": "60000000000000000000" + "0xd687cec0059087fdc713d4d2d65e77daefedc15f": { + "balance": "0x340aad21b3b700000" }, - "845203750f7148a9aa262921e86d43bf641974fd": { - "balance": "100000000000000000000" + "0x845203750f7148a9aa262921e86d43bf641974fd": { + "balance": "0x56bc75e2d63100000" }, - "64464a6805b462412a901d2db8174b06c22deea6": { - "balance": "475600000000000000000" + "0x64464a6805b462412a901d2db8174b06c22deea6": { + "balance": "0x19c846a029c7c80000" }, - "053471cd9a41925b3904a5a8ffca3659e034be23": { - "balance": "199600000000000000000" + "0x053471cd9a41925b3904a5a8ffca3659e034be23": { + "balance": "0xad201a6794ff80000" }, - "911ff233e1a211c0172c92b46cf997030582c83a": { - "balance": "1970000000000000000000" + "0x911ff233e1a211c0172c92b46cf997030582c83a": { + "balance": "0x6acb3df27e1f880000" }, - "d930b27a78876485d0f48b70dd5336549679ca8f": { - "balance": "40000000000000000000" + "0xd930b27a78876485d0f48b70dd5336549679ca8f": { + "balance": "0x22b1c8c1227a00000" }, - "6ba9b21b35106be159d1c1c2657ac56cd29ffd44": { - "balance": "4480000000000000000000" + "0x6ba9b21b35106be159d1c1c2657ac56cd29ffd44": { + "balance": "0xf2dc7d47f156000000" }, - "ebac2b4408ef5431a13b8508e86250982114e145": { - "balance": "4000000000000000000000" + "0xebac2b4408ef5431a13b8508e86250982114e145": { + "balance": "0xd8d726b7177a800000" }, - "931df34d1225bcd4224e63680d5c4c09bce735a6": { - "balance": "68000000000000000000" + "0x931df34d1225bcd4224e63680d5c4c09bce735a6": { + "balance": "0x3afb087b876900000" }, - "23eb6fd85671a9063ab7678ebe265a20f61a02b3": { - "balance": "2000000000000000000000" + "0x23eb6fd85671a9063ab7678ebe265a20f61a02b3": { + "balance": "0x6c6b935b8bbd400000" }, - "b32af3d3e8d075344926546f2e32887bf93b16bd": { - "balance": "200000000000000000000" + "0xb32af3d3e8d075344926546f2e32887bf93b16bd": { + "balance": "0xad78ebc5ac6200000" }, - "8261fa230c901d43ff579f4780d399f31e6076bc": { - "balance": "2000000000000000000000" + "0x8261fa230c901d43ff579f4780d399f31e6076bc": { + "balance": "0x6c6b935b8bbd400000" }, - "84a74ceecff65cb93b2f949d773ef1ad7fb4a245": { - "balance": "92998000000000000000" + "0x84a74ceecff65cb93b2f949d773ef1ad7fb4a245": { + "balance": "0x50a9b444685c70000" }, - "da982e9643ffece723075a40fe776e5ace04b29b": { - "balance": "160884000000000000000" + "0xda982e9643ffece723075a40fe776e5ace04b29b": { + "balance": "0x8b8b6c9999bf20000" }, - "ba70e8b4759c0c3c82cc00ac4e9a94dd5bafb2b8": { - "balance": "890342000000000000000" + "0xba70e8b4759c0c3c82cc00ac4e9a94dd5bafb2b8": { + "balance": "0x3043fa33c412d70000" }, - "82f2e991fd324c5f5d17768e9f61335db6319d6c": { - "balance": "500000000000000000000" + "0x82f2e991fd324c5f5d17768e9f61335db6319d6c": { + "balance": "0x1b1ae4d6e2ef500000" }, - "3e84b35c5b2265507061d30b6f12da033fe6f8b9": { - "balance": "1790000000000000000000" + "0x3e84b35c5b2265507061d30b6f12da033fe6f8b9": { + "balance": "0x61093d7c2c6d380000" }, - "2895e80999d406ad592e2b262737d35f7db4b699": { - "balance": "1940000000000000000000" + "0x2895e80999d406ad592e2b262737d35f7db4b699": { + "balance": "0x692ae8897081d00000" }, - "65f534346d2ffb787fa9cf185d745ba42986bd6e": { - "balance": "500000000000000000000" + "0x65f534346d2ffb787fa9cf185d745ba42986bd6e": { + "balance": "0x1b1ae4d6e2ef500000" }, - "c7368b9709a5c1b51c0adf187a65df14e12b7dba": { - "balance": "9489681000000000000000" + "0xc7368b9709a5c1b51c0adf187a65df14e12b7dba": { + "balance": "0x2026fc77f03e5ae8000" }, - "ba176dbe3249e345cd4fa967c0ed13b24c47e586": { - "balance": "399990000000000000000" + "0xba176dbe3249e345cd4fa967c0ed13b24c47e586": { + "balance": "0x15aef9f1c31c7f0000" }, - "cff6a6fe3e9a922a12f21faa038156918c4fcb9c": { - "balance": "78800000000000000000" + "0xcff6a6fe3e9a922a12f21faa038156918c4fcb9c": { + "balance": "0x44591d67fecc80000" }, - "bcbd31252ec288f91e298cd812c92160e738331a": { - "balance": "1975802000000000000000" + "0xbcbd31252ec288f91e298cd812c92160e738331a": { + "balance": "0x6b1bc2cac09a590000" }, - "5543dd6d169eec8a213bbf7a8af9ffd15d4ff759": { - "balance": "18200000000000000000" + "0x5543dd6d169eec8a213bbf7a8af9ffd15d4ff759": { + "balance": "0xfc936392801c0000" }, - "b65bd780c7434115162027565223f44e5498ff8c": { - "balance": "19999800000000000000000" + "0xb65bd780c7434115162027565223f44e5498ff8c": { + "balance": "0x43c30fb0884a96c0000" }, - "4cadf573ce4ceec78b8e1b21b0ed78eb113b2c0e": { - "balance": "2000000000000000000000" + "0x4cadf573ce4ceec78b8e1b21b0ed78eb113b2c0e": { + "balance": "0x6c6b935b8bbd400000" }, - "04aafc8ae5ce6f4903c89d7fac9cb19512224777": { - "balance": "500000000000000000000" + "0x04aafc8ae5ce6f4903c89d7fac9cb19512224777": { + "balance": "0x1b1ae4d6e2ef500000" }, - "fdc4d4765a942f5bf96931a9e8cc7ab8b757ff4c": { - "balance": "87000000000000000000000" + "0xfdc4d4765a942f5bf96931a9e8cc7ab8b757ff4c": { + "balance": "0x126c478a0e3ea8600000" }, - "38c7851f5ffd4cee98df30f3b25597af8a6ca263": { - "balance": "2631920000000000000000" + "0x38c7851f5ffd4cee98df30f3b25597af8a6ca263": { + "balance": "0x8ead3a2f7d7e180000" }, - "0e320219838e859b2f9f18b72e3d4073ca50b37d": { - "balance": "2000000000000000000000" + "0x0e320219838e859b2f9f18b72e3d4073ca50b37d": { + "balance": "0x6c6b935b8bbd400000" }, - "bbbf39b1b67995a42241504f9703d2a14a515696": { - "balance": "1580000000000000000000" + "0xbbbf39b1b67995a42241504f9703d2a14a515696": { + "balance": "0x55a6e79ccd1d300000" }, - "5b800bfd1b3ed4a57d875aed26d42f1a7708d72a": { - "balance": "6392000000000000000000" + "0x5b800bfd1b3ed4a57d875aed26d42f1a7708d72a": { + "balance": "0x15a82d1d5bb88e00000" }, - "5b85e60e2af0544f2f01c64e2032900ebd38a3c7": { - "balance": "2000000000000000000000" + "0x5b85e60e2af0544f2f01c64e2032900ebd38a3c7": { + "balance": "0x6c6b935b8bbd400000" }, - "c9ac01c3fb0929033f0ccc7e1acfeaaba7945d47": { - "balance": "12459235000000000000000" + "0xc9ac01c3fb0929033f0ccc7e1acfeaaba7945d47": { + "balance": "0x2a36a9e9ca4d2038000" }, - "f355d3ec0cfb907d8dbb1bf3464e458128190bac": { - "balance": "4925600000000000000000" + "0xf355d3ec0cfb907d8dbb1bf3464e458128190bac": { + "balance": "0x10b046e7f0d80100000" }, - "69c08d744754de709ce96e15ae0d1d395b3a2263": { - "balance": "1000000000000000000000" + "0x69c08d744754de709ce96e15ae0d1d395b3a2263": { + "balance": "0x3635c9adc5dea00000" }, - "cef77451dfa2c643e00b156d6c6ff84e2373eb66": { - "balance": "188000000000000000000" + "0xcef77451dfa2c643e00b156d6c6ff84e2373eb66": { + "balance": "0xa31062beeed700000" }, - "f3034367f87d24d3077fa9a2e38a8b0ccb1104ef": { - "balance": "1000000000000000000000" + "0xf3034367f87d24d3077fa9a2e38a8b0ccb1104ef": { + "balance": "0x3635c9adc5dea00000" }, - "73473e72115110d0c3f11708f86e77be2bb0983c": { - "balance": "20000000000000000000" + "0x73473e72115110d0c3f11708f86e77be2bb0983c": { + "balance": "0x1158e460913d00000" }, - "761e6caec189c230a162ec006530193e67cf9d19": { - "balance": "2000000000000000000000" + "0x761e6caec189c230a162ec006530193e67cf9d19": { + "balance": "0x6c6b935b8bbd400000" }, - "e9caf827be9d607915b365c83f0d3b7ea8c79b50": { - "balance": "3000000000000000000000" + "0xe9caf827be9d607915b365c83f0d3b7ea8c79b50": { + "balance": "0xa2a15d09519be00000" }, - "eda4b2fa59d684b27a810df8978a73df308a63c2": { - "balance": "4000000000000000000000" + "0xeda4b2fa59d684b27a810df8978a73df308a63c2": { + "balance": "0xd8d726b7177a800000" }, - "065ff575fd9c16d3cb6fd68ffc8f483fc32ec835": { - "balance": "200000000000000000000" + "0x065ff575fd9c16d3cb6fd68ffc8f483fc32ec835": { + "balance": "0xad78ebc5ac6200000" }, - "a72ee666c4b35e82a506808b443cebd5c632c7dd": { - "balance": "800000000000000000000" + "0xa72ee666c4b35e82a506808b443cebd5c632c7dd": { + "balance": "0x2b5e3af16b18800000" }, - "5b30608c678e1ac464a8994c3b33e5cdf3497112": { - "balance": "400000000000000000000" + "0x5b30608c678e1ac464a8994c3b33e5cdf3497112": { + "balance": "0x15af1d78b58c400000" }, - "b0c7ce4c0dc3c2bbb99cc1857b8a455f611711ce": { - "balance": "4000000000000000000000" + "0xb0c7ce4c0dc3c2bbb99cc1857b8a455f611711ce": { + "balance": "0xd8d726b7177a800000" }, - "d7274d50804d9c77da93fa480156efe57ba501de": { - "balance": "1940000000000000000000" + "0xd7274d50804d9c77da93fa480156efe57ba501de": { + "balance": "0x692ae8897081d00000" }, - "a609c26dd350c235e44b2b9c1dddccd0a9d9f837": { - "balance": "1000000000000000000000" + "0xa609c26dd350c235e44b2b9c1dddccd0a9d9f837": { + "balance": "0x3635c9adc5dea00000" }, - "bddfa34d0ebf1b04af53b99b82494a9e3d8aa100": { - "balance": "12000000000000000000000" + "0xbddfa34d0ebf1b04af53b99b82494a9e3d8aa100": { + "balance": "0x28a857425466f800000" }, - "fd40242bb34a70855ef0fd90f3802dec2136b327": { - "balance": "1930600000000000000000" + "0xfd40242bb34a70855ef0fd90f3802dec2136b327": { + "balance": "0x68a875073e29240000" }, - "58aed6674affd9f64233272a578dd9386b99c263": { - "balance": "3400000000000000000000" + "0x58aed6674affd9f64233272a578dd9386b99c263": { + "balance": "0xb8507a820728200000" }, - "24434a3e32e54ecf272fe3470b5f6f512f675520": { - "balance": "5910000000000000000000" + "0x24434a3e32e54ecf272fe3470b5f6f512f675520": { + "balance": "0x14061b9d77a5e980000" }, - "a379a5070c503d2fac89b8b3afa080fd45ed4bec": { - "balance": "19700000000000000000000" + "0xa379a5070c503d2fac89b8b3afa080fd45ed4bec": { + "balance": "0x42bf06b78ed3b500000" }, - "37e169a93808d8035698f815c7235613c1e659f2": { - "balance": "1000000000000000000000" + "0x37e169a93808d8035698f815c7235613c1e659f2": { + "balance": "0x3635c9adc5dea00000" }, - "849b116f596301c5d8bb62e0e97a8248126e39f3": { - "balance": "300000000000000000000" + "0x849b116f596301c5d8bb62e0e97a8248126e39f3": { + "balance": "0x1043561a8829300000" }, - "fe7011b698bf3371132d7445b19eb5b094356aee": { - "balance": "2000000000000000000000" + "0xfe7011b698bf3371132d7445b19eb5b094356aee": { + "balance": "0x6c6b935b8bbd400000" }, - "f16de1891d8196461395f9b136265b3b9546f6ef": { - "balance": "31313000000000000000" + "0xf16de1891d8196461395f9b136265b3b9546f6ef": { + "balance": "0x1b28e1f98bbce8000" }, - "6c6564e5c9c24eaaa744c9c7c968c9e2c9f1fbae": { - "balance": "1357800000000000000000" + "0x6c6564e5c9c24eaaa744c9c7c968c9e2c9f1fbae": { + "balance": "0x499b42a21139640000" }, - "8bb0212f3295e029cab1d961b04133a1809e7b91": { - "balance": "2000000000000000000000" + "0x8bb0212f3295e029cab1d961b04133a1809e7b91": { + "balance": "0x6c6b935b8bbd400000" }, - "408a69a40715e1b313e1354e600800a1e6dc02a5": { - "balance": "35144000000000000000" + "0x408a69a40715e1b313e1354e600800a1e6dc02a5": { + "balance": "0x1e7b891cc92540000" }, - "ddf0cce1fe996d917635f00712f4052091dff9ea": { - "balance": "2000000000000000000000" + "0xddf0cce1fe996d917635f00712f4052091dff9ea": { + "balance": "0x6c6b935b8bbd400000" }, - "50fef296955588caae74c62ec32a23a454e09ab8": { - "balance": "1201200000000000000000" + "0x50fef296955588caae74c62ec32a23a454e09ab8": { + "balance": "0x411dffabc507380000" }, - "d913f0771949753c4726acaa2bd3619c5c20ff77": { - "balance": "3000000000000000000000" + "0xd913f0771949753c4726acaa2bd3619c5c20ff77": { + "balance": "0xa2a15d09519be00000" }, - "9d6ecfa03af2c6e144b7c4692a86951e902e9e1f": { - "balance": "3000310000000000000000" + "0x9d6ecfa03af2c6e144b7c4692a86951e902e9e1f": { + "balance": "0xa2a5aa60ad243f0000" }, - "ecbe5e1c9ad2b1dccf0a305fc9522f4669dd3ae7": { - "balance": "5000000000000000000000" + "0xecbe5e1c9ad2b1dccf0a305fc9522f4669dd3ae7": { + "balance": "0x10f0cf064dd59200000" }, - "33e9b71823952e1f66958c278fc28b1196a6c5a4": { - "balance": "100000000000000000000" + "0x33e9b71823952e1f66958c278fc28b1196a6c5a4": { + "balance": "0x56bc75e2d63100000" }, - "9de20bc37e7f48a80ffd7ad84ffbf1a1abe1738c": { - "balance": "200000000000000000000" + "0x9de20bc37e7f48a80ffd7ad84ffbf1a1abe1738c": { + "balance": "0xad78ebc5ac6200000" }, - "16f313cf8ad000914a0a176dc6a4342b79ec2538": { - "balance": "2000000000000000000000" + "0x16f313cf8ad000914a0a176dc6a4342b79ec2538": { + "balance": "0x6c6b935b8bbd400000" }, - "991ac7ca7097115f26205eee0ef7d41eb4e311ae": { - "balance": "20000000000000000000" + "0x991ac7ca7097115f26205eee0ef7d41eb4e311ae": { + "balance": "0x1158e460913d00000" }, - "ddfafdbc7c90f1320e54b98f374617fbd01d109f": { - "balance": "13370000000000000000" + "0xddfafdbc7c90f1320e54b98f374617fbd01d109f": { + "balance": "0xb98bc829a6f90000" }, - "26b11d066588ce74a572a85a6328739212aa8b40": { - "balance": "2000000000000000000000" + "0x26b11d066588ce74a572a85a6328739212aa8b40": { + "balance": "0x6c6b935b8bbd400000" }, - "ef2c34bb487d3762c3cca782ccdd7a8fbb0a9931": { - "balance": "180000000000000000000" + "0xef2c34bb487d3762c3cca782ccdd7a8fbb0a9931": { + "balance": "0x9c2007651b2500000" }, - "a9be88ad1e518b0bbb024ab1d8f0e73f790e0c76": { - "balance": "2800000000000000000000" + "0xa9be88ad1e518b0bbb024ab1d8f0e73f790e0c76": { + "balance": "0x97c9ce4cf6d5c00000" }, - "4a7494cce44855cc80582842be958a0d1c0072ee": { - "balance": "2400000000000000000000" + "0x4a7494cce44855cc80582842be958a0d1c0072ee": { + "balance": "0x821ab0d44149800000" }, - "23569542c97d566018c907acfcf391d14067e87e": { - "balance": "2000000000000000000000" + "0x23569542c97d566018c907acfcf391d14067e87e": { + "balance": "0x6c6b935b8bbd400000" }, - "d252960b0bf6b2848fdead80136db5f507f8be02": { - "balance": "2000000000000000000000" + "0xd252960b0bf6b2848fdead80136db5f507f8be02": { + "balance": "0x6c6b935b8bbd400000" }, - "2c0f5b9df43625798e7e03c1a5fd6a6d091af82b": { - "balance": "31200000000000000000" + "0x2c0f5b9df43625798e7e03c1a5fd6a6d091af82b": { + "balance": "0x1b0fcaab200300000" }, - "a7c9d388ebd873e66b1713448397d0f37f8bd3a8": { - "balance": "5000000000000000000000" + "0xa7c9d388ebd873e66b1713448397d0f37f8bd3a8": { + "balance": "0x10f0cf064dd59200000" }, - "3259bd2fddfbbc6fbad3b6e874f0bbc02cda18b5": { - "balance": "11886645000000000000000" + "0x3259bd2fddfbbc6fbad3b6e874f0bbc02cda18b5": { + "balance": "0x2846056495b0d188000" }, - "f287ff52f461117adb3e1daa71932d1493c65f2e": { - "balance": "3640000000000000000000" + "0xf287ff52f461117adb3e1daa71932d1493c65f2e": { + "balance": "0xc55325ca7415e00000" }, - "c852428d2b586497acd30c56aa13fb5582f84402": { - "balance": "945600000000000000000" + "0xc852428d2b586497acd30c56aa13fb5582f84402": { + "balance": "0x3342d60dff19600000" }, - "296f00de1dc3bb01d47a8ccd1e5d1dd9a1eb7791": { - "balance": "1000000000000000000000" + "0x296f00de1dc3bb01d47a8ccd1e5d1dd9a1eb7791": { + "balance": "0x3635c9adc5dea00000" }, - "817493cd9bc623702a24a56f9f82e3fd48f3cd31": { - "balance": "2920000000000000000000" + "0x817493cd9bc623702a24a56f9f82e3fd48f3cd31": { + "balance": "0x9e4b23f12d4ca00000" }, - "7adfedb06d91f3cc7390450b85550270883c7bb7": { - "balance": "322312000000000000000" + "0x7adfedb06d91f3cc7390450b85550270883c7bb7": { + "balance": "0x1178fa40515db40000" }, - "8d544c32c07fd0842c761d53a897d6c950bb7599": { - "balance": "200000000000000000000" + "0x8d544c32c07fd0842c761d53a897d6c950bb7599": { + "balance": "0xad78ebc5ac6200000" }, - "86297d730fe0f7a9ee24e08fb1087b31adb306a7": { - "balance": "2000000000000000000000" + "0x86297d730fe0f7a9ee24e08fb1087b31adb306a7": { + "balance": "0x6c6b935b8bbd400000" }, - "f64fe0939a8d1eea2a0ecd9a9730fd7958e33109": { - "balance": "20600000000000000000" + "0xf64fe0939a8d1eea2a0ecd9a9730fd7958e33109": { + "balance": "0x11de1e6db450c0000" }, - "b06eab09a610c6a53d56a946b2c43487ac1d5b2d": { - "balance": "1000000000000000000000" + "0xb06eab09a610c6a53d56a946b2c43487ac1d5b2d": { + "balance": "0x3635c9adc5dea00000" }, - "bae9b82f7299631408659dd74e891cb8f3860fe5": { - "balance": "1970000000000000000000" + "0xbae9b82f7299631408659dd74e891cb8f3860fe5": { + "balance": "0x6acb3df27e1f880000" }, - "0eda80f4ed074aea697aeddf283b63dbca3dc4da": { - "balance": "2000000000000000000000" + "0x0eda80f4ed074aea697aeddf283b63dbca3dc4da": { + "balance": "0x6c6b935b8bbd400000" }, - "ea686c5057093c171c66db99e01b0ececb308683": { - "balance": "384907000000000000000" + "0xea686c5057093c171c66db99e01b0ececb308683": { + "balance": "0x14dda85d2ce1478000" }, - "425725c0f08f0811f5f006eec91c5c5c126b12ae": { - "balance": "150000000000000000000" + "0x425725c0f08f0811f5f006eec91c5c5c126b12ae": { + "balance": "0x821ab0d4414980000" }, - "b18e67a5050a1dc9fb190919a33da838ef445014": { - "balance": "20000000000000000000" + "0xb18e67a5050a1dc9fb190919a33da838ef445014": { + "balance": "0x1158e460913d00000" }, - "8dd484ff8a307364eb66c525a571aac701c5c318": { - "balance": "4000000000000000000000" + "0x8dd484ff8a307364eb66c525a571aac701c5c318": { + "balance": "0xd8d726b7177a800000" }, - "6671b182c9f741a0cd3c356c73c23126d4f9e6f4": { - "balance": "200000000000000000000" + "0x6671b182c9f741a0cd3c356c73c23126d4f9e6f4": { + "balance": "0xad78ebc5ac6200000" }, - "ba0249e01d945bef93ee5ec61925e03c5ca509fd": { - "balance": "4000000000000000000000" + "0xba0249e01d945bef93ee5ec61925e03c5ca509fd": { + "balance": "0xd8d726b7177a800000" }, - "b2968f7d35f208871631c6687b3f3daeabc6616c": { - "balance": "156060000000000000000" + "0xb2968f7d35f208871631c6687b3f3daeabc6616c": { + "balance": "0x875c47f289f760000" }, - "a6f62b8a3d7f11220701ab9ffffcb327959a2785": { - "balance": "506000000000000000000" + "0xa6f62b8a3d7f11220701ab9ffffcb327959a2785": { + "balance": "0x1b6e291f18dba80000" }, - "c885a18aabf4541b7b7b7ecd30f6fae6869d9569": { - "balance": "2000000000000000000000" + "0xc885a18aabf4541b7b7b7ecd30f6fae6869d9569": { + "balance": "0x6c6b935b8bbd400000" }, - "33fb577a4d214fe010d32cca7c3eeda63f87ceef": { - "balance": "1000000000000000000000" + "0x33fb577a4d214fe010d32cca7c3eeda63f87ceef": { + "balance": "0x3635c9adc5dea00000" }, - "be86d0b0438419ceb1a038319237ba5206d72e46": { - "balance": "999942000000000000000" + "0xbe86d0b0438419ceb1a038319237ba5206d72e46": { + "balance": "0x3634fb9f1489a70000" }, - "466292f0e80d43a78774277590a9eb45961214f4": { - "balance": "970000000000000000000" + "0x466292f0e80d43a78774277590a9eb45961214f4": { + "balance": "0x34957444b840e80000" }, - "b33c0323fbf9c26c1d8ac44ef74391d0804696da": { - "balance": "20000000000000000000" + "0xb33c0323fbf9c26c1d8ac44ef74391d0804696da": { + "balance": "0x1158e460913d00000" }, - "f7bc4c44910d5aedd66ed2355538a6b193c361ec": { - "balance": "96980000000000000000" + "0xf7bc4c44910d5aedd66ed2355538a6b193c361ec": { + "balance": "0x541de2c2d8d620000" }, - "d0f04f52109aebec9a7b1e9332761e9fe2b97bb5": { - "balance": "4000000000000000000000" + "0xd0f04f52109aebec9a7b1e9332761e9fe2b97bb5": { + "balance": "0xd8d726b7177a800000" }, - "cb4a914d2bb029f32e5fef5c234c4fec2d2dd577": { - "balance": "1800000000000000000000" + "0xcb4a914d2bb029f32e5fef5c234c4fec2d2dd577": { + "balance": "0x6194049f30f7200000" }, - "2e619f57abc1e987aa936ae3a2264962e7eb2d9a": { - "balance": "756000000000000000000" + "0x2e619f57abc1e987aa936ae3a2264962e7eb2d9a": { + "balance": "0x28fb9b8a8a53500000" }, - "166bf6dab22d841b486c38e7ba6ab33a1487ed8c": { - "balance": "20000000000000000000000" + "0x166bf6dab22d841b486c38e7ba6ab33a1487ed8c": { + "balance": "0x43c33c1937564800000" }, - "c3a046e3d2b2bf681488826e32d9c061518cfe8c": { - "balance": "2600000000000000000000" + "0xc3a046e3d2b2bf681488826e32d9c061518cfe8c": { + "balance": "0x8cf23f909c0fa00000" }, - "d082275f745a2cac0276fbdb02d4b2a3ab1711fe": { - "balance": "30000000000000000000" + "0xd082275f745a2cac0276fbdb02d4b2a3ab1711fe": { + "balance": "0x1a055690d9db80000" }, - "a701df79f594901afe1444485e6b20c3bda2b9b3": { - "balance": "1000000000000000000000" + "0xa701df79f594901afe1444485e6b20c3bda2b9b3": { + "balance": "0x3635c9adc5dea00000" }, - "dec3eec2640a752c466e2b7e7ee685afe9ac41f4": { - "balance": "1324245000000000000000" + "0xdec3eec2640a752c466e2b7e7ee685afe9ac41f4": { + "balance": "0x47c99753596b288000" }, - "8134dd1c9df0d6c8a5812426bb55c761ca831f08": { - "balance": "122360000000000000000" + "0x8134dd1c9df0d6c8a5812426bb55c761ca831f08": { + "balance": "0x6a2160bb57ccc0000" }, - "bfc57aa666fae28e9f107a49cb5089a4e22151dd": { - "balance": "1000000000000000000000" + "0xbfc57aa666fae28e9f107a49cb5089a4e22151dd": { + "balance": "0x3635c9adc5dea00000" }, - "c3c2297329a6fd99117e54fc6af379b4d556547e": { - "balance": "6000000000000000000000" + "0xc3c2297329a6fd99117e54fc6af379b4d556547e": { + "balance": "0x14542ba12a337c00000" }, - "40585200683a403901372912a89834aadcb55fdb": { - "balance": "2000000000000000000000" + "0x40585200683a403901372912a89834aadcb55fdb": { + "balance": "0x6c6b935b8bbd400000" }, - "cd49bf185e70d04507999f92a4de4455312827d0": { - "balance": "1000000000000000000000" + "0xcd49bf185e70d04507999f92a4de4455312827d0": { + "balance": "0x3635c9adc5dea00000" }, - "9c6bc9a46b03ae5404f043dfcf21883e4110cc33": { - "balance": "200000000000000000000" + "0x9c6bc9a46b03ae5404f043dfcf21883e4110cc33": { + "balance": "0xad78ebc5ac6200000" }, - "1f49b86d0d3945590698a6aaf1673c37755ca80d": { - "balance": "700000000000000000000" + "0x1f49b86d0d3945590698a6aaf1673c37755ca80d": { + "balance": "0x25f273933db5700000" }, - "efeb1997aad277cc33430e6111ed0943594048b8": { - "balance": "2000000000000000000000" + "0xefeb1997aad277cc33430e6111ed0943594048b8": { + "balance": "0x6c6b935b8bbd400000" }, - "7c0883054c2d02bc7a852b1f86c42777d0d5c856": { - "balance": "500000000000000000000" + "0x7c0883054c2d02bc7a852b1f86c42777d0d5c856": { + "balance": "0x1b1ae4d6e2ef500000" }, - "ff49a775814ec00051a795a875de24592ea400d4": { - "balance": "200000000000000000000000" + "0xff49a775814ec00051a795a875de24592ea400d4": { + "balance": "0x2a5a058fc295ed000000" }, - "f039683d7b3d225bc7d8dfadef63163441be41e2": { - "balance": "34380000000000000000" + "0xf039683d7b3d225bc7d8dfadef63163441be41e2": { + "balance": "0x1dd1e4bd8d1ee0000" }, - "a3ba0d3a3617b1e31b4e422ce269e873828d5d69": { - "balance": "850000000000000000000" + "0xa3ba0d3a3617b1e31b4e422ce269e873828d5d69": { + "balance": "0x2e141ea081ca080000" }, - "d116f3dcd5db744bd008887687aa0ec9fd7292aa": { - "balance": "1000000000000000000000" + "0xd116f3dcd5db744bd008887687aa0ec9fd7292aa": { + "balance": "0x3635c9adc5dea00000" }, - "5719f49b720da68856f4b9e708f25645bdbc4b41": { - "balance": "640000000000000000000" + "0x5719f49b720da68856f4b9e708f25645bdbc4b41": { + "balance": "0x22b1c8c1227a000000" }, - "870796abc0db84af82da52a0ed68734de7e636f5": { - "balance": "300000000000000000000" + "0x870796abc0db84af82da52a0ed68734de7e636f5": { + "balance": "0x1043561a8829300000" }, - "68b6854788a7c6496cdbf5f84b9ec5ef392b78bb": { - "balance": "19700000000000000000000" + "0x68b6854788a7c6496cdbf5f84b9ec5ef392b78bb": { + "balance": "0x42bf06b78ed3b500000" }, - "8c2fbeee8eacc5c5d77c16abd462ee9c8145f34b": { - "balance": "1940000000000000000000" + "0x8c2fbeee8eacc5c5d77c16abd462ee9c8145f34b": { + "balance": "0x692ae8897081d00000" }, - "421684baa9c0b4b5f55338e6f6e7c8e146d41cb7": { - "balance": "1500000000000000000000" + "0x421684baa9c0b4b5f55338e6f6e7c8e146d41cb7": { + "balance": "0x5150ae84a8cdf00000" }, - "dd26b429fd43d84ec179825324bad5bfb916b360": { - "balance": "5142000000000000000000" + "0xdd26b429fd43d84ec179825324bad5bfb916b360": { + "balance": "0x116bf95bc8432980000" }, - "3821862493242c0aeb84b90de05d250c1e50c074": { - "balance": "322200000000000000000" + "0x3821862493242c0aeb84b90de05d250c1e50c074": { + "balance": "0x11776c58e946dc0000" }, - "68a7425fe09eb28cf86eb1793e41b211e57bd68d": { - "balance": "668500000000000000000" + "0x68a7425fe09eb28cf86eb1793e41b211e57bd68d": { + "balance": "0x243d4d18229ca20000" }, - "da875e4e2f3cabe4f37e0eaed7d1f6dcc6ffef43": { - "balance": "2000000000000000000000" + "0xda875e4e2f3cabe4f37e0eaed7d1f6dcc6ffef43": { + "balance": "0x6c6b935b8bbd400000" }, - "c2663f8145dbfec6c646fc5c49961345de1c9f11": { - "balance": "690000000000000000000" + "0xc2663f8145dbfec6c646fc5c49961345de1c9f11": { + "balance": "0x2567ac70392b880000" }, - "e89c22f1a4e1d4746ecfaa59ed386fee12d51e37": { - "balance": "44932000000000000000" + "0xe89c22f1a4e1d4746ecfaa59ed386fee12d51e37": { + "balance": "0x26f8e87f0a7da0000" }, - "eff86b5123bcdc17ed4ce8e05b7e12e51393a1f7": { - "balance": "500000000000000000000" + "0xeff86b5123bcdc17ed4ce8e05b7e12e51393a1f7": { + "balance": "0x1b1ae4d6e2ef500000" }, - "6c3d18704126aa99ee3342ce60f5d4c85f1867cd": { - "balance": "50000000000000000000" + "0x6c3d18704126aa99ee3342ce60f5d4c85f1867cd": { + "balance": "0x2b5e3af16b1880000" }, - "b8d531a964bcea13829620c0ced72422dadb4cca": { - "balance": "169990000000000000000" + "0xb8d531a964bcea13829620c0ced72422dadb4cca": { + "balance": "0x93715cc5ab8a70000" }, - "7c29d47d57a733f56b9b217063b513dc3b315923": { - "balance": "4000000000000000000000" + "0x7c29d47d57a733f56b9b217063b513dc3b315923": { + "balance": "0xd8d726b7177a800000" }, - "bc1e80c181616342ebb3fb3992072f1b28b802c6": { - "balance": "4000000000000000000000" + "0xbc1e80c181616342ebb3fb3992072f1b28b802c6": { + "balance": "0xd8d726b7177a800000" }, - "31313ffd635bf2f3324841a88c07ed146144ceeb": { - "balance": "1970000000000000000000" + "0x31313ffd635bf2f3324841a88c07ed146144ceeb": { + "balance": "0x6acb3df27e1f880000" }, - "cc4feb72df98ff35a138e01761d1203f9b7edf0a": { - "balance": "7000000000000000000000" + "0xcc4feb72df98ff35a138e01761d1203f9b7edf0a": { + "balance": "0x17b7883c06916600000" }, - "741693c30376508513082020cc2b63e9fa92131b": { - "balance": "1200000000000000000000" + "0x741693c30376508513082020cc2b63e9fa92131b": { + "balance": "0x410d586a20a4c00000" }, - "aa3135cb54f102cbefe09e96103a1a796718ff54": { - "balance": "57800000000000000000" + "0xaa3135cb54f102cbefe09e96103a1a796718ff54": { + "balance": "0x32222d9c331940000" }, - "ef61155ba009dcdebef10b28d9da3d1bc6c9ced4": { - "balance": "59100000000000000000" + "0xef61155ba009dcdebef10b28d9da3d1bc6c9ced4": { + "balance": "0x3342d60dff1960000" }, - "b3c94811e7175b148b281c1a845bfc9bb6fbc115": { - "balance": "200000000000000000000" + "0xb3c94811e7175b148b281c1a845bfc9bb6fbc115": { + "balance": "0xad78ebc5ac6200000" }, - "96d9cca8f55eea0040ec6eb348a1774b95d93ef4": { - "balance": "4000000000000000000000" + "0x96d9cca8f55eea0040ec6eb348a1774b95d93ef4": { + "balance": "0xd8d726b7177a800000" }, - "ce62125adec3370ac52110953a4e760be9451e3b": { - "balance": "152000000000000000000" + "0xce62125adec3370ac52110953a4e760be9451e3b": { + "balance": "0x83d6c7aab63600000" }, - "aca1e6bc64cc3180f620e94dc5b1bcfd8158e45d": { - "balance": "2000000000000000000000" + "0xaca1e6bc64cc3180f620e94dc5b1bcfd8158e45d": { + "balance": "0x6c6b935b8bbd400000" }, - "bc237148d30c13836ffa2cad520ee4d2e5c4eeff": { - "balance": "1970000000000000000000" + "0xbc237148d30c13836ffa2cad520ee4d2e5c4eeff": { + "balance": "0x6acb3df27e1f880000" }, - "0e024e7f029c6aaf3a8b910f5e080873b85795aa": { - "balance": "1000000000000000000000" + "0x0e024e7f029c6aaf3a8b910f5e080873b85795aa": { + "balance": "0x3635c9adc5dea00000" }, - "7283cd4675da58c496556151dafd80c7f995d318": { - "balance": "760000000000000000000" + "0x7283cd4675da58c496556151dafd80c7f995d318": { + "balance": "0x29331e6558f0e00000" }, - "39b299327490d72f9a9edff11b83afd0e9d3c450": { - "balance": "200000000000000000000" + "0x39b299327490d72f9a9edff11b83afd0e9d3c450": { + "balance": "0xad78ebc5ac6200000" }, - "5f333a3b2310765a0d1832b9be4c0a03704c1c09": { - "balance": "1000000000000000000000" + "0x5f333a3b2310765a0d1832b9be4c0a03704c1c09": { + "balance": "0x3635c9adc5dea00000" }, - "5aaf1c31254a6e005fba7f5ab0ec79d7fc2b630e": { - "balance": "5910000000000000000000" + "0x5aaf1c31254a6e005fba7f5ab0ec79d7fc2b630e": { + "balance": "0x14061b9d77a5e980000" }, - "833db42c14163c7be4cab86ac593e06266d699d5": { - "balance": "174212000000000000000000" + "0x833db42c14163c7be4cab86ac593e06266d699d5": { + "balance": "0x24e40d2b6943ef900000" }, - "f32d25eb0ea2b8b3028a4c7a155dc1aae865784d": { - "balance": "5710684000000000000000" + "0xf32d25eb0ea2b8b3028a4c7a155dc1aae865784d": { + "balance": "0x13593a9297fdad60000" }, - "1fa2319fed8c2d462adf2e17feec6a6f30516e95": { - "balance": "125300000000000000000" + "0x1fa2319fed8c2d462adf2e17feec6a6f30516e95": { + "balance": "0x6cae30621d4720000" }, - "c49cfaa967f3afbf55031061fc4cef88f85da584": { - "balance": "2000000000000000000000" + "0xc49cfaa967f3afbf55031061fc4cef88f85da584": { + "balance": "0x6c6b935b8bbd400000" }, - "43db7ff95a086d28ebbfb82fb8fb5f230a5ebccd": { - "balance": "16100000000000000000" + "0x43db7ff95a086d28ebbfb82fb8fb5f230a5ebccd": { + "balance": "0xdf6eb0b2d3ca0000" }, - "cf3f9128b07203a3e10d7d5755c0c4abc6e2cac2": { - "balance": "5000000000000000000000" + "0xcf3f9128b07203a3e10d7d5755c0c4abc6e2cac2": { + "balance": "0x10f0cf064dd59200000" }, - "8f4d1e7e4561284a34fef9673c0d34e12af4aa03": { - "balance": "2000000000000000000000" + "0x8f4d1e7e4561284a34fef9673c0d34e12af4aa03": { + "balance": "0x6c6b935b8bbd400000" }, - "934af21b7ebfa467e2ced65aa34edd3a0ec71332": { - "balance": "35420000000000000000000" + "0x934af21b7ebfa467e2ced65aa34edd3a0ec71332": { + "balance": "0x7801f3e80cc0ff00000" }, - "5d231a70c1dfeb360abd97f616e2d10d39f3cab5": { - "balance": "400000000000000000000" + "0x5d231a70c1dfeb360abd97f616e2d10d39f3cab5": { + "balance": "0x15af1d78b58c400000" }, - "2d5d7335acb0362b47dfa3a8a4d3f5949544d380": { - "balance": "200000000000000000000" + "0x2d5d7335acb0362b47dfa3a8a4d3f5949544d380": { + "balance": "0xad78ebc5ac6200000" }, - "d1e1f2b9c16c309874dee7fac32675aff129c398": { - "balance": "72800000000000000000" + "0xd1e1f2b9c16c309874dee7fac32675aff129c398": { + "balance": "0x3f24d8e4a00700000" }, - "a43b6da6cb7aac571dff27f09d39f846f53769b1": { - "balance": "380000000000000000000" + "0xa43b6da6cb7aac571dff27f09d39f846f53769b1": { + "balance": "0x14998f32ac78700000" }, - "779274bf1803a336e4d3b00ddd93f2d4f5f4a62e": { - "balance": "1000000000000000000000" + "0x779274bf1803a336e4d3b00ddd93f2d4f5f4a62e": { + "balance": "0x3635c9adc5dea00000" }, - "a644ed922cc237a3e5c4979a995477f36e50bc62": { - "balance": "583900000000000000000" + "0xa644ed922cc237a3e5c4979a995477f36e50bc62": { + "balance": "0x1fa73d845d7e960000" }, - "ee6c03429969ca1262cb3f0a4a54afa7d348d7f5": { - "balance": "256100000000000000000" + "0xee6c03429969ca1262cb3f0a4a54afa7d348d7f5": { + "balance": "0xde219f91fc18a0000" }, - "4f06246b8d4bd29661f43e93762201d286935ab1": { - "balance": "4818730000000000000000" + "0x4f06246b8d4bd29661f43e93762201d286935ab1": { + "balance": "0x105394ffc4636110000" }, - "e04972a83ca4112bc871c72d4ae1616c2f0728db": { - "balance": "267606000000000000000" + "0xe04972a83ca4112bc871c72d4ae1616c2f0728db": { + "balance": "0xe81c77f29a32f0000" }, - "df098f5e4e3dffa51af237bda8652c4f73ed9ca6": { - "balance": "502000000000000000000" + "0xdf098f5e4e3dffa51af237bda8652c4f73ed9ca6": { + "balance": "0x1b36a6444a3e180000" }, - "dfded2574b27d1613a7d98b715159b0d00baab28": { - "balance": "20000000000000000000000" + "0xdfded2574b27d1613a7d98b715159b0d00baab28": { + "balance": "0x43c33c1937564800000" }, - "17d931d4c56294dcbe77c8655be4695f006d4a3c": { - "balance": "2000000000000000000000" + "0x17d931d4c56294dcbe77c8655be4695f006d4a3c": { + "balance": "0x6c6b935b8bbd400000" }, - "3ccb71aa6880cb0b84012d90e60740ec06acd78f": { - "balance": "2000000000000000000000" + "0x3ccb71aa6880cb0b84012d90e60740ec06acd78f": { + "balance": "0x6c6b935b8bbd400000" }, - "e57d2995b0ebdf3f3ca6c015eb04260dbb98b7c6": { - "balance": "2000000000000000000000" + "0xe57d2995b0ebdf3f3ca6c015eb04260dbb98b7c6": { + "balance": "0x6c6b935b8bbd400000" }, - "fb3860f4121c432ebdc8ec6a0331b1b709792e90": { - "balance": "600400000000000000000" + "0xfb3860f4121c432ebdc8ec6a0331b1b709792e90": { + "balance": "0x208c394af1c8880000" }, - "fa00c376e89c05e887817a9dd0748d96f341aa89": { - "balance": "300700000000000000000" + "0xfa00c376e89c05e887817a9dd0748d96f341aa89": { + "balance": "0x104d0d00d2b7f60000" }, - "c7a018f0968a51d1f6603c5c49dc545bcb0ff293": { - "balance": "4000000000000000000000" + "0xc7a018f0968a51d1f6603c5c49dc545bcb0ff293": { + "balance": "0xd8d726b7177a800000" }, - "7d73863038ccca22f96affda10496e51e1e6cd48": { - "balance": "20000000000000000000" + "0x7d73863038ccca22f96affda10496e51e1e6cd48": { + "balance": "0x1158e460913d00000" }, - "38ea6f5b5a7b88417551b4123dc127dfe9342da6": { - "balance": "400000000000000000000" + "0x38ea6f5b5a7b88417551b4123dc127dfe9342da6": { + "balance": "0x15af1d78b58c400000" }, - "014b7f67b14f5d983d87014f570c8b993b9872b5": { - "balance": "200000000000000000000" + "0x014b7f67b14f5d983d87014f570c8b993b9872b5": { + "balance": "0xad78ebc5ac6200000" }, - "8ac89bd9b8301e6b0677fa25fcf0f58f0cc7b611": { - "balance": "20000000000000000000" + "0x8ac89bd9b8301e6b0677fa25fcf0f58f0cc7b611": { + "balance": "0x1158e460913d00000" }, - "7eb4b0185c92b6439a08e7322168cb353c8a774a": { - "balance": "10165988000000000000000" + "0x7eb4b0185c92b6439a08e7322168cb353c8a774a": { + "balance": "0x227196ca04983ca0000" }, - "d29dc08efbb3d72e263f78ab7610d0226de76b00": { - "balance": "12000000000000000000000" + "0xd29dc08efbb3d72e263f78ab7610d0226de76b00": { + "balance": "0x28a857425466f800000" }, - "72a8260826294726a75bf39cd9aa9e07a3ea14cd": { - "balance": "2000000000000000000000" + "0x72a8260826294726a75bf39cd9aa9e07a3ea14cd": { + "balance": "0x6c6b935b8bbd400000" }, - "4cb5c6cd713ca447b848ae2f56b761ca14d7ad57": { - "balance": "267400000000000000000" + "0x4cb5c6cd713ca447b848ae2f56b761ca14d7ad57": { + "balance": "0xe7eeba3410b740000" }, - "49185dd7c23632f46c759473ebae966008cd3598": { - "balance": "254030000000000000000" + "0x49185dd7c23632f46c759473ebae966008cd3598": { + "balance": "0xdc55fdb17647b0000" }, - "13d67a7e25f2b12cdb85585009f8acc49b967301": { - "balance": "1999944000000000000000" + "0x13d67a7e25f2b12cdb85585009f8acc49b967301": { + "balance": "0x6c6acc67d7b1d40000" }, - "9d913b5d339c95d87745562563fea98b23c60cc4": { - "balance": "170718000000000000000" + "0x9d913b5d339c95d87745562563fea98b23c60cc4": { + "balance": "0x941302c7f4d230000" }, - "abdc9f1bcf4d19ee96591030e772c334302f7d83": { - "balance": "40110000000000000000000" + "0xabdc9f1bcf4d19ee96591030e772c334302f7d83": { + "balance": "0x87e5e11a81cb5f80000" }, - "e9a5ae3c9e05977dd1069e9fd9d3aefbae04b8df": { - "balance": "1970000000000000000000" + "0xe9a5ae3c9e05977dd1069e9fd9d3aefbae04b8df": { + "balance": "0x6acb3df27e1f880000" }, - "1fd296be03ad737c92f9c6869e8d80a71c5714aa": { - "balance": "13370000000000000000" + "0x1fd296be03ad737c92f9c6869e8d80a71c5714aa": { + "balance": "0xb98bc829a6f90000" }, - "2f13657526b177cad547c3908c840eff647b45d9": { - "balance": "1170685000000000000000" + "0x2f13657526b177cad547c3908c840eff647b45d9": { + "balance": "0x3f76849cf1ee2c8000" }, - "e69fcc26ed225f7b2e379834c524d70c1735e5bc": { - "balance": "2000000000000000000000" + "0xe69fcc26ed225f7b2e379834c524d70c1735e5bc": { + "balance": "0x6c6b935b8bbd400000" }, - "bade43599e02f84f4c3014571c976b13a36c65ab": { - "balance": "4000000000000000000000" + "0xbade43599e02f84f4c3014571c976b13a36c65ab": { + "balance": "0xd8d726b7177a800000" }, - "184a4f0beb71ffd558a6b6e8f228b78796c4cf3e": { - "balance": "12000000000000000000000" + "0x184a4f0beb71ffd558a6b6e8f228b78796c4cf3e": { + "balance": "0x28a857425466f800000" }, - "d1de5aad3a5fd803f1b1aeb6103cb8e14fe723b7": { - "balance": "20000000000000000000" + "0xd1de5aad3a5fd803f1b1aeb6103cb8e14fe723b7": { + "balance": "0x1158e460913d00000" }, - "0bd67dbde07a856ebd893b5edc4f3a5be4202616": { - "balance": "2000000000000000000000" + "0x0bd67dbde07a856ebd893b5edc4f3a5be4202616": { + "balance": "0x6c6b935b8bbd400000" }, - "6b30f1823910b86d3acb5a6afc9defb6f3a30bf8": { - "balance": "4200000000000000000000" + "0x6b30f1823910b86d3acb5a6afc9defb6f3a30bf8": { + "balance": "0xe3aeb5737240a00000" }, - "9a63d185a79129fdab19b58bb631ea36a420544e": { - "balance": "42000000000000000000" + "0x9a63d185a79129fdab19b58bb631ea36a420544e": { + "balance": "0x246ddf97976680000" }, - "df660a91dab9f730f6190d50c8390561500756ca": { - "balance": "2000000000000000000000" + "0xdf660a91dab9f730f6190d50c8390561500756ca": { + "balance": "0x6c6b935b8bbd400000" }, - "a1a1f0fa6d20b50a794f02ef52085c9d036aa6ca": { - "balance": "1000000000000000000000" + "0xa1a1f0fa6d20b50a794f02ef52085c9d036aa6ca": { + "balance": "0x3635c9adc5dea00000" }, - "4ec768295eeabafc42958415e22be216cde77618": { - "balance": "59600000000000000000" + "0x4ec768295eeabafc42958415e22be216cde77618": { + "balance": "0x33b1dbc39c5480000" }, - "c348fc5a461323b57be303cb89361b991913df28": { - "balance": "100000000000000000000000" + "0xc348fc5a461323b57be303cb89361b991913df28": { + "balance": "0x152d02c7e14af6800000" }, - "3a7db224acae17de7798797d82cdf8253017dfa8": { - "balance": "5000000000000000000000" + "0x3a7db224acae17de7798797d82cdf8253017dfa8": { + "balance": "0x10f0cf064dd59200000" }, - "8bea40379347a5c891d59a6363315640f5a7e07a": { - "balance": "1999992000000000000000" + "0x8bea40379347a5c891d59a6363315640f5a7e07a": { + "balance": "0x6c6b76ef96970c0000" }, - "2257fca16a6e5c2a647c3c29f36ce229ab93b17e": { - "balance": "4000000000000000000000" + "0x2257fca16a6e5c2a647c3c29f36ce229ab93b17e": { + "balance": "0xd8d726b7177a800000" }, - "e492818aa684e5a676561b725d42f3cc56ae5198": { - "balance": "800000000000000000000" + "0xe492818aa684e5a676561b725d42f3cc56ae5198": { + "balance": "0x2b5e3af16b18800000" }, - "c841884fa4785fb773b28e9715fae99a5134305d": { - "balance": "2000000000000000000000" + "0xc841884fa4785fb773b28e9715fae99a5134305d": { + "balance": "0x6c6b935b8bbd400000" }, - "0d9443a79468a5bbf7c13c6e225d1de91aee07df": { - "balance": "70000000000000000000" + "0x0d9443a79468a5bbf7c13c6e225d1de91aee07df": { + "balance": "0x3cb71f51fc5580000" }, - "6d4008b4a888a826f248ee6a0b0dfde9f93210b9": { - "balance": "5460000000000000000000" + "0x6d4008b4a888a826f248ee6a0b0dfde9f93210b9": { + "balance": "0x127fcb8afae20d00000" }, - "884980eb4565c1048317a8f47fdbb461965be481": { - "balance": "3999922000000000000000" + "0x884980eb4565c1048317a8f47fdbb461965be481": { + "balance": "0xd8d6119a8146050000" }, - "985d70d207892bed398590024e2421b1cc119359": { - "balance": "20000000000000000000000" + "0x985d70d207892bed398590024e2421b1cc119359": { + "balance": "0x43c33c1937564800000" }, - "d9ec8fe69b7716c0865af888a11b2b12f720ed33": { - "balance": "4000000000000000000000" + "0xd9ec8fe69b7716c0865af888a11b2b12f720ed33": { + "balance": "0xd8d726b7177a800000" }, - "49b74e169265f01a89ec4c9072c5a4cd72e4e835": { - "balance": "16100000000000000000000" + "0x49b74e169265f01a89ec4c9072c5a4cd72e4e835": { + "balance": "0x368c8623a8b4d100000" }, - "4c3e95cc3957d252ce0bf0c87d5b4f2234672e70": { - "balance": "2500000000000000000000" + "0x4c3e95cc3957d252ce0bf0c87d5b4f2234672e70": { + "balance": "0x878678326eac900000" }, - "d9ff115d01266c9f73b063c1c238ef3565e63b36": { - "balance": "680000000000000000000" + "0xd9ff115d01266c9f73b063c1c238ef3565e63b36": { + "balance": "0x24dce54d34a1a00000" }, - "48c5c6970b9161bb1c7b7adfed9cdede8a1ba864": { - "balance": "4000000000000000000000" + "0x48c5c6970b9161bb1c7b7adfed9cdede8a1ba864": { + "balance": "0xd8d726b7177a800000" }, - "ea6afe2cc928ac8391eb1e165fc40040e37421e7": { - "balance": "2997569000000000000000" + "0xea6afe2cc928ac8391eb1e165fc40040e37421e7": { + "balance": "0xa27fa063b2e2e68000" }, - "08ccda50e4b26a0ffc0ef92e9205310706bec2c7": { - "balance": "6077440000000000000000" + "0x08ccda50e4b26a0ffc0ef92e9205310706bec2c7": { + "balance": "0x149756c3857c6000000" }, - "e6e9a39d750fe994394eb68286e5ea62a6997882": { - "balance": "600000000000000000000" + "0xe6e9a39d750fe994394eb68286e5ea62a6997882": { + "balance": "0x2086ac351052600000" }, - "4b58101f44f7e389e12d471d1635b71614fdd605": { - "balance": "160000000000000000000" + "0x4b58101f44f7e389e12d471d1635b71614fdd605": { + "balance": "0x8ac7230489e800000" }, - "8d93dac785f88f1a84bf927d53652b45a154ccdd": { - "balance": "158000000000000000000" + "0x8d93dac785f88f1a84bf927d53652b45a154ccdd": { + "balance": "0x890b0c2e14fb80000" }, - "415d096ab06293183f3c033d25f6cf7178ac3bc7": { - "balance": "40000000000000000000" + "0x415d096ab06293183f3c033d25f6cf7178ac3bc7": { + "balance": "0x22b1c8c1227a00000" }, - "c3e387b03ce95ccfd7fa51dd840183bc43532809": { - "balance": "2000000000000000000000" + "0xc3e387b03ce95ccfd7fa51dd840183bc43532809": { + "balance": "0x6c6b935b8bbd400000" }, - "da34b2eae30bafe8daeccde819a794cd89e09549": { - "balance": "2000000000000000000000" + "0xda34b2eae30bafe8daeccde819a794cd89e09549": { + "balance": "0x6c6b935b8bbd400000" }, - "fa279bfd8767f956bf7fa0bd5660168da75686bd": { - "balance": "2674000000000000000000" + "0xfa279bfd8767f956bf7fa0bd5660168da75686bd": { + "balance": "0x90f534608a72880000" }, - "b98ca31785ef06be49a1e47e864f60d076ca472e": { - "balance": "4000000000000000000000" + "0xb98ca31785ef06be49a1e47e864f60d076ca472e": { + "balance": "0xd8d726b7177a800000" }, - "b768b5234eba3a9968b34d6ddb481c8419b3655d": { - "balance": "14974000000000000000" + "0xb768b5234eba3a9968b34d6ddb481c8419b3655d": { + "balance": "0xcfce55aa12b30000" }, - "31047d703f63b93424fbbd6e2f1f9e74de13e709": { - "balance": "2850123000000000000000" + "0x31047d703f63b93424fbbd6e2f1f9e74de13e709": { + "balance": "0x9a8166f7e6b2a78000" }, - "9a24ce8d485cc4c86e49deb39022f92c7430e67e": { - "balance": "1300000000000000000000" + "0x9a24ce8d485cc4c86e49deb39022f92c7430e67e": { + "balance": "0x46791fc84e07d00000" }, - "e62f9d7c64e8e2635aeb883dd73ba684ee7c1079": { - "balance": "8000000000000000000000" + "0xe62f9d7c64e8e2635aeb883dd73ba684ee7c1079": { + "balance": "0x1b1ae4d6e2ef5000000" }, - "f15d9d5a21b1929e790371a17f16d95f0c69655c": { - "balance": "2000000000000000000000" + "0xf15d9d5a21b1929e790371a17f16d95f0c69655c": { + "balance": "0x6c6b935b8bbd400000" }, - "285ae51b9500c58d541365d97569f14bb2a3709b": { - "balance": "2000000000000000000000" + "0x285ae51b9500c58d541365d97569f14bb2a3709b": { + "balance": "0x6c6b935b8bbd400000" }, - "09c177f1ae442411ddacf187d46db956148360e7": { - "balance": "8950000000000000000000" + "0x09c177f1ae442411ddacf187d46db956148360e7": { + "balance": "0x1e52e336cde22180000" }, - "12173074980153aeaa4b0dcbc7132eadcec21b64": { - "balance": "240000000000000000000" + "0x12173074980153aeaa4b0dcbc7132eadcec21b64": { + "balance": "0xd02ab486cedc00000" }, - "351f16e5e0735af56751b0e225b2421171394090": { - "balance": "13370000000000000000000" + "0x351f16e5e0735af56751b0e225b2421171394090": { + "balance": "0x2d4ca05e2b43ca80000" }, - "ac52b77e15664814f39e4f271be641308d91d6cc": { - "balance": "220000000000000000000" + "0xac52b77e15664814f39e4f271be641308d91d6cc": { + "balance": "0xbed1d0263d9f00000" }, - "99c883258546cc7e4e971f522e389918da5ea63a": { - "balance": "4000000000000000000000" + "0x99c883258546cc7e4e971f522e389918da5ea63a": { + "balance": "0xd8d726b7177a800000" }, - "aa16269aac9c0d803068d82fc79151dadd334b66": { - "balance": "4000000000000000000000" + "0xaa16269aac9c0d803068d82fc79151dadd334b66": { + "balance": "0xd8d726b7177a800000" }, - "7c9a110cb11f2598b2b20e2ca400325e41e9db33": { - "balance": "26000000000000000000000" + "0x7c9a110cb11f2598b2b20e2ca400325e41e9db33": { + "balance": "0x581767ba6189c400000" }, - "583e83ba55e67e13e0e76f8392d873cd21fbf798": { - "balance": "20000000000000000000" + "0x583e83ba55e67e13e0e76f8392d873cd21fbf798": { + "balance": "0x1158e460913d00000" }, - "555ebe84daa42ba256ea789105cec4b693f12f18": { - "balance": "100000000000000000000" + "0x555ebe84daa42ba256ea789105cec4b693f12f18": { + "balance": "0x56bc75e2d63100000" }, - "978c430ce4359b06bc2cdf5c2985fc950e50d5c8": { - "balance": "480000000000000000000" + "0x978c430ce4359b06bc2cdf5c2985fc950e50d5c8": { + "balance": "0x1a055690d9db800000" }, - "dc1eb9b6e64351f56424509645f83e79eee76cf4": { - "balance": "4000000000000000000000" + "0xdc1eb9b6e64351f56424509645f83e79eee76cf4": { + "balance": "0xd8d726b7177a800000" }, - "5b290c01967c812e4dc4c90b174c1b4015bae71e": { - "balance": "149946000000000000000" + "0x5b290c01967c812e4dc4c90b174c1b4015bae71e": { + "balance": "0x820eb348d52b90000" }, - "e7d213947fcb904ad738480b1eed2f5c329f27e8": { - "balance": "18718000000000000000" + "0xe7d213947fcb904ad738480b1eed2f5c329f27e8": { + "balance": "0x103c3b1d3e9c30000" }, - "c517d0315c878813c717e18cafa1eab2654e01da": { - "balance": "10000000000000000000000" + "0xc517d0315c878813c717e18cafa1eab2654e01da": { + "balance": "0x21e19e0c9bab2400000" }, - "7e972a8a7c2a44c93b21436c38d21b9252c345fe": { - "balance": "1790000000000000000000" + "0x7e972a8a7c2a44c93b21436c38d21b9252c345fe": { + "balance": "0x61093d7c2c6d380000" }, - "9cb28ac1a20a106f7f373692c5ce4c73f13732a1": { - "balance": "1000000000000000000000" + "0x9cb28ac1a20a106f7f373692c5ce4c73f13732a1": { + "balance": "0x3635c9adc5dea00000" }, - "14ab164b3b524c82d6abfbc0de831126ae8d1375": { - "balance": "2000000000000000000000" + "0x14ab164b3b524c82d6abfbc0de831126ae8d1375": { + "balance": "0x6c6b935b8bbd400000" }, - "d46f8223452982a1eea019a8816efc2d6fc00768": { - "balance": "137000000000000000000" + "0xd46f8223452982a1eea019a8816efc2d6fc00768": { + "balance": "0x76d41c62494840000" }, - "5cdc4708f14f40dcc15a795f7dc8cb0b7faa9e6e": { - "balance": "537000000000000000000" + "0x5cdc4708f14f40dcc15a795f7dc8cb0b7faa9e6e": { + "balance": "0x1d1c5f3eda20c40000" }, - "66fdc9fee351fa1538eb0d87d819fcf09e7c106a": { - "balance": "6016500000000000000000" + "0x66fdc9fee351fa1538eb0d87d819fcf09e7c106a": { + "balance": "0x14627b5d93781b20000" }, - "e7be82c6593c1eeddd2ae0b15001ff201ab57b2f": { - "balance": "19100000000000000000" + "0xe7be82c6593c1eeddd2ae0b15001ff201ab57b2f": { + "balance": "0x10910d4cdc9f60000" }, - "47d20e6ae4cad3f829eac07e5ac97b66fdd56cf5": { - "balance": "1000000000000000000000" + "0x47d20e6ae4cad3f829eac07e5ac97b66fdd56cf5": { + "balance": "0x3635c9adc5dea00000" }, - "0f2d8daf04b5414a0261f549ff6477b80f2f1d07": { - "balance": "200000000000000000000000" + "0x0f2d8daf04b5414a0261f549ff6477b80f2f1d07": { + "balance": "0x2a5a058fc295ed000000" }, - "84bfcef0491a0ae0694b37ceac024584f2aa0467": { - "balance": "1999944000000000000000" + "0x84bfcef0491a0ae0694b37ceac024584f2aa0467": { + "balance": "0x6c6acc67d7b1d40000" }, - "ec5feafe210c12bfc9a5d05925a123f1e73fbef8": { - "balance": "456000000000000000000000" + "0xec5feafe210c12bfc9a5d05925a123f1e73fbef8": { + "balance": "0x608fcf3d88748d000000" }, - "7023c70956e04a92d70025aad297b539af355869": { - "balance": "2000000000000000000000" + "0x7023c70956e04a92d70025aad297b539af355869": { + "balance": "0x6c6b935b8bbd400000" }, - "d66ddf1159cf22fd8c7a4bc8d5807756d433c43e": { - "balance": "2200000000000000000000" + "0xd66ddf1159cf22fd8c7a4bc8d5807756d433c43e": { + "balance": "0x77432217e683600000" }, - "d0638ea57189a6a699024ad78c71d939c1c2ff8c": { - "balance": "2632000000000000000000" + "0xd0638ea57189a6a699024ad78c71d939c1c2ff8c": { + "balance": "0x8eae566710fc200000" }, - "70d25ed2c8ada59c088cf70dd22bf2db93acc18a": { - "balance": "1056600000000000000000" + "0x70d25ed2c8ada59c088cf70dd22bf2db93acc18a": { + "balance": "0x39474545e4adbc0000" }, - "a4875928458ec2005dbb578c5cd33580f0cf1452": { - "balance": "1000000000000000000000" + "0xa4875928458ec2005dbb578c5cd33580f0cf1452": { + "balance": "0x3635c9adc5dea00000" }, - "b5ad5157dda921e6bafacd9086ae73ae1f611d3f": { - "balance": "2000000000000000000000" + "0xb5ad5157dda921e6bafacd9086ae73ae1f611d3f": { + "balance": "0x6c6b935b8bbd400000" }, - "c493489e56c3bdd829007dc2f956412906f76bfa": { - "balance": "48968000000000000000" + "0xc493489e56c3bdd829007dc2f956412906f76bfa": { + "balance": "0x2a791488e71540000" }, - "c57612de91110c482e6f505bcd23f3c5047d1d61": { - "balance": "3580000000000000000000" + "0xc57612de91110c482e6f505bcd23f3c5047d1d61": { + "balance": "0xc2127af858da700000" }, - "9b18478655a4851cc906e660feac61f7f4c8bffc": { - "balance": "4174120000000000000000" + "0x9b18478655a4851cc906e660feac61f7f4c8bffc": { + "balance": "0xe2478d38907d840000" }, - "b21b7979bf7c5ca01fa82dd640b41c39e6c6bc75": { - "balance": "1999944000000000000000" + "0xb21b7979bf7c5ca01fa82dd640b41c39e6c6bc75": { + "balance": "0x6c6acc67d7b1d40000" }, - "a9d4a2bcbe5b9e0869d70f0fe2e1d6aacd45edc5": { - "balance": "198800000000000000000" + "0xa9d4a2bcbe5b9e0869d70f0fe2e1d6aacd45edc5": { + "balance": "0xac6e77ab663a80000" }, - "6f29bb375be5ed34ed999bb830ee2957dde76d16": { - "balance": "2000000000000000000000" + "0x6f29bb375be5ed34ed999bb830ee2957dde76d16": { + "balance": "0x6c6b935b8bbd400000" }, - "a006268446643ec5e81e7acb3f17f1c351ee2ed9": { - "balance": "4000000000000000000000" + "0xa006268446643ec5e81e7acb3f17f1c351ee2ed9": { + "balance": "0xd8d726b7177a800000" }, - "42ddd014dc52bfbcc555325a40b516f4866a1dd3": { - "balance": "2000000000000000000000" + "0x42ddd014dc52bfbcc555325a40b516f4866a1dd3": { + "balance": "0x6c6b935b8bbd400000" }, - "d6d6776958ee23143a81adadeb08382009e996c2": { - "balance": "3000000000000000000000" + "0xd6d6776958ee23143a81adadeb08382009e996c2": { + "balance": "0xa2a15d09519be00000" }, - "d34e03d36a2bd4d19a5fa16218d1d61e3ffa0b15": { - "balance": "320000000000000000000" + "0xd34e03d36a2bd4d19a5fa16218d1d61e3ffa0b15": { + "balance": "0x1158e460913d000000" }, - "dac0c177f11c5c3e3e78f2efd663d13221488574": { - "balance": "1000000000000000000000" + "0xdac0c177f11c5c3e3e78f2efd663d13221488574": { + "balance": "0x3635c9adc5dea00000" }, - "814135da8f9811075783bf1ab67062af8d3e9f40": { - "balance": "20000000000000000000" + "0x814135da8f9811075783bf1ab67062af8d3e9f40": { + "balance": "0x1158e460913d00000" }, - "7c3eb713c4c9e0381cd8154c7c9a7db8645cde17": { - "balance": "200000000000000000000" + "0x7c3eb713c4c9e0381cd8154c7c9a7db8645cde17": { + "balance": "0xad78ebc5ac6200000" }, - "f49c47b3efd86b6e6a5bc9418d1f9fec814b69ef": { - "balance": "20000000000000000000000" + "0xf49c47b3efd86b6e6a5bc9418d1f9fec814b69ef": { + "balance": "0x43c33c1937564800000" }, - "35f1da127b83376f1b88c82a3359f67a5e67dd50": { - "balance": "1910000000000000000000" + "0x35f1da127b83376f1b88c82a3359f67a5e67dd50": { + "balance": "0x678a932062e4180000" }, - "44dfba50b829becc5f4f14d1b04aab3320a295e5": { - "balance": "1000000000000000000000" + "0x44dfba50b829becc5f4f14d1b04aab3320a295e5": { + "balance": "0x3635c9adc5dea00000" }, - "0b924df007e9c0878417cfe63b976ea1a382a897": { - "balance": "40000000000000000000" + "0x0b924df007e9c0878417cfe63b976ea1a382a897": { + "balance": "0x22b1c8c1227a00000" }, - "82438fd2b32a9bdd674b49d8cc5fa2eff9781847": { - "balance": "20000000000000000000" + "0x82438fd2b32a9bdd674b49d8cc5fa2eff9781847": { + "balance": "0x1158e460913d00000" }, - "794529d09d017271359730027075b87ad83dae6e": { - "balance": "310000000000000000000" + "0x794529d09d017271359730027075b87ad83dae6e": { + "balance": "0x10ce1d3d8cb3180000" }, - "f4b49100757772f33c177b9a76ba95226c8f3dd8": { - "balance": "6700000000000000000000" + "0xf4b49100757772f33c177b9a76ba95226c8f3dd8": { + "balance": "0x16b352da5e0ed300000" }, - "8563c49361b625e768771c96151dbfbd1c906976": { - "balance": "2000000000000000000000" + "0x8563c49361b625e768771c96151dbfbd1c906976": { + "balance": "0x6c6b935b8bbd400000" }, - "0b9df80fbe232009dacf0aa8cac59376e2476203": { - "balance": "2000000000000000000000" + "0x0b9df80fbe232009dacf0aa8cac59376e2476203": { + "balance": "0x6c6b935b8bbd400000" }, - "149b6dbde632c19f5af47cb493114bebd9b03c1f": { - "balance": "12000000000000000000000" + "0x149b6dbde632c19f5af47cb493114bebd9b03c1f": { + "balance": "0x28a857425466f800000" }, - "d7a1431ee453d1e49a0550d1256879b4f5d10201": { - "balance": "1670000000000000000000" + "0xd7a1431ee453d1e49a0550d1256879b4f5d10201": { + "balance": "0x5a87e7d7f5f6580000" }, - "1d37616b793f94911838ac8e19ee9449df921ec4": { - "balance": "1500000000000000000000" + "0x1d37616b793f94911838ac8e19ee9449df921ec4": { + "balance": "0x5150ae84a8cdf00000" }, - "d6670c036df754be43dadd8f50feea289d061fd6": { - "balance": "5988459000000000000000" + "0xd6670c036df754be43dadd8f50feea289d061fd6": { + "balance": "0x144a2903448cef78000" }, - "02778e390fa17510a3428af2870c4273547d386c": { - "balance": "16163700000000000000000" + "0x02778e390fa17510a3428af2870c4273547d386c": { + "balance": "0x36c3c66170c0d720000" }, - "b89f4632df5909e58b2a9964f74feb9a3b01e0c5": { - "balance": "21406707000000000000000" + "0xb89f4632df5909e58b2a9964f74feb9a3b01e0c5": { + "balance": "0x48875bcc6e7cbeb8000" }, - "76c27535bcb59ce1fa2d8c919cabeb4a6bba01d1": { - "balance": "2000000000000000000000" + "0x76c27535bcb59ce1fa2d8c919cabeb4a6bba01d1": { + "balance": "0x6c6b935b8bbd400000" }, - "36bf43ff35df90908824336c9b31ce33067e2f50": { - "balance": "346837200000000000000000" + "0x36bf43ff35df90908824336c9b31ce33067e2f50": { + "balance": "0x49721510c1c1e9480000" }, - "b53bcb174c2518348b818aece020364596466ba3": { - "balance": "2000000000000000000000" + "0xb53bcb174c2518348b818aece020364596466ba3": { + "balance": "0x6c6b935b8bbd400000" }, - "b4dd460cd016725a64b22ea4f8e06e06674e033e": { - "balance": "5370000000000000000000" + "0xb4dd460cd016725a64b22ea4f8e06e06674e033e": { + "balance": "0x1231bb8748547a80000" }, - "cda1741109c0265b3fb2bf8d5ec9c2b8a3346b63": { - "balance": "20000000000000000000" + "0xcda1741109c0265b3fb2bf8d5ec9c2b8a3346b63": { + "balance": "0x1158e460913d00000" }, - "feb8b8e2af716ae41fc7c04bcf29540156461e6b": { - "balance": "1555396000000000000000" + "0xfeb8b8e2af716ae41fc7c04bcf29540156461e6b": { + "balance": "0x545174a528a77a0000" }, - "a49f523aa51364cbc7d995163d34eb590ded2f08": { - "balance": "2659160000000000000000" + "0xa49f523aa51364cbc7d995163d34eb590ded2f08": { + "balance": "0x9027421b2a9fbc0000" }, - "a7e74f0bdb278ff0a805a648618ec52b166ff1be": { - "balance": "100000000000000000000" + "0xa7e74f0bdb278ff0a805a648618ec52b166ff1be": { + "balance": "0x56bc75e2d63100000" }, - "5ead29037a12896478b1296ab714e9cb95428c81": { - "balance": "71500000000000000000" + "0x5ead29037a12896478b1296ab714e9cb95428c81": { + "balance": "0x3e043072d406e0000" }, - "cdecf5675433cdb0c2e55a68db5d8bbe78419dd2": { - "balance": "20000000000000000000" + "0xcdecf5675433cdb0c2e55a68db5d8bbe78419dd2": { + "balance": "0x1158e460913d00000" }, - "c24ccebc2344cce56417fb684cf81613f0f4b9bd": { - "balance": "1550000000000000000000" + "0xc24ccebc2344cce56417fb684cf81613f0f4b9bd": { + "balance": "0x54069233bf7f780000" }, - "5a70106f20d63f875265e48e0d35f00e17d02bc9": { - "balance": "20000000000000000000" + "0x5a70106f20d63f875265e48e0d35f00e17d02bc9": { + "balance": "0x1158e460913d00000" }, - "2606c3b3b4ca1b091498602cb1978bf3b95221c0": { - "balance": "400000000000000000000" + "0x2606c3b3b4ca1b091498602cb1978bf3b95221c0": { + "balance": "0x15af1d78b58c400000" }, - "1ad4563ea5786be1159935abb0f1d5879c3e7372": { - "balance": "6000000000000000000000" + "0x1ad4563ea5786be1159935abb0f1d5879c3e7372": { + "balance": "0x14542ba12a337c00000" }, - "b782bfd1e2de70f467646f9bc09ea5b1fcf450af": { - "balance": "267400000000000000000" + "0xb782bfd1e2de70f467646f9bc09ea5b1fcf450af": { + "balance": "0xe7eeba3410b740000" }, - "649a2b9879cd8fb736e6703b0c7747849796f10f": { - "balance": "7358102000000000000000" + "0x649a2b9879cd8fb736e6703b0c7747849796f10f": { + "balance": "0x18ee22da01ad34f0000" }, - "1cc1d3c14f0fb8640e36724dc43229d2ea7a1e48": { - "balance": "1700000000000000000000" + "0x1cc1d3c14f0fb8640e36724dc43229d2ea7a1e48": { + "balance": "0x5c283d410394100000" }, - "824b3c3c443e19295d7ef6faa7f374a4798486a8": { - "balance": "20000000000000000000" + "0x824b3c3c443e19295d7ef6faa7f374a4798486a8": { + "balance": "0x1158e460913d00000" }, - "a7758cecb60e8f614cce96137ef72b4fbd07774a": { - "balance": "500000000000000000000" + "0xa7758cecb60e8f614cce96137ef72b4fbd07774a": { + "balance": "0x1b1ae4d6e2ef500000" }, - "981f712775c0dad97518ffedcb47b9ad1d6c2762": { - "balance": "6685000000000000000000" + "0x981f712775c0dad97518ffedcb47b9ad1d6c2762": { + "balance": "0x16a6502f15a1e540000" }, - "26e801b62c827191dd68d31a011990947fd0ebe0": { - "balance": "20000000000000000000" + "0x26e801b62c827191dd68d31a011990947fd0ebe0": { + "balance": "0x1158e460913d00000" }, - "95447046313b2f3a5e19b948fd3b8bedc82c717c": { - "balance": "500000000000000000000" + "0x95447046313b2f3a5e19b948fd3b8bedc82c717c": { + "balance": "0x1b1ae4d6e2ef500000" }, - "0b701101a4109f9cb360dc57b77442673d5e5983": { - "balance": "2000000000000000000000" + "0x0b701101a4109f9cb360dc57b77442673d5e5983": { + "balance": "0x6c6b935b8bbd400000" }, - "5b25cae86dcafa2a60e7723631fc5fa49c1ad87d": { - "balance": "2491200000000000000000" + "0x5b25cae86dcafa2a60e7723631fc5fa49c1ad87d": { + "balance": "0x870c58510e85200000" }, - "f73ac46c203be1538111b151ec8220c786d84144": { - "balance": "294515000000000000000" + "0xf73ac46c203be1538111b151ec8220c786d84144": { + "balance": "0xff7377817b82b8000" }, - "e8c3d3b0e17f97d1e756e684f94e1470f99c95a1": { - "balance": "400000000000000000000" + "0xe8c3d3b0e17f97d1e756e684f94e1470f99c95a1": { + "balance": "0x15af1d78b58c400000" }, - "8c900a8236b08c2b65405d39d75f20062a7561fd": { - "balance": "1640000000000000000000" + "0x8c900a8236b08c2b65405d39d75f20062a7561fd": { + "balance": "0x58e7926ee858a00000" }, - "43898c49a34d509bfed4f76041ee91caf3aa6aa5": { - "balance": "300000000000000000000" + "0x43898c49a34d509bfed4f76041ee91caf3aa6aa5": { + "balance": "0x1043561a8829300000" }, - "c85325eab2a59b3ed863c86a5f2906a04229ffa9": { - "balance": "465600000000000000000" + "0xc85325eab2a59b3ed863c86a5f2906a04229ffa9": { + "balance": "0x193d7f7d253de00000" }, - "4a430170152de5172633dd8262d107a0afd96a0f": { - "balance": "3160000000000000000000" + "0x4a430170152de5172633dd8262d107a0afd96a0f": { + "balance": "0xab4dcf399a3a600000" }, - "6e0ee70612c976287d499ddfa6c0dcc12c06deea": { - "balance": "129980000000000000000" + "0x6e0ee70612c976287d499ddfa6c0dcc12c06deea": { + "balance": "0x70bd5b95621460000" }, - "21c07380484f6cbc8724ad32bc864c3b5ad500b7": { - "balance": "1000000000000000000000" + "0x21c07380484f6cbc8724ad32bc864c3b5ad500b7": { + "balance": "0x3635c9adc5dea00000" }, - "ff5162f2354dc492c75fd6e3a107268660eecb47": { - "balance": "1700000000000000000000" + "0xff5162f2354dc492c75fd6e3a107268660eecb47": { + "balance": "0x5c283d410394100000" }, - "8845e9f90e96336bac3c616be9d88402683e004c": { - "balance": "2000000000000000000000" + "0x8845e9f90e96336bac3c616be9d88402683e004c": { + "balance": "0x6c6b935b8bbd400000" }, - "f23c7b0cb8cd59b82bd890644a57daf40c85e278": { - "balance": "50038000000000000000" + "0xf23c7b0cb8cd59b82bd890644a57daf40c85e278": { + "balance": "0x2b66aafe326ff0000" }, - "1784948bf99848c89e445638504dd698271b5924": { - "balance": "6037580000000000000000" + "0x1784948bf99848c89e445638504dd698271b5924": { + "balance": "0x1474c410d87baee0000" }, - "b39f4c00b2630cab7db7295ef43d47d501e17fd7": { - "balance": "4000000000000000000000" + "0xb39f4c00b2630cab7db7295ef43d47d501e17fd7": { + "balance": "0xd8d726b7177a800000" }, - "3fb7d197b3ba4fe045efc23d50a14585f558d9b2": { - "balance": "20000000000000000000" + "0x3fb7d197b3ba4fe045efc23d50a14585f558d9b2": { + "balance": "0x1158e460913d00000" }, - "bd043b67c63e60f841ccca15b129cdfe6590c8e3": { - "balance": "200000000000000000000" + "0xbd043b67c63e60f841ccca15b129cdfe6590c8e3": { + "balance": "0xad78ebc5ac6200000" }, - "86ca0145957e6b0dfe36875fbe7a0dec55e17a28": { - "balance": "10000000000000000000000" + "0x86ca0145957e6b0dfe36875fbe7a0dec55e17a28": { + "balance": "0x21e19e0c9bab2400000" }, - "dae7201eab8c063302930d693929d07f95e71962": { - "balance": "2687370000000000000000" + "0xdae7201eab8c063302930d693929d07f95e71962": { + "balance": "0x91aec028b419810000" }, - "cc034985d3f28c2d39b1a34bced4d3b2b6ca234e": { - "balance": "182000000000000000000" + "0xcc034985d3f28c2d39b1a34bced4d3b2b6ca234e": { + "balance": "0x9ddc1e3b901180000" }, - "40e0dbf3efef9084ea1cd7e503f40b3b4a8443f6": { - "balance": "4000000000000000000000" + "0x40e0dbf3efef9084ea1cd7e503f40b3b4a8443f6": { + "balance": "0xd8d726b7177a800000" }, - "b1896a37e5d8825a2d01765ae5de629977de8352": { - "balance": "200000000000000000000" + "0xb1896a37e5d8825a2d01765ae5de629977de8352": { + "balance": "0xad78ebc5ac6200000" }, - "d9f547f2c1de0ed98a53d161df57635dd21a00bd": { - "balance": "98500000000000000000" + "0xd9f547f2c1de0ed98a53d161df57635dd21a00bd": { + "balance": "0x556f64c1fe7fa0000" }, - "2fea1b2f834f02fc54333f8a809f0438e5870aa9": { - "balance": "20200000000000000000" + "0x2fea1b2f834f02fc54333f8a809f0438e5870aa9": { + "balance": "0x11854d0f9cee40000" }, - "68b31836a30a016ada157b638ac15da73f18cfde": { - "balance": "26000000000000000000" + "0x68b31836a30a016ada157b638ac15da73f18cfde": { + "balance": "0x168d28e3f00280000" }, - "bc967fe4418c18b99858966d870678dca2b88879": { - "balance": "8740000000000000000000" + "0xbc967fe4418c18b99858966d870678dca2b88879": { + "balance": "0x1d9cbdd8d7ed2100000" }, - "16bae5d24eff91778cd98b4d3a1cc3162f44aa77": { - "balance": "401100000000000000000" + "0x16bae5d24eff91778cd98b4d3a1cc3162f44aa77": { + "balance": "0x15be6174e1912e0000" }, - "f476e1267f86247cc908816f2e7ad5388c952db0": { - "balance": "4000000000000000000000" + "0xf476e1267f86247cc908816f2e7ad5388c952db0": { + "balance": "0xd8d726b7177a800000" }, - "0203ae01d4c41cae1865e04b1f5b53cdfaecae31": { - "balance": "1006054000000000000000" + "0x0203ae01d4c41cae1865e04b1f5b53cdfaecae31": { + "balance": "0x3689cdceb28cd70000" }, - "bd4bd5b122d8ef7b7c8f0667450320db2116142e": { - "balance": "600000000000000000000" + "0xbd4bd5b122d8ef7b7c8f0667450320db2116142e": { + "balance": "0x2086ac351052600000" }, - "a394ad4fd9e6530e6f5c53faecbede81cb172da1": { - "balance": "5600000000000000000000" + "0xa394ad4fd9e6530e6f5c53faecbede81cb172da1": { + "balance": "0x12f939c99edab800000" }, - "3a9960266df6492063538a99f487c950a3a5ec9e": { - "balance": "24000000000000000000000" + "0x3a9960266df6492063538a99f487c950a3a5ec9e": { + "balance": "0x5150ae84a8cdf000000" }, - "d8069f84b521493f4715037f3226b25f33b60586": { - "balance": "1910000000000000000000" + "0xd8069f84b521493f4715037f3226b25f33b60586": { + "balance": "0x678a932062e4180000" }, - "136c834bf111326d207395295b2e583ea7f33572": { - "balance": "100000000000000000000" + "0x136c834bf111326d207395295b2e583ea7f33572": { + "balance": "0x56bc75e2d63100000" }, - "c5c73d61cce7c8fe4c8fce29f39092cd193e0fff": { - "balance": "8000000000000000000000" + "0xc5c73d61cce7c8fe4c8fce29f39092cd193e0fff": { + "balance": "0x1b1ae4d6e2ef5000000" }, - "3cfbf066565970639e130df2a7d16b0e14d6091c": { - "balance": "1700000000000000000000" + "0x3cfbf066565970639e130df2a7d16b0e14d6091c": { + "balance": "0x5c283d410394100000" }, - "61b905de663fc17386523b3a28e2f7d037a655cd": { - "balance": "500000000000000000000" + "0x61b905de663fc17386523b3a28e2f7d037a655cd": { + "balance": "0x1b1ae4d6e2ef500000" }, - "fda0ce15330707f10bce3201172d2018b9ddea74": { - "balance": "51900000000000000000" + "0xfda0ce15330707f10bce3201172d2018b9ddea74": { + "balance": "0x2d041d705a2c60000" }, - "f7fc45abf76f5088e2e5b5a8d132f28a4d4ec1c0": { - "balance": "2000000000000000000000" + "0xf7fc45abf76f5088e2e5b5a8d132f28a4d4ec1c0": { + "balance": "0x6c6b935b8bbd400000" }, - "c3db9fb6f46c480af34465d79753b4e2b74a67ce": { - "balance": "20000000000000000000000" + "0xc3db9fb6f46c480af34465d79753b4e2b74a67ce": { + "balance": "0x43c33c1937564800000" }, - "ebe46cc3c34c32f5add6c3195bb486c4713eb918": { - "balance": "1000000000000000000000" + "0xebe46cc3c34c32f5add6c3195bb486c4713eb918": { + "balance": "0x3635c9adc5dea00000" }, - "91d2a9ee1a6db20f5317cca7fbe2313895db8ef8": { - "balance": "8499600000000000000000" + "0x91d2a9ee1a6db20f5317cca7fbe2313895db8ef8": { + "balance": "0x1ccc3a52f306e280000" }, - "c4cc45a2b63c27c0b4429e58cd42da59be739bd6": { - "balance": "1000000000000000000000" + "0xc4cc45a2b63c27c0b4429e58cd42da59be739bd6": { + "balance": "0x3635c9adc5dea00000" }, - "a43b81f99356c0af141a03010d77bd042c71c1ee": { - "balance": "2000000000000000000000" + "0xa43b81f99356c0af141a03010d77bd042c71c1ee": { + "balance": "0x6c6b935b8bbd400000" }, - "4c45d4c9a725d11112bfcbca00bf31186ccaadb7": { - "balance": "400000000000000000000" + "0x4c45d4c9a725d11112bfcbca00bf31186ccaadb7": { + "balance": "0x15af1d78b58c400000" }, - "bf9f271f7a7e12e36dd2fe9facebf385fe6142bd": { - "balance": "62760000000000000000" + "0xbf9f271f7a7e12e36dd2fe9facebf385fe6142bd": { + "balance": "0x366f84f7bb7840000" }, - "e0ce80a461b648a501fd0b824690c8868b0e4de8": { - "balance": "500000000000000000000" + "0xe0ce80a461b648a501fd0b824690c8868b0e4de8": { + "balance": "0x1b1ae4d6e2ef500000" }, - "a1f7dde1d738d8cd679ea1ee965bee224be7d04d": { - "balance": "1127000000000000000000" + "0xa1f7dde1d738d8cd679ea1ee965bee224be7d04d": { + "balance": "0x3d184450e5e93c0000" }, - "7f1c81ee1697fc144b7c0be5493b5615ae7fddca": { - "balance": "500200000000000000000" + "0x7f1c81ee1697fc144b7c0be5493b5615ae7fddca": { + "balance": "0x1b1dab61d3aa640000" }, - "b508f987b2de34ae4cf193de85bff61389621f88": { - "balance": "6000000000000000000000" + "0xb508f987b2de34ae4cf193de85bff61389621f88": { + "balance": "0x14542ba12a337c00000" }, - "5f26cf34599bc36ea67b9e7a9f9b4330c9d542a3": { - "balance": "1000000000000000000000" + "0x5f26cf34599bc36ea67b9e7a9f9b4330c9d542a3": { + "balance": "0x3635c9adc5dea00000" }, - "d02108d2ae3cab10cbcf1657af223e027c8210f6": { - "balance": "2000140000000000000000" + "0xd02108d2ae3cab10cbcf1657af223e027c8210f6": { + "balance": "0x6c6d84bccdd9ce0000" }, - "952183cfd38e352e579d36decec5b18450f7fba0": { - "balance": "2000000000000000000000" + "0x952183cfd38e352e579d36decec5b18450f7fba0": { + "balance": "0x6c6b935b8bbd400000" }, - "eb90c793b3539761e1c814a29671148692193eb4": { - "balance": "12000000000000000000000" + "0xeb90c793b3539761e1c814a29671148692193eb4": { + "balance": "0x28a857425466f800000" }, - "1076212d4f758c8ec7121c1c7d74254926459284": { - "balance": "35000056000000000000000" + "0x1076212d4f758c8ec7121c1c7d74254926459284": { + "balance": "0x7695b59b5c17b4c0000" }, - "f05ceeab65410564709951773c8445ad9f4ec797": { - "balance": "299982000000000000000" + "0xf05ceeab65410564709951773c8445ad9f4ec797": { + "balance": "0x10431627a0933b0000" }, - "05361d8eb6941d4e90fb7e1418a95a32d5257732": { - "balance": "20000000000000000000" + "0x05361d8eb6941d4e90fb7e1418a95a32d5257732": { + "balance": "0x1158e460913d00000" }, - "a5783bf33432ff82ac498985d7d460ae67ec3673": { - "balance": "1820000000000000000000" + "0xa5783bf33432ff82ac498985d7d460ae67ec3673": { + "balance": "0x62a992e53a0af00000" }, - "b1cd4bdfd104489a026ec99d597307a04279f173": { - "balance": "20000000000000000000000" + "0xb1cd4bdfd104489a026ec99d597307a04279f173": { + "balance": "0x43c33c1937564800000" }, - "876c3f218b4776df3ca9dbfb270de152d94ed252": { - "balance": "100000000000000000000" + "0x876c3f218b4776df3ca9dbfb270de152d94ed252": { + "balance": "0x56bc75e2d63100000" }, - "8a36869ad478997cbf6d8924d20a3c8018e9855b": { - "balance": "20000000000000000000" + "0x8a36869ad478997cbf6d8924d20a3c8018e9855b": { + "balance": "0x1158e460913d00000" }, - "fb3fe09bb836861529d7518da27635f538505615": { - "balance": "1399904000000000000000" + "0xfb3fe09bb836861529d7518da27635f538505615": { + "balance": "0x4be39216fda0700000" }, - "d093e829819fd2e25b973800bb3d5841dd152d05": { - "balance": "4000000000000000000000" + "0xd093e829819fd2e25b973800bb3d5841dd152d05": { + "balance": "0xd8d726b7177a800000" }, - "126d91f7ad86debb0557c612ca276eb7f96d00a1": { - "balance": "100000000000000000000" + "0x126d91f7ad86debb0557c612ca276eb7f96d00a1": { + "balance": "0x56bc75e2d63100000" }, - "2a81d27cb6d4770ff4f3c4a3ba18e5e57f07517c": { - "balance": "2000000000000000000000" + "0x2a81d27cb6d4770ff4f3c4a3ba18e5e57f07517c": { + "balance": "0x6c6b935b8bbd400000" }, - "c4f7b13ac6d4eb4db3d4e6a252af8a07bd5957da": { - "balance": "200000000000000000000" + "0xc4f7b13ac6d4eb4db3d4e6a252af8a07bd5957da": { + "balance": "0xad78ebc5ac6200000" }, - "305d26c10bdc103f6b9c21272eb7cb2d9108c47e": { - "balance": "500000000000000000000" + "0x305d26c10bdc103f6b9c21272eb7cb2d9108c47e": { + "balance": "0x1b1ae4d6e2ef500000" }, - "d0d0a2ad45f59a9dccc695d85f25ca46ed31a5a3": { - "balance": "840000000000000000000" + "0xd0d0a2ad45f59a9dccc695d85f25ca46ed31a5a3": { + "balance": "0x2d89577d7d40200000" }, - "522323aad71dbc96d85af90f084b99c3f09decb7": { - "balance": "6000000000000000000000" + "0x522323aad71dbc96d85af90f084b99c3f09decb7": { + "balance": "0x14542ba12a337c00000" }, - "f43da3a4e3f5fab104ca9bc1a0f7f3bb4a56f351": { - "balance": "1999944000000000000000" + "0xf43da3a4e3f5fab104ca9bc1a0f7f3bb4a56f351": { + "balance": "0x6c6acc67d7b1d40000" }, - "a2dc65ee256b59a5bd7929774f904b358df3ada1": { - "balance": "21319600000000000000000" + "0xa2dc65ee256b59a5bd7929774f904b358df3ada1": { + "balance": "0x483bce28beb09f80000" }, - "f382df583155d8548f3f93440cd5f68cb79d6026": { - "balance": "266619800000000000000000" + "0xf382df583155d8548f3f93440cd5f68cb79d6026": { + "balance": "0x38757d027fc1fd5c0000" }, - "0c967e3061b87a753e84507eb60986782c8f3013": { - "balance": "100000000000000000000" + "0x0c967e3061b87a753e84507eb60986782c8f3013": { + "balance": "0x56bc75e2d63100000" }, - "a3a262afd2936819230892fde84f2d5a594ab283": { - "balance": "1880000000000000000000" + "0xa3a262afd2936819230892fde84f2d5a594ab283": { + "balance": "0x65ea3db75546600000" }, - "93868ddb2a794d02ebda2fa4807c76e3609858dc": { - "balance": "2027851000000000000000" + "0x93868ddb2a794d02ebda2fa4807c76e3609858dc": { + "balance": "0x6dee15fc7c24a78000" }, - "cd35ff010ec501a721a1b2f07a9ca5877dfcf95a": { - "balance": "4011000000000000000000" + "0xcd35ff010ec501a721a1b2f07a9ca5877dfcf95a": { + "balance": "0xd96fce90cfabcc0000" }, - "5824a7e22838277134308c5f4b50dab65e43bb31": { - "balance": "6000000000000000000000" + "0x5824a7e22838277134308c5f4b50dab65e43bb31": { + "balance": "0x14542ba12a337c00000" }, - "7f7a3a21b3f5a65d81e0fcb7d52dd00a1aa36dba": { - "balance": "100000000000000000000" + "0x7f7a3a21b3f5a65d81e0fcb7d52dd00a1aa36dba": { + "balance": "0x56bc75e2d63100000" }, - "30513fca9f36fd788cfea7a340e86df98294a244": { - "balance": "447000000000000000000" + "0x30513fca9f36fd788cfea7a340e86df98294a244": { + "balance": "0x183b5f03b1479c0000" }, - "283e6252b4efcf4654391acb75f903c59b78c5fb": { - "balance": "12000000000000000000000" + "0x283e6252b4efcf4654391acb75f903c59b78c5fb": { + "balance": "0x28a857425466f800000" }, - "eddbaafbc21be8f25562f1ed6d05d6afb58f02c2": { - "balance": "2000000000000000000000" + "0xeddbaafbc21be8f25562f1ed6d05d6afb58f02c2": { + "balance": "0x6c6b935b8bbd400000" }, - "0dcfe837ea1cf28c65fccec3bef1f84e59d150c0": { - "balance": "200000000000000000000" + "0x0dcfe837ea1cf28c65fccec3bef1f84e59d150c0": { + "balance": "0xad78ebc5ac6200000" }, - "828ba651cb930ed9787156299a3de44cd08b7212": { - "balance": "1337000000000000000000" + "0x828ba651cb930ed9787156299a3de44cd08b7212": { + "balance": "0x487a9a304539440000" }, - "cfd47493c9f89fe680bda5754dd7c9cfe7cb5bbe": { - "balance": "54508000000000000000" + "0xcfd47493c9f89fe680bda5754dd7c9cfe7cb5bbe": { + "balance": "0x2f473513448fe0000" }, - "0e89eddd3fa0d71d8ab0ff8da5580686e3d4f74f": { - "balance": "2000000000000000000000" + "0x0e89eddd3fa0d71d8ab0ff8da5580686e3d4f74f": { + "balance": "0x6c6b935b8bbd400000" }, - "205f5166f12440d85762c967d3ae86184f8f4d98": { - "balance": "432500000000000000000" + "0x205f5166f12440d85762c967d3ae86184f8f4d98": { + "balance": "0x177224aa844c720000" }, - "25dad495a11a86b9eeece1eeec805e57f157faff": { - "balance": "16000000000000000000000" + "0x25dad495a11a86b9eeece1eeec805e57f157faff": { + "balance": "0x3635c9adc5dea000000" }, - "6c84cba77c6db4f7f90ef13d5ee21e8cfc7f8314": { - "balance": "2000000000000000000000" + "0x6c84cba77c6db4f7f90ef13d5ee21e8cfc7f8314": { + "balance": "0x6c6b935b8bbd400000" }, - "91a787bc5196f34857fe0c372f4df376aaa76613": { - "balance": "2000000000000000000000" + "0x91a787bc5196f34857fe0c372f4df376aaa76613": { + "balance": "0x6c6b935b8bbd400000" }, - "b0d3c9872b85056ea0c0e6d1ecf7a77e3ce6ab85": { - "balance": "4999711000000000000000" + "0xb0d3c9872b85056ea0c0e6d1ecf7a77e3ce6ab85": { + "balance": "0x10f08eda8e555098000" }, - "6e4d2e39c8836629e5b487b1918a669aebdd9536": { - "balance": "1000000000000000000000" + "0x6e4d2e39c8836629e5b487b1918a669aebdd9536": { + "balance": "0x3635c9adc5dea00000" }, - "dc703a5f3794c84d6cb3544918cae14a35c3bd4f": { - "balance": "1850000000000000000000" + "0xdc703a5f3794c84d6cb3544918cae14a35c3bd4f": { + "balance": "0x6449e84e47a8a80000" }, - "47beb20f759100542aa93d41118b3211d664920e": { - "balance": "2000000000000000000000" + "0x47beb20f759100542aa93d41118b3211d664920e": { + "balance": "0x6c6b935b8bbd400000" }, - "5a7735007d70b06844da9901cdfadb11a2582c2f": { - "balance": "6000000000000000000000" + "0x5a7735007d70b06844da9901cdfadb11a2582c2f": { + "balance": "0x14542ba12a337c00000" }, - "aff107960b7ec34ed690b665024d60838c190f70": { - "balance": "500000000000000000000" + "0xaff107960b7ec34ed690b665024d60838c190f70": { + "balance": "0x1b1ae4d6e2ef500000" }, - "563a03ab9c56b600f6d25b660c21e16335517a75": { - "balance": "1000000000000000000000" + "0x563a03ab9c56b600f6d25b660c21e16335517a75": { + "balance": "0x3635c9adc5dea00000" }, - "a106465bbd19e1b6bce50d1b1157dc59095a3630": { - "balance": "2000000000000000000000" + "0xa106465bbd19e1b6bce50d1b1157dc59095a3630": { + "balance": "0x6c6b935b8bbd400000" }, - "ca9dec02841adf5cc920576a5187edd2bd434a18": { - "balance": "500000000000000000000" + "0xca9dec02841adf5cc920576a5187edd2bd434a18": { + "balance": "0x1b1ae4d6e2ef500000" }, - "572ac1aba0de23ae41a7cae1dc0842d8abfc103b": { - "balance": "1910000000000000000000" + "0x572ac1aba0de23ae41a7cae1dc0842d8abfc103b": { + "balance": "0x678a932062e4180000" }, - "5f74ed0e24ff80d9b2c4a44baa9975428cd6b935": { - "balance": "2980000000000000000000" + "0x5f74ed0e24ff80d9b2c4a44baa9975428cd6b935": { + "balance": "0xa18bcec34888100000" }, - "f2049532fd458a83ca1bff2eebacb6d5ca63f4a4": { - "balance": "3625693000000000000000" + "0xf2049532fd458a83ca1bff2eebacb6d5ca63f4a4": { + "balance": "0xc48c991dc1545c8000" }, - "cee699c0707a7836252b292f047ce8ad289b2f55": { - "balance": "324700000000000000000" + "0xcee699c0707a7836252b292f047ce8ad289b2f55": { + "balance": "0x119a1e21aa69560000" }, - "8b3696f3c60de32432a2e4c395ef0303b7e81e75": { - "balance": "30000000000000000000000" + "0x8b3696f3c60de32432a2e4c395ef0303b7e81e75": { + "balance": "0x65a4da25d3016c00000" }, - "13dee03e3799952d0738843d4be8fc0a803fb20e": { - "balance": "2000000000000000000000" + "0x13dee03e3799952d0738843d4be8fc0a803fb20e": { + "balance": "0x6c6b935b8bbd400000" }, - "c853215b9b9f2d2cd0741e585e987b5fb80c212e": { - "balance": "1550000000000000000000" + "0xc853215b9b9f2d2cd0741e585e987b5fb80c212e": { + "balance": "0x54069233bf7f780000" }, - "851c0d62be4635d4777e8035e37e4ba8517c6132": { - "balance": "500000000000000000000" + "0x851c0d62be4635d4777e8035e37e4ba8517c6132": { + "balance": "0x1b1ae4d6e2ef500000" }, - "a76b743f981b693072a131b22ba510965c2fefd7": { - "balance": "18200000000000000000" + "0xa76b743f981b693072a131b22ba510965c2fefd7": { + "balance": "0xfc936392801c0000" }, - "69bd25ade1a3346c59c4e930db2a9d715ef0a27a": { - "balance": "4000000000000000000000" + "0x69bd25ade1a3346c59c4e930db2a9d715ef0a27a": { + "balance": "0xd8d726b7177a800000" }, - "0fec4ee0d7ca180290b6bd20f9992342f60ff68d": { - "balance": "334383000000000000000" + "0x0fec4ee0d7ca180290b6bd20f9992342f60ff68d": { + "balance": "0x12207f0edce9718000" }, - "ccfd725760a68823ff1e062f4cc97e1360e8d997": { - "balance": "399800000000000000000" + "0xccfd725760a68823ff1e062f4cc97e1360e8d997": { + "balance": "0x15ac56edc4d12c0000" }, - "9f017706b830fb9c30efb0a09f506b9157457534": { - "balance": "2000000000000000000000" + "0x9f017706b830fb9c30efb0a09f506b9157457534": { + "balance": "0x6c6b935b8bbd400000" }, - "420fb86e7d2b51401fc5e8c72015decb4ef8fc2e": { - "balance": "1000000000000000000000" + "0x420fb86e7d2b51401fc5e8c72015decb4ef8fc2e": { + "balance": "0x3635c9adc5dea00000" }, - "cb7d2b8089e9312cc9aeaa2773f35308ec6c2a7b": { - "balance": "10000000000000000000000" + "0xcb7d2b8089e9312cc9aeaa2773f35308ec6c2a7b": { + "balance": "0x21e19e0c9bab2400000" }, - "6c822029218ac8e98a260c1e064029348839875b": { - "balance": "5010000000000000000000" + "0x6c822029218ac8e98a260c1e064029348839875b": { + "balance": "0x10f97b787e1e3080000" }, - "1c68a66138783a63c98cc675a9ec77af4598d35e": { - "balance": "50100000000000000000" + "0x1c68a66138783a63c98cc675a9ec77af4598d35e": { + "balance": "0x2b746f48f0f120000" }, - "f270792576f05d514493ffd1f5e84bec4b2df810": { - "balance": "1000000000000000000000" + "0xf270792576f05d514493ffd1f5e84bec4b2df810": { + "balance": "0x3635c9adc5dea00000" }, - "9191f94698210516cf6321a142070e20597674ed": { - "balance": "17194000000000000000" + "0x9191f94698210516cf6321a142070e20597674ed": { + "balance": "0xee9d5be6fc110000" }, - "c0ca3277942e7445874be31ceb902972714f1823": { - "balance": "250000000000000000000" + "0xc0ca3277942e7445874be31ceb902972714f1823": { + "balance": "0xd8d726b7177a80000" }, - "35e096120deaa5c1ecb1645e2ccb8b4edbd9299a": { - "balance": "500000000000000000000" + "0x35e096120deaa5c1ecb1645e2ccb8b4edbd9299a": { + "balance": "0x1b1ae4d6e2ef500000" }, - "e2bbf84641e3541f6c33e6ed683a635a70bde2ec": { - "balance": "502763000000000000000" + "0xe2bbf84641e3541f6c33e6ed683a635a70bde2ec": { + "balance": "0x1b413cfcbf59b78000" }, - "d12d77ae01a92d35117bac705aacd982d02e74c1": { - "balance": "1000000000000000000000" + "0xd12d77ae01a92d35117bac705aacd982d02e74c1": { + "balance": "0x3635c9adc5dea00000" }, - "dabb0889fc042926b05ef57b2520910abc4b4149": { - "balance": "2000000000000000000000" + "0xdabb0889fc042926b05ef57b2520910abc4b4149": { + "balance": "0x6c6b935b8bbd400000" }, - "5a1a336962d6e0c63031cc83c6a5c6a6f4478ecb": { - "balance": "1000000000000000000000" + "0x5a1a336962d6e0c63031cc83c6a5c6a6f4478ecb": { + "balance": "0x3635c9adc5dea00000" }, - "abd154903513b8da4f019f68284b0656a1d0169b": { - "balance": "1000000000000000000000" + "0xabd154903513b8da4f019f68284b0656a1d0169b": { + "balance": "0x3635c9adc5dea00000" }, - "ad377cd25eb53e83ae091a0a1d2b4516f484afde": { - "balance": "1940000000000000000000" + "0xad377cd25eb53e83ae091a0a1d2b4516f484afde": { + "balance": "0x692ae8897081d00000" }, - "08c2f236ac4adcd3fda9fbc6e4532253f9da3bec": { - "balance": "20000000000000000000" + "0x08c2f236ac4adcd3fda9fbc6e4532253f9da3bec": { + "balance": "0x1158e460913d00000" }, - "71135d8f05963c905a4a07922909235a896a52ea": { - "balance": "3000000000000000000000" + "0x71135d8f05963c905a4a07922909235a896a52ea": { + "balance": "0xa2a15d09519be00000" }, - "080546508a3d2682c8b9884f13637b8847b44db3": { - "balance": "2000000000000000000000" + "0x080546508a3d2682c8b9884f13637b8847b44db3": { + "balance": "0x6c6b935b8bbd400000" }, - "2d61bfc56873923c2b00095dc3eaa0f590d8ae0f": { - "balance": "20760000000000000000000" + "0x2d61bfc56873923c2b00095dc3eaa0f590d8ae0f": { + "balance": "0x46566dff8ce55600000" }, - "cbfa6af6c283b046e2772c6063b0b21553c40106": { - "balance": "2000000000000000000000" + "0xcbfa6af6c283b046e2772c6063b0b21553c40106": { + "balance": "0x6c6b935b8bbd400000" }, - "ccabc6048a53464424fcf76eeb9e6e1801fa23d4": { - "balance": "49250000000000000000" + "0xccabc6048a53464424fcf76eeb9e6e1801fa23d4": { + "balance": "0x2ab7b260ff3fd0000" }, - "60cc3d445ebdf76a7d7ae571c6971dff68cc8585": { - "balance": "1000000000000000000000" + "0x60cc3d445ebdf76a7d7ae571c6971dff68cc8585": { + "balance": "0x3635c9adc5dea00000" }, - "fff33a3bd36abdbd412707b8e310d6011454a7ae": { - "balance": "8000000000000000000000" + "0xfff33a3bd36abdbd412707b8e310d6011454a7ae": { + "balance": "0x1b1ae4d6e2ef5000000" }, - "d2dbebe89b0357aea98bbe8e496338debb28e805": { - "balance": "4000000000000000000000" + "0xd2dbebe89b0357aea98bbe8e496338debb28e805": { + "balance": "0xd8d726b7177a800000" }, - "5f521282e9b278dc8c034c72af53ee29e5443d78": { - "balance": "6520000000000000000000" + "0x5f521282e9b278dc8c034c72af53ee29e5443d78": { + "balance": "0x161732d2f8f3ae00000" }, - "c5a48a8500f9b4e22f0eb16c6f4649687674267d": { - "balance": "812721000000000000000" + "0xc5a48a8500f9b4e22f0eb16c6f4649687674267d": { + "balance": "0x2c0ec50385043e8000" }, - "8cb3aa3fcd212854d7578fcc30fdede6742a312a": { - "balance": "300000000000000000000" + "0x8cb3aa3fcd212854d7578fcc30fdede6742a312a": { + "balance": "0x1043561a8829300000" }, - "90d2809ae1d1ffd8f63eda01de49dd552df3d1bc": { - "balance": "3998000000000000000000" + "0x90d2809ae1d1ffd8f63eda01de49dd552df3d1bc": { + "balance": "0xd8bb6549b02bb80000" }, - "96a55f00dff405dc4de5e58c57f6f6f0cac55d2f": { - "balance": "1962711000000000000000" + "0x96a55f00dff405dc4de5e58c57f6f6f0cac55d2f": { + "balance": "0x6a6616379c87b58000" }, - "ae842e81858ecfedf6506c686dc204ac15bf8b24": { - "balance": "40000000000000000000" + "0xae842e81858ecfedf6506c686dc204ac15bf8b24": { + "balance": "0x22b1c8c1227a00000" }, - "0be6a09e4307fe48d412b8d1a1a8284dce486261": { - "balance": "19180000000000000000000" + "0x0be6a09e4307fe48d412b8d1a1a8284dce486261": { + "balance": "0x40fbff85c0138300000" }, - "c9c7ac0bdd9342b5ead4360923f68c72a6ba633a": { - "balance": "500000000000000000000" + "0xc9c7ac0bdd9342b5ead4360923f68c72a6ba633a": { + "balance": "0x1b1ae4d6e2ef500000" }, - "ea8f30b6e4c5e65290fb9864259bc5990fa8ee8a": { - "balance": "20000000000000000000" + "0xea8f30b6e4c5e65290fb9864259bc5990fa8ee8a": { + "balance": "0x1158e460913d00000" }, - "74d37a51747bf8b771bfbf43943933d100d21483": { - "balance": "1000000000000000000000" + "0x74d37a51747bf8b771bfbf43943933d100d21483": { + "balance": "0x3635c9adc5dea00000" }, - "1a04d5389eb006f9ce880c30d15353f8d11c4b31": { - "balance": "17072800000000000000000" + "0x1a04d5389eb006f9ce880c30d15353f8d11c4b31": { + "balance": "0x39d84b2186dc9100000" }, - "726a14c90e3f84144c765cffacba3e0df11b48be": { - "balance": "10000000000000000000000" + "0x726a14c90e3f84144c765cffacba3e0df11b48be": { + "balance": "0x21e19e0c9bab2400000" }, - "86b7bd563ceab686f96244f9ddc02ad7b0b14bc2": { - "balance": "10000000000000000000000" + "0x86b7bd563ceab686f96244f9ddc02ad7b0b14bc2": { + "balance": "0x21e19e0c9bab2400000" }, - "2bbe672a1857508f630f2a5edb563d9e9de92815": { - "balance": "2000000000000000000000" + "0x2bbe672a1857508f630f2a5edb563d9e9de92815": { + "balance": "0x6c6b935b8bbd400000" }, - "a17070c2e9c5a940a4ec0e4954c4d7d643be8f49": { - "balance": "1999965000000000000000" + "0xa17070c2e9c5a940a4ec0e4954c4d7d643be8f49": { + "balance": "0x6c6b17033b361c8000" }, - "f2d1b7357724ec4c03185b879b63f57e26589153": { - "balance": "6000000000000000000000" + "0xf2d1b7357724ec4c03185b879b63f57e26589153": { + "balance": "0x14542ba12a337c00000" }, - "d6a7ac4de7b510f0e8de519d973fa4c01ba83400": { - "balance": "1880000000000000000000" + "0xd6a7ac4de7b510f0e8de519d973fa4c01ba83400": { + "balance": "0x65ea3db75546600000" }, - "593b45a1864ac5c7e8f0caaeba0d873cd5d113b2": { - "balance": "6000000000000000000000" + "0x593b45a1864ac5c7e8f0caaeba0d873cd5d113b2": { + "balance": "0x14542ba12a337c00000" }, - "0837539b5f6a522a482cdcd3a9bb7043af39bdd2": { - "balance": "6000000000000000000000" + "0x0837539b5f6a522a482cdcd3a9bb7043af39bdd2": { + "balance": "0x14542ba12a337c00000" }, - "b927abd2d28aaaa24db31778d27419df8e1b04bb": { - "balance": "27531000000000000000" + "0xb927abd2d28aaaa24db31778d27419df8e1b04bb": { + "balance": "0x17e11c2a26f478000" }, - "b2e085fddd1468ba07415b274e734e11237fb2a9": { - "balance": "100000000000000000000" + "0xb2e085fddd1468ba07415b274e734e11237fb2a9": { + "balance": "0x56bc75e2d63100000" }, - "970938522afb5e8f994873c9fbdc26e3b37e314c": { - "balance": "1000000000000000000000" + "0x970938522afb5e8f994873c9fbdc26e3b37e314c": { + "balance": "0x3635c9adc5dea00000" }, - "f3de5f26ef6aded6f06d3b911346ee70401da4a0": { - "balance": "354718000000000000000" + "0xf3de5f26ef6aded6f06d3b911346ee70401da4a0": { + "balance": "0x133ab37d9f9d030000" }, - "bffb6929241f788693273e7022e60e3eab1fe84f": { - "balance": "2000000000000000000000" + "0xbffb6929241f788693273e7022e60e3eab1fe84f": { + "balance": "0x6c6b935b8bbd400000" }, - "b56ad2aec6c8c3f19e1515bbb7dd91285256b639": { - "balance": "1000000000000000000000" + "0xb56ad2aec6c8c3f19e1515bbb7dd91285256b639": { + "balance": "0x3635c9adc5dea00000" }, - "47730f5f8ebf89ac72ef80e46c12195038ecdc49": { - "balance": "3160000000000000000000" + "0x47730f5f8ebf89ac72ef80e46c12195038ecdc49": { + "balance": "0xab4dcf399a3a600000" }, - "f39a9d7aa3581df07ee4279ae6c312ef21033658": { - "balance": "4000000000000000000000" + "0xf39a9d7aa3581df07ee4279ae6c312ef21033658": { + "balance": "0xd8d726b7177a800000" }, - "36227cdfa0fd3b9d7e6a744685f5be9aa366a7f0": { - "balance": "198479000000000000000" + "0x36227cdfa0fd3b9d7e6a744685f5be9aa366a7f0": { + "balance": "0xac2730ee9c6c18000" }, - "89e3b59a15864737d493c1d23cc53dbf8dcb1362": { - "balance": "4000000000000000000000" + "0x89e3b59a15864737d493c1d23cc53dbf8dcb1362": { + "balance": "0xd8d726b7177a800000" }, - "bd08e0cddec097db7901ea819a3d1fd9de8951a2": { - "balance": "20000000000000000000" + "0xbd08e0cddec097db7901ea819a3d1fd9de8951a2": { + "balance": "0x1158e460913d00000" }, - "533444584082eba654e1ad30e149735c6f7ba922": { - "balance": "1730000000000000000000" + "0x533444584082eba654e1ad30e149735c6f7ba922": { + "balance": "0x5dc892aa1131c80000" }, - "6a8a4317c45faa0554ccdb482548183e295a24b9": { - "balance": "1000000000000000000000" + "0x6a8a4317c45faa0554ccdb482548183e295a24b9": { + "balance": "0x3635c9adc5dea00000" }, - "22ce349159eeb144ef06ff2636588aef79f62832": { - "balance": "188000000000000000000" + "0x22ce349159eeb144ef06ff2636588aef79f62832": { + "balance": "0xa31062beeed700000" }, - "3cd1d9731bd548c1dd6fcea61beb75d91754f7d3": { - "balance": "5130285000000000000000" + "0x3cd1d9731bd548c1dd6fcea61beb75d91754f7d3": { + "balance": "0x1161d01b215cae48000" }, - "8b7056f6abf3b118d026e944d5c073433ca451d7": { - "balance": "999999000000000000000" + "0x8b7056f6abf3b118d026e944d5c073433ca451d7": { + "balance": "0x3635c6204739d98000" }, - "15f1b352110d68901d8f67aac46a6cfafe031477": { - "balance": "200000000000000000000" + "0x15f1b352110d68901d8f67aac46a6cfafe031477": { + "balance": "0xad78ebc5ac6200000" }, - "0f789e30397c53bf256fc364e6ef39f853504114": { - "balance": "3640000000000000000000" + "0x0f789e30397c53bf256fc364e6ef39f853504114": { + "balance": "0xc55325ca7415e00000" }, - "750bbb8c06bbbf240843cc75782ee02f08a97453": { - "balance": "835000000000000000000" + "0x750bbb8c06bbbf240843cc75782ee02f08a97453": { + "balance": "0x2d43f3ebfafb2c0000" }, - "fff7ac99c8e4feb60c9750054bdc14ce1857f181": { - "balance": "1000000000000000000000" + "0xfff7ac99c8e4feb60c9750054bdc14ce1857f181": { + "balance": "0x3635c9adc5dea00000" }, - "5c6f36af90ab1a656c6ec8c7d521512762bba3e1": { - "balance": "1999800000000000000000" + "0x5c6f36af90ab1a656c6ec8c7d521512762bba3e1": { + "balance": "0x6c68ccd09b022c0000" }, - "6811b54cd19663b11b94da1de2448285cd9f68d9": { - "balance": "1100000000000000000000" + "0x6811b54cd19663b11b94da1de2448285cd9f68d9": { + "balance": "0x3ba1910bf341b00000" }, - "6f50929777824c291a49c46dc854f379a6bea080": { - "balance": "360000000000000000000" + "0x6f50929777824c291a49c46dc854f379a6bea080": { + "balance": "0x138400eca364a00000" }, - "e83604e4ff6be7f96f6018d3ec3072ec525dff6b": { - "balance": "182000000000000000000" + "0xe83604e4ff6be7f96f6018d3ec3072ec525dff6b": { + "balance": "0x9ddc1e3b901180000" }, - "d731bb6b5f3c37395e09ceaccd14a918a6060789": { - "balance": "3940000000000000000000" + "0xd731bb6b5f3c37395e09ceaccd14a918a6060789": { + "balance": "0xd5967be4fc3f100000" }, - "372e453a6b629f27678cc8aeb5e57ce85ec0aef9": { - "balance": "200000000000000000000" + "0x372e453a6b629f27678cc8aeb5e57ce85ec0aef9": { + "balance": "0xad78ebc5ac6200000" }, - "86924fb211aad23cf5ce600e0aae806396444087": { - "balance": "10000000000000000000000" + "0x86924fb211aad23cf5ce600e0aae806396444087": { + "balance": "0x21e19e0c9bab2400000" }, - "18c6723a6753299cb914477d04a3bd218df8c775": { - "balance": "1000000000000000000000" + "0x18c6723a6753299cb914477d04a3bd218df8c775": { + "balance": "0x3635c9adc5dea00000" }, - "e00484788db50fc6a48e379d123e508b0f6e5ab1": { - "balance": "1000000000000000000000" + "0xe00484788db50fc6a48e379d123e508b0f6e5ab1": { + "balance": "0x3635c9adc5dea00000" }, - "150e3dbcbcfc84ccf89b73427763a565c23e60d0": { - "balance": "40000000000000000000" + "0x150e3dbcbcfc84ccf89b73427763a565c23e60d0": { + "balance": "0x22b1c8c1227a00000" }, - "8ffa062122ac307418821adb9311075a3703bfa3": { - "balance": "1000000000000000000000" + "0x8ffa062122ac307418821adb9311075a3703bfa3": { + "balance": "0x3635c9adc5dea00000" }, - "21206ce22ea480e85940d31314e0d64f4e4d3a04": { - "balance": "1000000000000000000000" + "0x21206ce22ea480e85940d31314e0d64f4e4d3a04": { + "balance": "0x3635c9adc5dea00000" }, - "ac024f594f9558f04943618eb0e6b2ee501dc272": { - "balance": "2000000000000000000000" + "0xac024f594f9558f04943618eb0e6b2ee501dc272": { + "balance": "0x6c6b935b8bbd400000" }, - "b2b7cdb4ff4b61d5b7ce0b2270bbb5269743ec04": { - "balance": "2000000000000000000000" + "0xb2b7cdb4ff4b61d5b7ce0b2270bbb5269743ec04": { + "balance": "0x6c6b935b8bbd400000" }, - "abc74706964960dfe0dca3dca79e9216056f1cf4": { - "balance": "40000000000000000000000" + "0xabc74706964960dfe0dca3dca79e9216056f1cf4": { + "balance": "0x878678326eac9000000" }, - "d7eb903162271c1afa35fe69e37322c8a4d29b11": { - "balance": "10000000000000000000000" + "0xd7eb903162271c1afa35fe69e37322c8a4d29b11": { + "balance": "0x21e19e0c9bab2400000" }, - "d7c6265dea11876c903b718e4cd8ab24fe265bde": { - "balance": "2000000000000000000000" + "0xd7c6265dea11876c903b718e4cd8ab24fe265bde": { + "balance": "0x6c6b935b8bbd400000" }, - "cba288cd3c1eb4d59ddb06a6421c14c345a47b24": { - "balance": "4000000000000000000000" + "0xcba288cd3c1eb4d59ddb06a6421c14c345a47b24": { + "balance": "0xd8d726b7177a800000" }, - "8c22426055b76f11f0a2de1a7f819a619685fe60": { - "balance": "1980000000000000000000" + "0x8c22426055b76f11f0a2de1a7f819a619685fe60": { + "balance": "0x6b56051582a9700000" }, - "f463a90cb3f13e1f0643423636beab84c123b06d": { - "balance": "40000000000000000000" + "0xf463a90cb3f13e1f0643423636beab84c123b06d": { + "balance": "0x22b1c8c1227a00000" }, - "2b5ced9987c0765f900e49cf9da2d9f9c1138855": { - "balance": "400000000000000000000" + "0x2b5ced9987c0765f900e49cf9da2d9f9c1138855": { + "balance": "0x15af1d78b58c400000" }, - "9bb760d5c289a3e1db18db095345ca413b9a43c2": { - "balance": "197000000000000000000" + "0x9bb760d5c289a3e1db18db095345ca413b9a43c2": { + "balance": "0xaadec983fcff40000" }, - "d66ab79294074c8b627d842dab41e17dd70c5de5": { - "balance": "1000000000000000000000" + "0xd66ab79294074c8b627d842dab41e17dd70c5de5": { + "balance": "0x3635c9adc5dea00000" }, - "0bdd58b96e7c916dd2fb30356f2aebfaaf1d8630": { - "balance": "2000000000000000000000" + "0x0bdd58b96e7c916dd2fb30356f2aebfaaf1d8630": { + "balance": "0x6c6b935b8bbd400000" }, - "d612597bc31743c78633f633f239b1e9426bd925": { - "balance": "76000000000000000000000" + "0xd612597bc31743c78633f633f239b1e9426bd925": { + "balance": "0x1017f7df96be17800000" }, - "140518a3194bad1350b8949e650565debe6db315": { - "balance": "2000000000000000000000" + "0x140518a3194bad1350b8949e650565debe6db315": { + "balance": "0x6c6b935b8bbd400000" }, - "daedd4ad107b271e89486cbf80ebd621dd974578": { - "balance": "2000000000000000000000" + "0xdaedd4ad107b271e89486cbf80ebd621dd974578": { + "balance": "0x6c6b935b8bbd400000" }, - "c36c0b63bfd75c2f8efb060883d868cccd6cbdb4": { - "balance": "3000000000000000000000" + "0xc36c0b63bfd75c2f8efb060883d868cccd6cbdb4": { + "balance": "0xa2a15d09519be00000" }, - "e646665872e40b0d7aa2ff82729caaba5bc3e89e": { - "balance": "400000000000000000000" + "0xe646665872e40b0d7aa2ff82729caaba5bc3e89e": { + "balance": "0x15af1d78b58c400000" }, - "b5fb7ea2ddc1598b667a9d57dd39e85a38f35d56": { - "balance": "500000000000000000000" + "0xb5fb7ea2ddc1598b667a9d57dd39e85a38f35d56": { + "balance": "0x1b1ae4d6e2ef500000" }, - "e51421f8ee2210c71ed870fe618276c8954afbe9": { - "balance": "1337000000000000000000" + "0xe51421f8ee2210c71ed870fe618276c8954afbe9": { + "balance": "0x487a9a304539440000" }, - "08a9a44e1f41de3dbba7a363a3ab412c124cd15e": { - "balance": "200000000000000000000" + "0x08a9a44e1f41de3dbba7a363a3ab412c124cd15e": { + "balance": "0xad78ebc5ac6200000" }, - "562bced38ab2ab6c080f3b0541b8456e70824b3f": { - "balance": "641760000000000000000" + "0x562bced38ab2ab6c080f3b0541b8456e70824b3f": { + "balance": "0x22ca3587cf4eb00000" }, - "1e484d0621f0f5331b35d5408d9aae4eb1acf21e": { - "balance": "20000000000000000000" + "0x1e484d0621f0f5331b35d5408d9aae4eb1acf21e": { + "balance": "0x1158e460913d00000" }, - "3a476bd2c9e664c63ab266aa4c6e4a4825f516c3": { - "balance": "200000000000000000000" + "0x3a476bd2c9e664c63ab266aa4c6e4a4825f516c3": { + "balance": "0xad78ebc5ac6200000" }, - "8d6df209484d7b94702b03a53e56b9fb0660f6f0": { - "balance": "2000000000000000000000" + "0x8d6df209484d7b94702b03a53e56b9fb0660f6f0": { + "balance": "0x6c6b935b8bbd400000" }, - "5970fb1b144dd751e4ce2eca7caa20e363dc4da3": { - "balance": "10000000000000000000000" + "0x5970fb1b144dd751e4ce2eca7caa20e363dc4da3": { + "balance": "0x21e19e0c9bab2400000" }, - "d1dd79fb158160e5b4e8e23f312e6a907fbc4d4e": { - "balance": "500000000000000000000" + "0xd1dd79fb158160e5b4e8e23f312e6a907fbc4d4e": { + "balance": "0x1b1ae4d6e2ef500000" }, - "7ee5ca805dce23af89c2d444e7e40766c54c7404": { - "balance": "240660000000000000000" + "0x7ee5ca805dce23af89c2d444e7e40766c54c7404": { + "balance": "0xd0bd412edbd820000" }, - "93e0f37ecdfb0086e3e862a97034447b1e4dec1a": { - "balance": "30000000000000000000" + "0x93e0f37ecdfb0086e3e862a97034447b1e4dec1a": { + "balance": "0x1a055690d9db80000" }, - "e10ac19c546fc2547c61c139f5d1f45a6666d5b0": { - "balance": "4775000000000000000000" + "0xe10ac19c546fc2547c61c139f5d1f45a6666d5b0": { + "balance": "0x102da6fd0f73a3c0000" }, - "1c73d00b6e25d8eb9c1ff4ad827b6b9e9cf6d20c": { - "balance": "200000000000000000000" + "0x1c73d00b6e25d8eb9c1ff4ad827b6b9e9cf6d20c": { + "balance": "0xad78ebc5ac6200000" }, - "d771d9e0ca8a08a113775731434eb3270599c40d": { - "balance": "20000000000000000000" + "0xd771d9e0ca8a08a113775731434eb3270599c40d": { + "balance": "0x1158e460913d00000" }, - "e69d1c378b771e0feff051db69d966ac6779f4ed": { - "balance": "553000000000000000000" + "0xe69d1c378b771e0feff051db69d966ac6779f4ed": { + "balance": "0x1dfa6aaa1497040000" }, - "0ef85b49d08a75198692914eddb4b22cf5fa4450": { - "balance": "2004800000000000000000" + "0x0ef85b49d08a75198692914eddb4b22cf5fa4450": { + "balance": "0x6cae30621d47200000" }, - "ed70a37cdd1cbda9746d939658ae2a6181288578": { - "balance": "9600000000000000000000" + "0xed70a37cdd1cbda9746d939658ae2a6181288578": { + "balance": "0x2086ac3510526000000" }, - "eee761847e33fd61d99387ee14628694d1bfd525": { - "balance": "2000000000000000000000" + "0xeee761847e33fd61d99387ee14628694d1bfd525": { + "balance": "0x6c6b935b8bbd400000" }, - "271d3d481cb88e7671ad216949b6365e06303de0": { - "balance": "4000000000000000000000" + "0x271d3d481cb88e7671ad216949b6365e06303de0": { + "balance": "0xd8d726b7177a800000" }, - "5255dc69155a45b970c604d30047e2f530690e7f": { - "balance": "20000000000000000000" + "0x5255dc69155a45b970c604d30047e2f530690e7f": { + "balance": "0x1158e460913d00000" }, - "cabab6274ed15089737e287be878b757934864e2": { - "balance": "20000000000000000000000" + "0xcabab6274ed15089737e287be878b757934864e2": { + "balance": "0x43c33c1937564800000" }, - "9defe56a0ff1a1947dba0923f7dd258d8f12fa45": { - "balance": "26880000000000000000000" + "0x9defe56a0ff1a1947dba0923f7dd258d8f12fa45": { + "balance": "0x5b12aefafa804000000" }, - "b7a2c103728b7305b5ae6e961c94ee99c9fe8e2b": { - "balance": "50000000000000000000000" + "0xb7a2c103728b7305b5ae6e961c94ee99c9fe8e2b": { + "balance": "0xa968163f0a57b400000" }, - "b498bb0f520005b6216a4425b75aa9adc52d622b": { - "balance": "4000000000000000000000" + "0xb498bb0f520005b6216a4425b75aa9adc52d622b": { + "balance": "0xd8d726b7177a800000" }, - "c1132878235c5ddba5d9f3228b5236e47020dc6f": { - "balance": "1000000000000000000000" + "0xc1132878235c5ddba5d9f3228b5236e47020dc6f": { + "balance": "0x3635c9adc5dea00000" }, - "f81622e55757daea6675975dd93538da7d16991e": { - "balance": "2000000000000000000000" + "0xf81622e55757daea6675975dd93538da7d16991e": { + "balance": "0x6c6b935b8bbd400000" }, - "ce2deab51c0a9ae09cd212c4fa4cc52b53cc0dec": { - "balance": "2000000000000000000000" + "0xce2deab51c0a9ae09cd212c4fa4cc52b53cc0dec": { + "balance": "0x6c6b935b8bbd400000" }, - "86a1eadeeb30461345d9ef6bd05216fa247c0d0c": { - "balance": "2000000000000000000000" + "0x86a1eadeeb30461345d9ef6bd05216fa247c0d0c": { + "balance": "0x6c6b935b8bbd400000" }, - "7b1fe1ab4dfd0088cdd7f60163ef59ec2aee06f5": { - "balance": "2000000000000000000000" + "0x7b1fe1ab4dfd0088cdd7f60163ef59ec2aee06f5": { + "balance": "0x6c6b935b8bbd400000" }, - "6bbc3f358a668dd1a11f0380f3f73108426abd4a": { - "balance": "4000000000000000000000" + "0x6bbc3f358a668dd1a11f0380f3f73108426abd4a": { + "balance": "0xd8d726b7177a800000" }, - "b1e6e810c24ab0488de9e01e574837829f7c77d0": { - "balance": "400000000000000000000" + "0xb1e6e810c24ab0488de9e01e574837829f7c77d0": { + "balance": "0x15af1d78b58c400000" }, - "03eb3cb860f6028da554d344a2bb5a500ae8b86f": { - "balance": "2000000000000000000000" + "0x03eb3cb860f6028da554d344a2bb5a500ae8b86f": { + "balance": "0x6c6b935b8bbd400000" }, - "e5481a7fed42b901bbed20789bd4ade50d5f83b9": { - "balance": "2000000000000000000000" + "0xe5481a7fed42b901bbed20789bd4ade50d5f83b9": { + "balance": "0x6c6b935b8bbd400000" }, - "1f3da68fe87eaf43a829ab6d7ec5a6e009b204fb": { - "balance": "554988000000000000000" + "0x1f3da68fe87eaf43a829ab6d7ec5a6e009b204fb": { + "balance": "0x1e1601758c2c7e0000" }, - "30037988702671acbe892c03fe5788aa98af287a": { - "balance": "2800000000000000000000" + "0x30037988702671acbe892c03fe5788aa98af287a": { + "balance": "0x97c9ce4cf6d5c00000" }, - "edb473353979a206879de144c10a3c51d7d7081a": { - "balance": "6000000000000000000000" + "0xedb473353979a206879de144c10a3c51d7d7081a": { + "balance": "0x14542ba12a337c00000" }, - "22bdffc240a88ff7431af3bff50e14da37d5183e": { - "balance": "1000000000000000000000" + "0x22bdffc240a88ff7431af3bff50e14da37d5183e": { + "balance": "0x3635c9adc5dea00000" }, - "9374869d4a9911ee1eaf558bc4c2b63ec63acfdd": { - "balance": "1000000000000000000000" + "0x9374869d4a9911ee1eaf558bc4c2b63ec63acfdd": { + "balance": "0x3635c9adc5dea00000" }, - "b756ad52f3bf74a7d24c67471e0887436936504c": { - "balance": "20000000000000000000000" + "0xb756ad52f3bf74a7d24c67471e0887436936504c": { + "balance": "0x43c33c1937564800000" }, - "8bd0b65a50ef5cef84fec420be7b89ed1470ceb9": { - "balance": "11999000000000000000000" + "0x8bd0b65a50ef5cef84fec420be7b89ed1470ceb9": { + "balance": "0x28a77936e92c81c0000" }, - "af26f7c6bf453e2078f08953e4b28004a2c1e209": { - "balance": "100000000000000000000" + "0xaf26f7c6bf453e2078f08953e4b28004a2c1e209": { + "balance": "0x56bc75e2d63100000" }, - "7c532db9e0c06c26fd40acc56ac55c1ee92d3c3a": { - "balance": "300000000000000000000000" + "0x7c532db9e0c06c26fd40acc56ac55c1ee92d3c3a": { + "balance": "0x3f870857a3e0e3800000" }, - "dde670d01639667576a22dd05d3246d61f06e083": { - "balance": "26740000000000000000" + "0xdde670d01639667576a22dd05d3246d61f06e083": { + "balance": "0x1731790534df20000" }, - "5cf44e10540d65716423b1bcb542d21ff83a94cd": { - "balance": "10000000000000000000000" + "0x5cf44e10540d65716423b1bcb542d21ff83a94cd": { + "balance": "0x21e19e0c9bab2400000" }, - "f96b4c00766f53736a8574f822e6474c2f21da2d": { - "balance": "400000000000000000000" + "0xf96b4c00766f53736a8574f822e6474c2f21da2d": { + "balance": "0x15af1d78b58c400000" }, - "8d89170b92b2be2c08d57c48a7b190a2f146720f": { - "balance": "19700000000000000000000" + "0x8d89170b92b2be2c08d57c48a7b190a2f146720f": { + "balance": "0x42bf06b78ed3b500000" }, - "142b87c5043ffb5a91df18c2e109ced6fe4a71db": { - "balance": "200000000000000000000" + "0x142b87c5043ffb5a91df18c2e109ced6fe4a71db": { + "balance": "0xad78ebc5ac6200000" }, - "42d34940edd2e7005d46e2188e4cfece8311d74d": { - "balance": "158000000000000000000" + "0x42d34940edd2e7005d46e2188e4cfece8311d74d": { + "balance": "0x890b0c2e14fb80000" }, - "562105e82b099735de49f62692cc87cd38a8edcd": { - "balance": "6000000000000000000000" + "0x562105e82b099735de49f62692cc87cd38a8edcd": { + "balance": "0x14542ba12a337c00000" }, - "457bcef37dd3d60b2dd019e3fe61d46b3f1e7252": { - "balance": "20000000000000000000" + "0x457bcef37dd3d60b2dd019e3fe61d46b3f1e7252": { + "balance": "0x1158e460913d00000" }, - "cf8882359c0fb23387f5674074d8b17ade512f98": { - "balance": "6000000000000000000000" + "0xcf8882359c0fb23387f5674074d8b17ade512f98": { + "balance": "0x14542ba12a337c00000" }, - "f0c081da52a9ae36642adf5e08205f05c54168a6": { - "balance": "111000000000000000000" + "0xf0c081da52a9ae36642adf5e08205f05c54168a6": { + "balance": "0x6046f37e5945c0000" }, - "551e7784778ef8e048e495df49f2614f84a4f1dc": { - "balance": "600000000000000000000" + "0x551e7784778ef8e048e495df49f2614f84a4f1dc": { + "balance": "0x2086ac351052600000" }, - "3c869c09696523ced824a070414605bb76231ff2": { - "balance": "1000000000000000000000" + "0x3c869c09696523ced824a070414605bb76231ff2": { + "balance": "0x3635c9adc5dea00000" }, - "7e7f18a02eccaa5d61ab8fbf030343c434a25ef7": { - "balance": "66850000000000000000" + "0x7e7f18a02eccaa5d61ab8fbf030343c434a25ef7": { + "balance": "0x39fbae8d042dd0000" }, - "9328d55ccb3fce531f199382339f0e576ee840a3": { - "balance": "4000000000000000000000" + "0x9328d55ccb3fce531f199382339f0e576ee840a3": { + "balance": "0xd8d726b7177a800000" }, - "9d0f347e826b7dceaad279060a35c0061ecf334b": { - "balance": "4000000000000000000000" + "0x9d0f347e826b7dceaad279060a35c0061ecf334b": { + "balance": "0xd8d726b7177a800000" }, - "680640838bd07a447b168d6d923b90cf6c43cdca": { - "balance": "1730000000000000000000" + "0x680640838bd07a447b168d6d923b90cf6c43cdca": { + "balance": "0x5dc892aa1131c80000" }, - "c951900c341abbb3bafbf7ee2029377071dbc36a": { - "balance": "327600000000000000000" + "0xc951900c341abbb3bafbf7ee2029377071dbc36a": { + "balance": "0x11c25d004d01f80000" }, - "ddf5810a0eb2fb2e32323bb2c99509ab320f24ac": { - "balance": "17900000000000000000000" + "0xddf5810a0eb2fb2e32323bb2c99509ab320f24ac": { + "balance": "0x3ca5c66d9bc44300000" }, - "2489ac126934d4d6a94df08743da7b7691e9798e": { - "balance": "1000000000000000000000" + "0x2489ac126934d4d6a94df08743da7b7691e9798e": { + "balance": "0x3635c9adc5dea00000" }, - "f42f905231c770f0a406f2b768877fb49eee0f21": { - "balance": "197000000000000000000" + "0xf42f905231c770f0a406f2b768877fb49eee0f21": { + "balance": "0xaadec983fcff40000" }, - "756f45e3fa69347a9a973a725e3c98bc4db0b5a0": { - "balance": "200000000000000000000" + "0x756f45e3fa69347a9a973a725e3c98bc4db0b5a0": { + "balance": "0xad78ebc5ac6200000" } } } diff --git a/ethcore/res/ethereum/kovan.json b/ethcore/res/ethereum/kovan.json index 532bc88d6a1..7e4c257c933 100644 --- a/ethcore/res/ethereum/kovan.json +++ b/ethcore/res/ethereum/kovan.json @@ -1,12 +1,12 @@ { - "name": "Kovan", + "name": "Kovan Testnet", "dataDir": "kovan", "engine": { "authorityRound": { "params": { - "stepDuration": "4", + "stepDuration": "0x4", "blockReward": "0x4563918244F40000", - "validators" : { + "validators": { "list": [ "0x00D6Cc1BA9cf89BD2e58009741f4F7325BAdc0ED", "0x00427feae2419c15b89d1c21af10d1b6650a4d3d", @@ -19,38 +19,38 @@ "0x00a0a24b9f0e5ec7aa4c7389b8302fd0123194de" ] }, - "validateScoreTransition": 4301764, - "validateStepTransition": 1500000, - "maximumUncleCountTransition": 5067000, - "maximumUncleCount": 0 + "validateScoreTransition": "0x41a3c4", + "validateStepTransition": "0x16e360", + "maximumUncleCountTransition": "0x4d50f8", + "maximumUncleCount": "0x0" } } }, "params": { "gasLimitBoundDivisor": "0x400", - "registrar" : "0xfAb104398BBefbd47752E7702D9fE23047E1Bca3", + "registrar": "0xfAb104398BBefbd47752E7702D9fE23047E1Bca3", "maximumExtraDataSize": "0x20", "minGasLimit": "0x1388", - "networkID" : "0x2A", - "forkBlock": 4297256, - "forkCanonHash": "0x0a66d93c2f727dca618fabaf70c39b37018c73d78b939d8b11efbbd09034778f", - "eip155Transition": 1000000, - "maxCodeSize": 24576, - "maxCodeSizeTransition": 6600000, - "validateChainIdTransition": 1000000, - "validateReceiptsTransition" : 1000000, - "eip98Transition": 0, - "eip140Transition": 5067000, - "eip211Transition": 5067000, - "eip214Transition": 5067000, - "eip658Transition": 5067000, - "wasmActivationTransition": 6600000, - "eip145Transition": 9200000, - "eip1014Transition": 9200000, - "eip1052Transition": 9200000, - "eip1283Transition": 9200000, - "kip4Transition": 9200000, - "kip6Transition": 9200000 + "networkID": "0x2A", + "forkBlock": "0x9766dc", + "forkCanonHash": "0xf2fa4bcc417ad374100c2035aa865ff60fb568a83db1b6f6cb8fb52cfebc28b5", + "eip155Transition": "0xf4240", + "maxCodeSize": "0x6000", + "maxCodeSizeTransition": "0x64b540", + "validateChainIdTransition": "0xf4240", + "validateReceiptsTransition": "0xf4240", + "eip98Transition": "0x0", + "eip140Transition": "0x4d50f8", + "eip211Transition": "0x4d50f8", + "eip214Transition": "0x4d50f8", + "eip658Transition": "0x4d50f8", + "wasmActivationTransition": "0x64b540", + "eip145Transition": "0x8c6180", + "eip1014Transition": "0x8c6180", + "eip1052Transition": "0x8c6180", + "eip1283Transition": "0x8c6180", + "kip4Transition": "0x8c6180", + "kip6Transition": "0x8c6180" }, "genesis": { "seal": { @@ -63,8 +63,8 @@ "gasLimit": "0x5B8D80" }, "hardcodedSync": { - "header": "f90247a0434ba1ebe3bc9d9d12886f616afee0eb785dd00d78aa64502045b249c8a3cc33a01dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347940010f94b296a852aaac52ea6c5ac72e03afd032da0d1c1137be913218840c44bdb8f5709a59d8608b05be0dc2401402e11ff1bf2ada0eb50a864e57e19bd4c8499725a6a3841f706ff5d743e64f1d06db903aca62eaba0d4d77727f7253c109e6f048fa5b1583b6c2911ad77f7d59d8947d38a96a67729b901000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000090fffffffffffffffffffffffffffffffe838ee001837a120083013502845bea4f689fde830200088f5061726974792d457468657265756d86312e32392e30826c698416fa93dab841c80b3e34bacdc91e01f6a76c64a920a65edfea86b84e0fd59c6d8dbd7758f2dc4e3cb446de8dc07f3d8cb71375a6315f401cd1ce54c56694e4e01f7e774555e701", - "totalDifficulty": "3135776192732436705400032023148164213445066062", + "header": "f90247a0017c9292a6abf6bb9aa48c30f8854dc0e9649bceaf19079b1aac50ebea4fa316a01dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d4934794007733a1fe69cf3f2cf989f81c7b4cac1693387aa06b81f6633226562f466201f0d097877c903a650f7427aefa7433fb971f601287a0098141509099d91ed2c2e503d43db5b5412d51880994e8e03a86e1d7a9ca8e8ca0495f318f8bfdd4beb517d115ad5d5330aebafe70eb2b1cfb0ab029221a0f48c1b901000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000090fffffffffffffffffffffffffffffffe83975801837a120083035108845c2c49e49fde830202058f5061726974792d457468657265756d86312e33312e30826c6984170b1279b8413ee0655a59d1f7f8db39c22055c614346450e99965fef62efa43b21b20f0966e3e41eb65fcaf6f9ce3a34359dc064827e06f3a29d2c717f287234785d369e56f00", + "totalDifficulty": "3324635628632492920129912637269655024947201711", "CHTs": [ "0xdb9557458495268ddd69409fc1f66631ed5ff9bf6c479be6eabe5d83a460acac", "0xd413800c22172be6e0b7a36348c90098955991f119ddad32c5b928e8db4deb02", @@ -4637,19 +4637,379 @@ "0x8b4f8964062d0f00e40a41d21852a2e22abba1f4cf75f594797e368e4df21f7d", "0x916993123d91b181d145e2668efed6eae3845fd76d4765df3a04d8adde8c7142", "0x21b91051b5c5fbd22164a655de8485cfc2a9eff58ed09d6fbbb454560898daed", - "0xb52ca76065bcf43f06335977ab87d6c809dcf4e6cdfc452ac2018b77c64089a5" + "0xb52ca76065bcf43f06335977ab87d6c809dcf4e6cdfc452ac2018b77c64089a5", + "0x9437d47e7f7fb4c95aacd5e1322a9c7b457888dbfb1e485142cb16ba805b5ded", + "0xb7cb3f7394fef7de5884e165c8441d441c98c1080865b604dd21766759f7fffa", + "0xfaff33c1aae8882f3a9d84678b55b8945b037b1f05785f2874079da71caf4aa5", + "0xe032d77db9e882bfb3d5adc89d9a9812fb9775f98c03765ffdf0c40d0dbf11f8", + "0xc9c4ded5821040df911b23d92d8270fc83164531c9d631c4d8e228a71e189ba1", + "0xa27f4dd47059fdd4afe78ce8c9029c9a7c0916d10cc7dba1ce011c886d2275bb", + "0x6dd0d3b0e07535d8350cb888c75ca355c4abb07bfc6ceba3eae02095324679a0", + "0xee4a3c6125a5e69848457d35f9614705b651c68857b03968bc5420a809d1d9b8", + "0xc14947239d0a7061d796313aca233659059b13740e63f967f8bd4806feb895ff", + "0x36d9ad9d6ad2e1a1aca489524303aaa8534b137c5e9ef708d589b7a75cbf6500", + "0x497c4cf7509b12ebd34d5c0520a24ae1b6e1c5c050bb3412d7d1a702c48d07d3", + "0xac81f9bcce95283b7f188f16eb68d22adb22dc1cff0853739c46f27523a653b7", + "0x2f0818ee594d2d1fbfe9a6a03cf4ae08dee69fbb9c289c2789d792f14a3e4e7d", + "0x9beb888d86489512a9d1d8d6461490e23599c1595aa5b4d4b113d18c0eb99697", + "0x7708aa2a88f9b41cde9f338da6d2f9dde2b57f1538f7aeefb66a0e9dce488ff3", + "0x548a59ae0782fc5202431a472a8dc5e21ac83b68dc88afb2b0afd56cd3e880dc", + "0x271397f861034f73fe228e3921d835a313041c260a6c2ca3d0c28d407d17ba89", + "0x732b95d3ebdf035182863a540bc002cef70f98b91f90ee8dcef2285a970ade6b", + "0x605d419ecbcdaa05d6f09c9734469847f52164df26417d7807f959986b843869", + "0xdc56e2800a637475662632ac37e9eec90d9f3962a454d6f32ee7f56426ab9f42", + "0xdcd35988aa6982f14b3a2834f841c755ad42dcc61eb0dc6122f2aa9db65fcf92", + "0x659b06e2aa0359e3743f59d2b128cf85bfabc20ac9d8c42a89d9cdda2bef7697", + "0x45377222c3910f95b3f5d0adef823dc4184189cab9eed54b9997d2b30fdbae43", + "0x15d66d0b9347f12bf9c408910edf41623f460244f309076d55cf969dc158b36e", + "0xe5de2158113351c0ea314eb12b28f9502c307decf883ed480c53c1310c9f7c11", + "0xc7342c08dd73fbe5801cc6c8764c53f924d6a77cd5a5b8bdbb22d2b6d3e0336e", + "0xf10486dc44a10f7eec6739dd56e0f7519507777e78e3974d974ee0bd931f03d0", + "0x5985752f0b3849e9cc6a5d38b65617be10b52b8fd0c2642c328b864d59a23f9f", + "0xce899213bc8a178cbf2a8eb86f045f59895530b0af5e209b60553869000070f4", + "0x724dd7b5e5d0e93017a62faffd534e423610c494ef0b5689304bc80a68df0e46", + "0x318073daf925850c412d6a1f2db2d2093268896a88c49e822ccae4070b406408", + "0x74fd03921ea801d4618fa7c2375c4369a15c7774564dfb0373b5913bdc9a6df8", + "0xb10896436461c2660cfe36a60c433b32ef8a1e772f3f9c16ae243840a1aa3aa8", + "0xecfc10478a368b186e4299447ec9d3ce27ca8386274c545f3edac3608ad6cd0d", + "0x288c697b29a0d2c5d45b9507aaf62bc4bfecca1b34e1a5ce13a17711af0df3cd", + "0x429fc79b89ad00887096417282a571de77fe73dbfd1564c13bec5830b38890cd", + "0x4d859982815d597e31d0e5374d7077b59a4b9beec01040608bad05c6a9d0be2a", + "0x1addc6e300b6120cd196bcb7340ca163879ac55f7c9069be77947aa01e778cf9", + "0x2e648a4eefda9d35e26b148028a0b336ef7d75809454e36795edb9d3fdeff550", + "0x814e65df8c720e8c9c7d64c76b6b9554328d6c780b5f3dff96aa3e29506e7e49", + "0x4841c38f2a920bb1a072b9a7853dd7d2e44dcbc35e2737aa2f3cf6652dabfdd2", + "0xdc63afe7974211db82b2602c26d6ace8d93f34736c0fa68eac3bd5d2c1af7484", + "0x2052d12d3534c5d7693d420c8e080bcee99ce10ccebc7451272b7ef08f8a3dc2", + "0x4985769df508ccc2add583d187095a8af4ca73a5be2506a506146e23dbc67d55", + "0x4a6744d48fc2d85cc99e419483ec1111ccb6fc7ab13e4eba28a29269acb30952", + "0x527b0514dd83336c0524add1f01799512517378b2045c4ed43ccc0e977553bac", + "0xfc33e6a20033fff41a9b885dc5bbaa848a0f244fe89b4a1af261d382c544fbaa", + "0xadce691a1b4224bd56682784ec106dc93af89185721db8b427eab6b0ff22776c", + "0x0fdef2a9525541c1e96172c8a33ccc08ed759dc024d437b82126ff03b65e1684", + "0x7aa9e8c1e9da3c68080f099281b367de26838ec7bcd474590ae101fcd68a7116", + "0x7eb70f0a4c42726f5b3a67ab12bdf5b4e6bf5e4c347b6c32f6fd3a04c4a003e5", + "0x546f5f3c2e44b7a61d6d0dafd802fcc114db7acb7f887f0dd0b1878979fd3eac", + "0x5c5294fd77081b1a23037c34170b568358011be2fdc0e3ffa2230b1a017ec5b9", + "0x6c854d3de1f2a28dd8f6320a534b915b032078377e3b880eaa8e9a3775768e2c", + "0xc2be1a4c7a5351063084c5907f19e63f25e048f3e27648a6d9056d3d4b635c19", + "0x5d0673ecaecd00cc8847827bbda1dd7bb21f537e5e10f10d8b5944496b55e9e6", + "0x8a1bfbf9dd51b727c17e8920019caae599f53d37563935c584c84cbdebf942e2", + "0x75649056bcd2a520811d8f9d5c0c629f492e93fcdcd298c0657a8c857fdf2cc6", + "0x71421a3eb42eeba485fb90918511b0a430311856c27a968e52096c6cdaf0cce1", + "0xdf19c2d595ec81bacaabd39217e100e6731f8bd7c3d6c5bfd987b27f89be146d", + "0x573839677ae138670609c499107217fcae5de5fa9905c78a21b07f7a906a0a53", + "0x1e8db73865049c1cde4004c2a60945edd9ce9847c360a2feb36205e1f1cbd5da", + "0x52a602e7c2f462a39288465c733d2133b7f77a7a77d7e60e214d4d4eff917258", + "0xdc30b1767c78f2ac953c5046e6440b7de488933cdece18fa3566f00d8a96c92f", + "0xfc0baf76004e7d87b36ea52de7d886c9b3be44bb8063549bba31b63b87ac3f92", + "0x3426c56db720ccd184f2e49385e96e5a37fd378cd486de8fadcc7d5e727aebb8", + "0x39fc1cbf20cab093c75b42931fc6371e9851cc4357badb6961359e07b9d97fca", + "0x6b3725ada81d881bbe245d4b55c7be12926b42d0e58dfc8fa38d54f68ff79ee4", + "0x69bbab0d123bbf03499984698c162f9dfb81375f6bf9f2e643badcc8e0281ef8", + "0x101cf365b31d4b37910433ffa265e1a978d4f80c478936809e1bcca7baff59b1", + "0x65d26a27a34ca4ca98c2b5f609e4596344514698f2137547e815dfcf91f5bb36", + "0x3b8598589a6ef43efe0b7a64832360ab02e150c4b4ec02f2a028d2522f4c0ba7", + "0xd8776563bb522b42a25cb2714f9ea294fffa4c4fb5ad040a9458e10637861f34", + "0xb1b85b8c9bea99a2bde16ab99b2d7e42571ba15dfeaf28a2897322bb444171b1", + "0x803cc4e5c23bd3842736b36a425364416dc69a3efb95f3c7fdbf7782d6de7edc", + "0xf5803ed2a130a19600ca887ad06813482b678ac0eee049cbb2e56e39a90d9867", + "0xd3f6125b061023531cbd3d625c9382631e2fecc75945dd6f78f883353ec98962", + "0x7b1d59f8c9869a9c73a09385c82762b86fcc995e75db00bda388e1423be19df4", + "0x2b7a8289bf9f93c589866af1a224c34943433b6a5a571df7dc4524bcf2adde42", + "0x9199d73dd306fc9038b36212c3ed7706d8b0f30cfcf3359408a8e6fd8ebab0a7", + "0x0cc8446d21ccc31bee04addd48b50f394390ef3340745555f9d7ccc3c13eefbe", + "0x80052b2097d7f836090ba9f94ad7c33066453d8ee62a2e215a82003ed92568f1", + "0x231c2d4e6a6039342ac03f766fac9f0a587ef6828d071e63a1e3f660fff13263", + "0xcfa0cae426e4b6b9422d72a687d50139654fc3351993b5d38ea4fc6f8944e662", + "0x9dc837a60a2c18493fd3b40083996f18a44f37a7a762ca649bc5d8c8b272aaca", + "0x30b4651c3496efed5997116b7a12f9cdc24040a4e110478f1a2330fbba48fbec", + "0x99567d98d73fe92c81c69aa465bd62b02492839519f0380686349da64caaf758", + "0x9618fd333f89357a22bb3101cc386003c2745f8a24b5affd2be9cc3c26a93e34", + "0xe539d1a4de2a57dd65cea42302fac83aed570f2fd7a318c6d226dea58d5f94c1", + "0xe69e3ef5d9d8cf08d3a354da7179d5bab9c68b4b6ea6a7e5a58cae9d901b5f35", + "0x97cd995441161fe4f50a339c6323020db6f56b9221b549194a93b9895a043e59", + "0x803e04ee8a22299e779491a6749b7d57973a59fe714d080f03749bccde30d5c6", + "0xace95a4dc00b3fef757aa76445b1edc582246eeebb7c2bdc71fa648e06428485", + "0x1c8bd27b857dd8dd5a671fb4aa6cec3c41ca1c747c9f86edca8f389ac637e09f", + "0x554b4d1bbe92718dd1aba2a9d10f48f803287d2c26108bf3cab2574a91375511", + "0xd5856bc0794ddc23049639fc438c360d66e4b3eb1f96516ba0c02c46cda8fb49", + "0x25a4c78e490c1d5fc6c1252b2ba13ca9ad5113a5c64e02220969146c5bbe9730", + "0xa8dd024efc7f03b61ff9926421107b54c42f5f9c936d956e9b6c6eb36f9b242b", + "0x26d488bff06eff3fe1912ce985ced65325e09e1c01a95bc16d0df22481690640", + "0x01b89e65f1a82ea7e456e96e2ddf29be42dced7c7ea9b12e841bd973506dcc25", + "0xf0f5d3392e3fb73697e44755d38c84bd99394ec2ef9dec841049baf8166e6d55", + "0x91c4f65d698130b132d0a33e44c27ea55f477cfb134224139ba0264b5737ed42", + "0x1d2295b21e1bb810d35471fe17adc80e59c6c57b5037de90c88e99021ac78b24", + "0x667cc89337d382967727f0740819a2f6298dd5f2b7b5e82dc45e3f1c15c5e998", + "0x908ac480019af2d3c3017c413077a73905e27ec01721aa499c24fa7e13bf8ad9", + "0xbeb7ebf8ffae71221e5ff149e3333fdefe6b11780d439b45a874129b2c25d71d", + "0x235c2ed0e3fd286df5cabca5f0f61bfe356ad0d7c8bb9c642814d01f2fd26699", + "0x22fc5189fb1945ae98d89e50b258514baaf525e8137e9581c99339e1097e33c1", + "0x148256253b74711fc61f8af7d4efcf8694752426715a0a4c788556feb68c1a2d", + "0x26ad59543cfd91bbe37cd8fd1995b81d0f095ac4e02cda0b4f5f40c9db6d320f", + "0xee340b0f25450c23a5c9b16cd5aa59657a9992c1c341172bcc8c9038eb6789fe", + "0x5da22a0b434f041d76be1d53ef63ae24031861dce1ff4baa3511d67664060bbd", + "0x6009815cd4da0162884d0be4cfe6936f1b251f50e9c89d9fdc2f0af430012e11", + "0x9342474f10ce871dfeb70fde89b181075b18e973d4806364d52f83f6be4d69f1", + "0x3c4c598faaf3c9fa8b9c1bf856872e65e3d53435177992b29a7674198e7df000", + "0xdf0d952cca28797dbb503cb8c7192e811a7dfc0797379391f839341e210078ee", + "0xdd48052c8e9a9ec62a58a580abe1c420b89393bfffe53fbe6b7f9079b5ec4d3c", + "0x028846c41592546d1d11375d00c1d10a18c06ee5f968b2ce8e8c42bee7aa263d", + "0x4aa08dc77484d15f8423a1fb2df0fb0c67729de1d48e61831884e49d7697674d", + "0x084c72f0f0fb1cdd4ff80ebc9379c9d29c8d1e35cc45901a67b231ac201ff9b4", + "0xe904eec627d475fcb3e61b2db0366a24ebcc286ccda2b1614049fa17ae9a9d85", + "0xc3fb5ed46f30f566b1d5547d5e00c4c999960dcbd1b60f0b337bff8da30c054d", + "0x1503b399ce9dd9f1cd8005036006e4bae2b3f05fbb1393b8f5d868332605c98b", + "0x70de442d35565513b92d8cdb95c6537f72d7e099e217af7c260fdf92499ecfae", + "0xc6b86174c627fdb002d187feada8c72b9bc6b1fa5d11785988c72b06480ef1c8", + "0x06212692407b9b701ed1b115a8ae1cf07668cd7498cbd7c5c58e9b52a0a0093e", + "0xfdc722f761f07d5c52d36c147ab8e80a666af5aa77fdefa37e86c7b2518aca12", + "0x7396bd40c5677c5f4388d956ec437071cd4352cac44b7b97eecebb6c5c99b507", + "0xf634b80145415b2086d4a20746bef5c7d34034ac6601487792889be39bac54c8", + "0xfb8cbee41b441d5424cbd12b064b04f5618f0b360b1c2ae5ffb90a0194e61106", + "0xf77c56810755fe69822c1250295092fb8e7c88d789706d6769d0cbdeb386137b", + "0x9e0f084e1184804e850784a4e376b8acbf58f4235a3829d49217c888e4e5d535", + "0x6b39d6de64090febb49dc6f6a31eb606d8e278b7ff4fa9e1a9774d3d9dc71f81", + "0xb5d9e67fd6cdd93c74536e5a74dac8eb8ea6914c2315c22e079d61eaecb18c29", + "0xac3dbb4fa1da752bff5884154e02ab975e993201e69ef9ca532c8b1e00b1628b", + "0x747b42a7005c41ae222f8c2ecd4bf7000c274366237e68b2e95a64cef3799ef2", + "0x8f06b121d921274a0d8da269d19ffd6a417cec988f0018647966960ac822fd60", + "0x13451d3ecba978d3c0d88c2dd4068cf060e949889ea514306c23a7a1ec574ca2", + "0x737f8bd85cce3a392da15c8e68c3ea9748a6523ab92dba8d1c6c8081311c3ef7", + "0x83cca9d97f8c4b2776b96d887c5ab1e8e6172970d6d237da98dd5c6ce07db7f3", + "0xb5bb3dd88ecfe2e4ac4e4be2b605cc7c5e79024782628a95df33c4967dc8251a", + "0x640c6050e63c965742cdfc6d3217eca459a24b3acf3a5ec64eed9bd7bbcefaad", + "0xe74478890f186d41b5157dbcef1f2754a35a5af332095dd25d34caf01580062c", + "0xfaabbc9703e049e49d1d22da051cfe6cae0697e7e728e954bd5abc40d0e2014c", + "0x8aa4a19c4ec50a68a6541ecc11d4473cf02773a0ba7bb4012ccd76ae11ce8bf9", + "0x01abdedb1886ec8220a4f6ce6a43863ab77215f03e8116b03f3efe44bee658b7", + "0x18e44060426a05d3d9500b7d6ae6d99133109bac39942ab825ae81c551c0ef39", + "0x19a60001bc92289e73d3a8320f7601eae1bcf70f65c3a43ff6af1b2c2c17355f", + "0x2dbc82c8ba30fe69aa00c7abf129cd1a65e8fb9398b2ebca0843e526e001ce1b", + "0xec773bb4cf7d35feb70ea19cb53cd64af2cd34c1e4f1e282bd3cd0b39720bd2e", + "0xc966e10e5568661e0930bbff1561e2de413f9f89d984b46224ced75d57213401", + "0x29658e4a7e4dec3e9a449902af34ab93fe760c6a1695c1a97e0a093e3d187782", + "0x98b0b147d3f6a8a21dd9e3fe01082dc9031c193dec4def76e53ad1c13269c3d7", + "0x288b646ad44d5f4ea299917a9b69c9c07b5ddc50e93d03fc1c1ed653599d7a7d", + "0x87c26362fb801ef77354375eadedc1489a4fc39401521cb06b604fd9288e4d82", + "0xa5cf4098a62d2dcc87e589c8269dc712e2ac2be5adf07ca33c520556d4da0cc1", + "0x4f253c49f87e135e4a0941409fe70ec6b29f6b0d9aed3f654f5eee7f4eb0a486", + "0x5370ae8dfa2a982dab86dfb45950a50ffd29039781b2b065ef5057f7b43b84d2", + "0x044f950f82d97f0fa164ec4174c238203d15f4cf32dd739931c3e291e0902ed4", + "0x792c3af8c8808b95f38d6e21979450e3ebeae129f0a9a9d0cf2951252801dd7d", + "0x141e09e2ca0a96d50e7c12aae794ed0f22c0441fcc51d1c4e179f891cb06ee1e", + "0xc475b7c5293efed9c9f0a5e1d8800e4dd10810bc7dd33c406da131b15524ee48", + "0x0018d2c2e814bff6fa8f5e162de402db71dd9eea45d320f60e280a00aadafc2a", + "0xc68336fc8904777bf8ec4d5a61f79f2e847c028889bce39ae0f307d11efad818", + "0xd6439bee30ae288496a022e04f5c21b9b047edbb370ea3e33ed236a217c6ca0c", + "0x03e096d6ce43823e4543ddbfd8f55528d49c38b5c701c520e95a51547b5b193b", + "0xfb80f18124198c12b6359ea7805f110f9f25a6686e7a917c110ad511554e634b", + "0xcf9a0aa896f5c54982a827e07314a81b58beb3de97fdf112ee1539ee47158f59", + "0x948cb5dcc88a5502d82a292e7337d5d010055ae4964c09b2c6d55b0401e1781b", + "0xb91614b49ef967aef3b113983cea703a60097e0cd4c0d9cf1ad6f36d594750a9", + "0xe29abd32597fbfcffb8d185931986a8519fcabca73abfc5be6e42bc8b6439374", + "0x9ebbe1b1037327c4f2f3c9b6191b6f28aaf9b04dc58f3314ec2c16ac1eaba9b7", + "0x098529aee4331ef9ee00ee624912ed1a7cd8d63ebf27a96059f56e60ab9a95b2", + "0xcab9578772277f3e1f7a6920b96df6ce3e6d7f60c42925b7bb1ac1d71d733718", + "0x43cb7ebd27e7207228ecee10cfb11aefe077bf03053877b53c42a41e4f39f607", + "0x12ef0a09e0f5dc9d89b01cfd66b34182e80821f0f9d86c80327086a9960ab9f8", + "0x30bafa474c54d2912897a13911cd1df20988be102333bcb9fc54905789f87718", + "0x383205a3e0b07e359127b28c3ad1b451564091893edc87d3d92e081111dd20e7", + "0x74382d6b160ac8b1e7b86abf22cb943b43afc4480be4b09c87c8b796f22eafe9", + "0xe84cbe2ed5a30d7b25ec540b1934577387626fb894e4248c719d417ff1b0f171", + "0x068dd7e31af946d3427dd6822c22577886c32a7f1e3a3bc61ee061be7c456751", + "0xff5309cf09f24f3666205ae09e542634bb848c47031ebc10079d96819095b60a", + "0x82991fe8d442572aafde5e2f6d2c0ba0823ae72110c2f4b65a0d39244db460a0", + "0xb86d9c8e378420595feae0f728e00736f5b72ffe37e289088c03235b3ae8f556", + "0xd678cbfb25960efc5a64d48f2ada784a5b43123da5db8636804c2ab7d1a6cc36", + "0x1ceacf6ae9acb6e7438e6971b133aa7a8ba7b648c130962c3f60b7449266f3ff", + "0xe81d2bbf5efd047428040f86caa351a8785a0ee864e74760569318c997b25116", + "0xde530285d36c4a50d0f91d48a42e9b85de919e51246b6aa54a55eb2041b17289", + "0xd5b86ba5c24729d199007133a8000314476135cc5b84dbc49de41a7d9f3060c7", + "0x95b2fc8a95f67d4d67cba712a98bb3b35fc4b92581f5eab9e737f2555592bf3d", + "0x9808b933e2c732a2b4d6229467430cd73715ac93d1000c470dbe403d0f14b6ce", + "0x8a708bd8ec41b6aeb1f822ed4892c4d685ae3fd1a752a0b79a10a6cf288c8a26", + "0x689c7f32af0a20de771b9c03efeb6304b08a421cbc2f178b63cd284f3d74407f", + "0x0375180a004265f4a38946353455c221785c3f6da1dcbde2c09c373fa42c434c", + "0x764f8f063124e8226a65af4823b260354924781b339a93f6eeb0622e10333741", + "0xd0a28ce8c50017ad2e0bf1c1f8193792228b879688f01354552e656272bd7936", + "0x20b12fa78b655cce826e87bd18cf938917d37c306cb620afef671b0548b1e1d0", + "0xc94540910d93236aff53413af46597dcb51c02508f14bf81817966ef32799c00", + "0xeeda2d6df1baa5dd3cf904c4402e4e99aaaaa16b6f3a0832bffad5492fd9e725", + "0x74de84a1158dfb1af0c1478cf0b048ae8b0ae00139588e91d37a6874b524522b", + "0xe9c92a1b7b298d7222890fffbd5ae4d2f8a8e0c5519cd06c3e34fd94b1f12767", + "0x18261f839aab59220f72e4e4bfa7a8dde2d3c5cd8c0179d2ff32a151f7af92c2", + "0x35fd53473534a3bdbf0ada29529991bfe6ac1865cc6786306b92dc26a6aa8116", + "0x6f40f093a08a00eefae4cb848462ba663b62f089005acb49a8f5ee3f1a767375", + "0xb0d49e32ac2ddef6bf0729ce9212c4bcc053aaa7cf8dd6649247749bab68cfac", + "0xb616c68f680b5cc9be3fc5bca40621514109dbc1316b848f1f3ce18b05e76d33", + "0x3ac8fe2f016f98eaa25451e36ce4fcfcbd160c0306c57f2edea049cdf541538a", + "0xb45e54eca70d4943eecaebfef3dc2219e79bdc71bddaec6adf53a1d058a65a30", + "0x74284120c5fa1ddcb7c294533eedd0b1ca2703626b7361543cb8e2a922177aae", + "0x8b15208a8b5d6ddfbe8b09148d497a5e3fc267b8f1d24272814d72f4826f8e88", + "0x3f9d4dcd96d5c902d4ef5655c10620c3e5a25edfa6fa093b0546d05c7c724d8c", + "0xf91ef06068659865a7c94e955f9c01ba4794214ebab33c9ec7030b2dfa47604a", + "0xadd5bb3d2f06ada2edb35754833e1bf1e317edff3e33535e135e67b4e4c5fdca", + "0x5aeb51beab2c98d3f77f2f04a39c2dfaed3ff759de9f5c16d4d88692a95eca60", + "0xeab1ab2c49609df8e29041ffefea082f92941aefae697fd915b9aeee8665c57b", + "0xbcf847e97f7f6fa5a16075ea54a67254e21fadeaa38d7aa42d16f223fd179faa", + "0x07f25413e56e9dfbd9bedf4b0676755f0cdbbf10b8f13ac7ef360bef7ac905d1", + "0x373e2f4dca323c9c4b4cd0cf4a1eb04ce7fd4d7548078200d9ffde2e3fa4cee7", + "0x5b9fd47a0d9cb386ccdcb2755934bfb8b27be896e52afaf18a0d130bcdff5432", + "0x1050a77797e0fc3a98c1d172496b8a3bbb2b045ebaa6b8b4af4e1542180f464c", + "0xea29629a5b08050c92412a25506d4d6dd8ea0f6bd8c962422d8f4913090a6d2c", + "0x1cc76b2b9f505bc358df15e285ac7cdde0009a2a19de9fcb5a44156ff76c5585", + "0x03cbbc18173700023643a8d6d7ff57cb0503336794c5fbe0b705a95034b7af80", + "0x9e2a5b70615a5c057d2956ac21838616ffd5cfb26fdf7398c4ad988a8cbc27ed", + "0xb2ef5e7c15e169ad2ec00e254415f4fa6c1f0635f728a98724dca4335e1c7801", + "0x50f9e432ed8c0c999685735ad95a4c2b3e0c0002d1159056392ed541ddca9b11", + "0x40ecd3140c4c8b02ce66489b39842d92ca64d05c30a9eddbfe675dded3fb6f3f", + "0xa1417d5ef7d185323ae3452fd99d54d5336f69ff866cfba06838da5efe273ebc", + "0x93b51cb9e7c9ca4e5f67fae55992ef6b0869c8c2effc8d244791cd2275f5f136", + "0xd9889fbd8c71e14316b5dfd46a6d049ec05127e5d3db6f0a31a935cb86b42d0f", + "0x384e1275612d71431d80d155015010e22b8b14a0648328bf1b32f92b1673308b", + "0x5eeac9b703836463fc0019c1b6f4be32282f4ade6778f897f6cf9d4c33e16085", + "0x2bdd040915ac28a0a604b727f062cf49fd413c44bcfaa2cc5eaaa9224248ef51", + "0xd7c85280a461c43df6c82f6ef60a973f2581c428394996191eeaa0d06a4b6473", + "0xe57d7c71a989601a066f8447a5be928ad0ce47d5413eceb709761654a30667e4", + "0xe1514ee44d1db8307cc08177a343887b5bd843cc510c5153b7f251aa10704f87", + "0x2898a69c885bb4cfcffa45a8aa63a8e81a40d4e3a7e1ff218ca3b4c70b836e08", + "0x27b66b51bb80e11582319b2fe176490daff05f0ce72a9dbfe79691676a455e0c", + "0x321d7bade5b8a1adee64bb0362620d99a5528831cdc0f1bd0258c9d66e4515f1", + "0x0a5443109753ff0845752dc998e82148d1de44d8347e51accd03cdbdcf405acd", + "0x1ef3a558361ee68b83346d40624b13d3170519e10dd18f60b6c5d7804f3c2d1b", + "0xf81fadde2aa798e6c151b35f764009d754f01aa0d8dacdd1a8f3109bd5d711d7", + "0x1af5b4d637429fab034b33b5fb3add567b5896608bcdc9e8d86a7d7ce762b4c2", + "0x8dcae50013fcabdc708c7b99c46fb4a68c75971775c135b7f7727bdf8db645a2", + "0x74dd3719b6229c2f675e41bae47aa0de9587608e8ad76e9dd911d695cbe3727a", + "0xca02fb569c275518e1cb95018a3b67dde118e82ade5cc9a43e118afa8da5e3d4", + "0xd5a890bef2beb2920a7ac22be90d0ed203dcf6b37ed0b3d2cea1fcc8f68c6d98", + "0x917c9cc04ac1f8afae96f0dc9b49161c352ed4e1da970e17d52fca31b8c1978a", + "0x009f16eb012717beb87fcc2b4417c8096a621fddc2421d02d84d0bfe92cd3587", + "0xe5ff9e2a1ffbcf1f53cf716b7caaa1317151ed8b81bd641bcf41eeadcdb0790f", + "0x2dfd67dc149772d4aa52588315df62edbc8a9340f2b3afb367f7f1564c1b8503", + "0x830df571a176933f6a72ac634933d61e602f744d1e3a046b7b639c9d2110580c", + "0xb2a030fd70ad2290c69e9b41220c14800d9adc33d7f8af049120fc6526a654d4", + "0x8a013c2432c60aa6315b1adc7155dd022df24129106cccbdf463273051ee0efc", + "0x55040dc6b554877d752f2f0bf0d97f71b34583b3d939587106affdacaf5d7c0a", + "0x251817e5c81aba6d675d47d688f19d5cb6957cea13ef3e15c66a6573b84af432", + "0x708cc1d141308870ea3ac36e5781cbfa3b5af327c565231123496354b5a9e74b", + "0x4efb2006e58b45c648d27654d45f1f797d4798217b2d0b54958fc576f115d81c", + "0x7d1bc87fd32a1b2ce74fe3784be5c0fe2e625ceac523ad55da7ebcd3cd1cb94f", + "0x575cc8bf8070ea53a54d027cb7d42eec9dffb85489013634350a96a434cb498b", + "0xc69812969e85bcd2e7e048b4323a726691c78d1902c1f1dbdd3893c11b9df8f6", + "0x6193928c0a4e47c9409c1af5d945a8c92c9e28a76570dfaaecfdda8071d6558d", + "0xb8982114b6b5da8849c27ee7d23280e15aa780248ebd36e5d364f2a05ae1fe45", + "0x49577950e5a3d4a06629686f9353adecdad6670fc9f4e6d3eaf6735296cc6775", + "0x6444155176ebe3b62f028ad79f058271d5b317360c0b97b7fe8c2a642da88229", + "0x9a3f0adf9c7b9380f60baf1d524590bec23b4d3790b3909ec8da3e79303252c7", + "0x591f122777ae7a313b6c4ba8c052d483f2aa3a687b5d85ed39e19d7e0c0e6de2", + "0xe3d68466d0747ab6245e5d8620eaae080a0f3c2aa34a56defe8adaef56d5474a", + "0x8d0f53bb5f7610133f04a763263815e092e43b0016369866e959d22eca466d85", + "0x8c8f0fff76977593112a64826f15ec0e909d9a1f1589e121a37f73d881e6b696", + "0x9ab1411e7ef5b295ab1a9dfe4ee1cd1a740af5b7e4b0a0e9c4a5f37e803c7c94" ] }, "accounts": { - "0x0000000000000000000000000000000000000001": { "balance": "1", "builtin": { "name": "ecrecover", "pricing": { "linear": { "base": 3000, "word": 0 } } } }, - "0x0000000000000000000000000000000000000002": { "balance": "1", "builtin": { "name": "sha256", "pricing": { "linear": { "base": 60, "word": 12 } } } }, - "0x0000000000000000000000000000000000000003": { "balance": "1", "builtin": { "name": "ripemd160", "pricing": { "linear": { "base": 600, "word": 120 } } } }, - "0x0000000000000000000000000000000000000004": { "balance": "1", "builtin": { "name": "identity", "pricing": { "linear": { "base": 15, "word": 3 } } } }, - "0x0000000000000000000000000000000000000005": { "builtin": { "name": "modexp", "activate_at": 5067000, "pricing": { "modexp": { "divisor": 20 } } } }, - "0x0000000000000000000000000000000000000006": { "builtin": { "name": "alt_bn128_add", "activate_at": 5067000, "pricing": { "linear": { "base": 500, "word": 0 } } } }, - "0x0000000000000000000000000000000000000007": { "builtin": { "name": "alt_bn128_mul", "activate_at": 5067000, "pricing": { "linear": { "base": 40000, "word": 0 } } } }, - "0x0000000000000000000000000000000000000008": { "builtin": { "name": "alt_bn128_pairing", "activate_at": 5067000, "pricing": { "alt_bn128_pairing": { "base": 100000, "pair": 80000 } } } }, - "0x00521965e7bd230323c423d96c657db5b79d099f": { "balance": "1606938044258990275541962092341162602522202993782792835301376" } + "0x0000000000000000000000000000000000000001": { + "balance": "0x1", + "builtin": { + "name": "ecrecover", + "pricing": { + "linear": { + "base": 3000, + "word": 0 + } + } + } + }, + "0x0000000000000000000000000000000000000002": { + "balance": "0x1", + "builtin": { + "name": "sha256", + "pricing": { + "linear": { + "base": 60, + "word": 12 + } + } + } + }, + "0x0000000000000000000000000000000000000003": { + "balance": "0x1", + "builtin": { + "name": "ripemd160", + "pricing": { + "linear": { + "base": 600, + "word": 120 + } + } + } + }, + "0x0000000000000000000000000000000000000004": { + "balance": "0x1", + "builtin": { + "name": "identity", + "pricing": { + "linear": { + "base": 15, + "word": 3 + } + } + } + }, + "0x0000000000000000000000000000000000000005": { + "builtin": { + "name": "modexp", + "activate_at": "0x4d50f8", + "pricing": { + "modexp": { + "divisor": 20 + } + } + } + }, + "0x0000000000000000000000000000000000000006": { + "builtin": { + "name": "alt_bn128_add", + "activate_at": "0x4d50f8", + "pricing": { + "linear": { + "base": 500, + "word": 0 + } + } + } + }, + "0x0000000000000000000000000000000000000007": { + "builtin": { + "name": "alt_bn128_mul", + "activate_at": "0x4d50f8", + "pricing": { + "linear": { + "base": 40000, + "word": 0 + } + } + } + }, + "0x0000000000000000000000000000000000000008": { + "builtin": { + "name": "alt_bn128_pairing", + "activate_at": "0x4d50f8", + "pricing": { + "alt_bn128_pairing": { + "base": 100000, + "pair": 80000 + } + } + } + }, + "0x00521965e7bd230323c423d96c657db5b79d099f": { + "balance": "1606938044258990275541962092341162602522202993782792835301376" + } }, "nodes": [ "enode://56abaf065581a5985b8c5f4f88bd202526482761ba10be9bfdcd14846dd01f652ec33fde0f8c0fd1db19b59a4c04465681fcef50e11380ca88d25996191c52de@40.71.221.215:30303", diff --git a/ethcore/res/ethereum/ropsten.json b/ethcore/res/ethereum/ropsten.json index f21463b1f31..1dee7e30f69 100644 --- a/ethcore/res/ethereum/ropsten.json +++ b/ethcore/res/ethereum/ropsten.json @@ -1,50 +1,50 @@ { - "name": "Ropsten", - "dataDir": "test", + "name": "Ropsten Testnet", + "dataDir": "ropsten", "engine": { "Ethash": { "params": { - "minimumDifficulty": "0x020000", - "difficultyBoundDivisor": "0x0800", - "durationLimit": "0x0d", + "minimumDifficulty": "0x20000", + "difficultyBoundDivisor": "0x800", + "durationLimit": "0xd", "blockReward": { - "0": "0x4563918244F40000", - "1700000": "0x29A2241AF62C0000", - "4230000": "0x1BC16D674EC80000" + "0x0": "0x4563918244F40000", + "0x19f0a0": "0x29A2241AF62C0000", + "0x408b70": "0x1BC16D674EC80000" }, - "homesteadTransition": 0, - "eip100bTransition": 1700000, + "homesteadTransition": "0x0", + "eip100bTransition": "0x19f0a0", "difficultyBombDelays": { - "1700000": 3000000, - "4230000": 2000000 + "0x19f0a0": "0x2dc6c0", + "0x408b70": "0x1e8480" } } } }, "params": { - "gasLimitBoundDivisor": "0x0400", + "gasLimitBoundDivisor": "0x400", "registrar": "0x81a4b044831c4f12ba601adb9274516939e9b8a2", "accountStartNonce": "0x0", "maximumExtraDataSize": "0x20", "minGasLimit": "0x1388", - "networkID" : "0x3", + "networkID": "0x3", "forkBlock": "0x40E80F", "forkCanonHash": "0x3e12d5c0f8d63fbc5831cc7f7273bd824fa4d0a9a4102d65d99a7ea5604abc00", - "maxCodeSize": 24576, - "maxCodeSizeTransition": 10, - "eip150Transition": 0, - "eip160Transition": 10, - "eip161abcTransition": 10, - "eip161dTransition": 10, - "eip155Transition": 10, - "eip140Transition": 1700000, - "eip211Transition": 1700000, - "eip214Transition": 1700000, - "eip658Transition": 1700000, - "eip145Transition": 4230000, - "eip1014Transition": 4230000, - "eip1052Transition": 4230000, - "eip1283Transition": 4230000 + "maxCodeSize": "0x6000", + "maxCodeSizeTransition": "0xa", + "eip150Transition": "0x0", + "eip160Transition": "0xa", + "eip161abcTransition": "0xa", + "eip161dTransition": "0xa", + "eip155Transition": "0xa", + "eip140Transition": "0x19f0a0", + "eip211Transition": "0x19f0a0", + "eip214Transition": "0x19f0a0", + "eip658Transition": "0x19f0a0", + "eip145Transition": "0x408b70", + "eip1014Transition": "0x408b70", + "eip1052Transition": "0x408b70", + "eip1283Transition": "0x408b70" }, "genesis": { "seal": { @@ -55,14 +55,14 @@ }, "difficulty": "0x100000", "author": "0x0000000000000000000000000000000000000000", - "timestamp": "0x00", + "timestamp": "0x0", "parentHash": "0x0000000000000000000000000000000000000000000000000000000000000000", "extraData": "0x3535353535353535353535353535353535353535353535353535353535353535", "gasLimit": "0x1000000" }, - "hardcodedSync":{ - "header": "f90205a0cd611d63e443c91cba1dc259c71fdb96bb70a1b78639166f7aa2a09b36843f7da01dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347940d85c541489b4c67df516b86898e1ed59c8d639aa039cdbfba9ee1e91d15fead004292a7df0865204ee878daab2375683cc527df2ca0ebf5b5fe0ef82be8bda42e6767ad7881269cefe650c3a899f38f5ed1c05cad8da0578f443c4b0d0bd89e42a855436258f1b19d1a018f6769c5be7aca0679ce6008b90100000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000008000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000800000000000000008501856ef4de83436801837a121d830e1038845bea0191864b564f544845a08dcfeee7d79d54276d8bc35765ade21a51d277540a3d7a8e17fc26b6324487e488d70f2a90307e2ae3", - "totalDifficulty": "14549054591321060", + "hardcodedSync": { + "header": "f90218a00379bed5cf7fb318965ec9b496aadc573fb78d1570ad2c43703c72e6c6ed997aa0b86c16b5c12556b0ea79b4d52ec77e3a3362ef43eeea51b594afc53c4b0ac115942450ec589db090d88e8de36c1790ca309841181da06183029c4e9e730abd17f5ea5427b626ed83796cab9bb4f28444cb7ab159f8f2a00ef00ef22f20f7d802cbede6ed8ff42d62671a7c07af9496e14710d7e63bbb9ea0a0e273f9d56a2ad827fb338fc0a109c28c0eee076d01454b76d42c99f8c54168b90100000c0002000000000000000000000400000000000000000000002000080000000008800010000000000000000000000002100000000000000000000020000000000000000000420000000008002000000000000000000000800001100000200004000000000000000000000008000000000000000000000000020010000000000000010000000010000040000000000000000020000000000000000028000018000000000000000000002000008000000800000000004000000000000000000000000002000009000000000810000000000040000000000000200100000000040000000000000000000200200000000000000000000000000000000000200000844af3d7d883486001837a120083146f76845c2c29239ad983010814846765746888676f312e31312e348664617277696ea071764589dfd7ecd322aee118da27aa747da4f5d14c1a5951f9b3a297d47a031888ba12cdb8daaeae57", + "totalDifficulty": "17277173430188370", "CHTs": [ "0x614648fc0a459451850bdfe353a932b5ff824e1b568478394f78b3ed5427e37a", "0x1eae561c582dbb7f4e041998e084e165d0332c915d3a6da367638a8d24f3fafc", @@ -2220,7 +2220,166 @@ "0x294a3fd73f102c7017c9208857dfb91ec7c323916dd1bb3c9f1fac2c7d952b4b", "0x3a9fe3685814b6cff7a918e514a9d5375a1fc8268a48d5b78da93dfda115332f", "0xc033a1836983d485e28e5a0825c953a76d4c7f4a8ec5f7eb0b11baf5ae2beb79", - "0xb088df91127cad5d72f8db96d7ea86dfdef55374bf982222a45df7d2b631ceb6" + "0xb088df91127cad5d72f8db96d7ea86dfdef55374bf982222a45df7d2b631ceb6", + "0x1b949204d4713d568d40effb39002052a6d3a568bc81aeeea6d1253d198f1be8", + "0x12a2ca58e35fba0e6807cd6342ec56b3694a463f49804926349f4539be68d438", + "0x100b99dedfaec985e782b9b35858100eea3912b9aaf55fe7a8a767c93898546d", + "0x13d52bcec2eb86e2362570e1660726c03ab838fd5a00e75db7708941b4eb7f78", + "0x593965331b69f02f8ff23ff0530448376ea605ea05cfc28cf39e9db21b412521", + "0x0253f2a3b472affd04d8da76383653ad987d0cb533fd4bdde32a346ce441d74d", + "0xb43ab0c15315108cfcebbbb139eac536205a8fbde0b92e32937ef799d664127c", + "0xc4cb2191f244ba3720fbafe44d13c0d1a3a2e32f80a98363ef748731f54f180d", + "0xb28508b83729ac435202a034701f560fb4fc26e95b4a359da21309c66c082e7c", + "0x4826172b9fc3571e8b6193668e47ae6fd0c44a6a0cef1135333ac0213241f0d8", + "0xb5447c4fd18da34ffec6774325b3b486b625890aa5a383dd5f5ab4e4dc455523", + "0x92d2150387bc841a0a335417e3abe535a1fb00389ca22c22c68f82c8d4e78d7b", + "0x46a6298ee531dd085c8744359fa14217337e9dab9c28a22272185031198feb90", + "0x70cc7e64749cd76006b7553a3bd6a6d3da7840bb5544a27bf281563a82ad1d7c", + "0x727ca0fbafc16b0d88921b72ede2ba344988eb34339e0beb319906e94b99a50d", + "0x83f40d526191f18869fa9a3b4110f402d2304e4061cf90ef807ffdda90569bae", + "0x4267c3eda8a33a7de851bd9793c7ad5287b16204939a367f6139fcc63ed906e1", + "0xda06431a6cde3975a8d2279a1397714d898550e8e40506fa2b14cad7446745e3", + "0x841648c4d39e19e486d139799bdc0cf70976cdb455d581623c7a78dd3a681f82", + "0x88cf67a8dc5788f2c2423f9ba1a183114e58d51abc359f43a14691b14a49b35d", + "0x52caae2977f3bb88aeb21c8ed26821b69409d9de0356ecb042b39863df018dd3", + "0x2c993df9d2e2d312481f8e2fa518e1e49fbc01e70b1b82aaf3c7450d66b4b6b7", + "0x7fc40087df9f67f334d5b38845bd9a38d28e63f7ecd8ce72bbcf5e40954cfbfb", + "0x7ddcc5b059d9740b3692bdfc5734c024c54657bc0fcb06995455b72821e203c5", + "0x136ea4817f923a3f67706f0c2cfa69ef3dce06fd133206281e8eeca484c349d0", + "0xab84a618b9fd1f69deeb2fdccb86cf43be4d2e207e70928b29cd9c25d219c931", + "0x02408b3f518474db68ee4c1bf09d6f03e96df2628631b1bbc0614652851077d9", + "0x03d20cdf5fc553b833b5a09bc0c1aaef7de687815db28bc72ba0245ec266f818", + "0x6ef4844c3615faa2e9116e1a3413205c0100df07510b94ff889ae00ad7a6b735", + "0xce3ec8047d2051701d0adfbecb07eb72a95b37f7b87f01f8900391b543be9a5a", + "0xf461948fe25cfb681d9be95c34980f19e529ae0e2d958bfbf5034ca3626e6cd8", + "0x9cb75fef2a2f75204c125438c1841af419e92f0b490c7c6fccffe5e89f3f97b1", + "0x7132ee9c9db9faed4ade82b126b3b32ebc755114203a6eac2584fd720f9f86d9", + "0xaf1d9e8cf0734fda38af74ba1425fdf2121c3c597be9f3dd39e22d80e301e52e", + "0xc0ac3a2304310466215b8ac6c423719ef4da871d71fb774e180dd8712be96101", + "0x5fb5fbd3db4e37f637286e9cb2f07e5b878d482569d763549d4954c43215db32", + "0x34de5161e1b351e4e125a0235b7b9844f74b51a467f36e89641381f6fce5a7e4", + "0x606782a845f84ac4107a51b9c24209841173aa3f8e9cc2e51c57bfe72e332633", + "0x058d394d8a87c1e70b4ea57fce960eda9ace177d321b52fc90944ade4407022b", + "0xcf8f4925c630c8021aa1e00a1a001a05642f2adc2465dd52bb7a9a80991e84d2", + "0x0dae85d04c42da27288bdae0c6c8e564ec13f23e85da729cdc510bdc04934f55", + "0xc5b9dd7e2d0e55074e96b8b63159126a9c8ab43d42f56af3e5a326f042786b2c", + "0x9c1989e9163d7cb4710d82a708eb1d46b9cb7a9dcbaf1816f71e37090e94f836", + "0xe8d5dc22434014023f70461aa1c011c880a0f846255575353106b52df595509d", + "0x760d3fdc3d34548004d1aecedd84fb248467975572eb87f782009dc7c7c2d277", + "0x6b93dce72d74101a95b6b00d084972f4e35abce76ee4a58b6c260835f9a28c01", + "0xb6e8237d3d8a290f379f08e38f82f18be7e2d480ddc4f44df3e5f3f6c971cc81", + "0x77ebbde0737b668b3d16d764d055d29ccfac7ece19ba2e8d861f937f54df328e", + "0xa8c044ed1d2d77991561677ad8f9e58c07f2dd2caf110717bbd4cdba4cb60b84", + "0x86dd579810c664218ec61784006191f8511374db0078bc8782f52cc618ee4669", + "0x823fc59a1257302917fb1b53ac9dcb4056958ba764c2811b27db4691538d1a0d", + "0x5cc49ee5c1999eb52922e4be082eee8919bdee082d797a50c1ffa29b6ae4edc8", + "0x4a2e06ce47577ed442cbc35c5b232877793372091fc6efd6d60b77ab26bfb985", + "0x30b8c3227529b8da9c3e9ca74d67b62a594743b0fed7c2d66a9a04c9c2e05847", + "0x3c698f90a3cb7c32c3d909df5e2a6f3bc733ee415b95cc40edc52eab95345239", + "0x1210c6ae4167486def5fd9cf2b7042c7b35066e633145b4ba01413329d80095f", + "0xd5baa536453f7d6062dffb1dd1ee1eb1eaa8449e4a8091351a69d6222022b694", + "0x914297de69e782a4292254de92b5e754a1de92a841da73401eacd62404ef4fd8", + "0x0f052f1b2f73c32c032cd52589c08dd365503f2602bc41afbe143790ba86d89c", + "0x7f492b234cfe8681cf41cde74b479fbe8aa81dd47499cc27b07d9a06007af152", + "0x88bb5da748c6f96f3743edba77c172d061489ec2d8da82bc7f858660ae32c319", + "0x9d5db583ead51d5ed207f9b4aa7c0dc45b64517dc14906b9de0b01adea464bbf", + "0x92b9d0d7883b433d65cf3e2ef5af4c817216692816e1f8a3b27a079b622e251b", + "0x6bde93b8499664d61aedd67898071d1711e565f0565db89df8c2dfc2c7f1c08c", + "0x8bc8bbd4e865d6c446c4840ddbde800f3de2725fdeab0cce5e6e0e1acc23eb09", + "0x66e1fe40cbfede3b8791913b327c391f6a5d81137c5da5367cfeeaea5e6e1a8d", + "0xf2f87039b7beb30d4358b651b8566d509caca0fa4f50148b80b44cace72bd058", + "0x25dedfa2522ec37b9b607ccc7f8a260c5d8fe34b12771028524507bde815f004", + "0xf5808873db2b2b21c719ffa31382d0017ba9c4cc408148bd39ef161ab87307b2", + "0xb979dc5a24b39e9c4272c69d858bc1ee8ec49ae5259cb600b146ad8f27756397", + "0x60c3fa777a9c5d91775a173e137a79ca785989c5c3d71fd163bdda852ddc0cc8", + "0xb5ced19b8f2025e69f79511988f634c2ab0abb37dbce6dbd1e3df5cc58063a62", + "0xcc9d411691a188855b529bd49bf00b08689099b31fbb16e6420282c54167d3ac", + "0xc3d8398954555c2e1c7aff2f5908170892769035889ed3c64bcc842c87ba7499", + "0x8ed00b0d107969f06692868cf8d5bee85be943d417198b44e7c95962a1ddd7a4", + "0xf38a2c1e2179a3739fe8b53812d1ddef8acca6df5389050113992a10652f471f", + "0xf32225385feb683115b88285204d56922bdf59e0f58e332949d0f93aeaace4b5", + "0xc4559a00cd9b5b801c21278ed7a2b2a8e4884fd6baaad9fc986ce8cf85019edb", + "0x328bc1a550b6a9a9732e39ef04917f11a5c88f99a9b1f36009d339313159b0a3", + "0x322ce0bfe3aa6729e20ad2548aaed69e54ea1b94ee99dd7c2ef200677e5198ca", + "0x5b758330b7fc118ca6b36ab6b3dee1cae8dc315cdcebb3cd757d25be9718e2c1", + "0x3969413a5efff28ed9f4187ae712dbafe74ae712d801c15644a3961824e5fa2e", + "0xfcd6eb558bd44c5073aaf04f8c1d2a937a338ae6b75cc6d59d35b40dc707f151", + "0x27e43e27370c02660c742c83b6e8976358cc5e01ed04ec82ae087b5519345f86", + "0xf47ec3250d2cbd2f82e5ad70f93630e17d14ff43c791ddaf1c86715e03ebd5c6", + "0x308aa120dff142e89c16ffe5fd7d2204993ff3657b6ab0aa0dbb0d83d14b2afc", + "0x98fe524716333ba24337ca9d6d913a0cfba21362ea50b6e7285bd71956faa75d", + "0x938cd945ef8deed0eb2703d9875ce64712de9a78900578b85a0de6995323e3c9", + "0xbc31b5581f994b3017d6552a6934ca9c52553a4d42a8100af941edbdb2e91a9d", + "0x7327f0976fe152ac14e7d7d3fe9cc2a6a75b968a265e7e0172c0f350d3e152eb", + "0x6c2479beead9c745fe1060956af733766cc80da7188d2988bdc1340d6cd284d0", + "0x5fed2cf969c6cb9028a4e9bc7648022cc4a4f87522a553af1ab21928cdc55daf", + "0x7e8edab36495ede01b8705c5fdcaf89463371ebe10f57173ea857a9fa2192937", + "0xfb58d0ccbeaaacb3b4519c805255fb590596b54e4fc4430a6ec6c5c7fc9766ce", + "0x937a1898488e374bee45ca21d771793526f6a52b30199040760da726247f7cc3", + "0x6e85be1630192947170547f83f5f5278812841c1097decb2cdd7e7438643053f", + "0x12b0b60b027afc8a39e6c32b65aa828e12a7f9df6c8c1e970f08e18fca430513", + "0xf7037c53bc45bc06d8670e846f84824d109578068eec905054f666ee5510fc2b", + "0xc047b653ccbdd24a41214add8b7076bef8916bb040d47d5345e54d7b8438a099", + "0xee03d8ffcf729e8a46f817143763bdb98d646b9945eb573ee52997622e08bdc7", + "0x1adbbab8b4d4df3914a0dbbe70b6815a8c773f7000fef03b55665939d29a2d4f", + "0x475f1fbb7642240b7abff801b13dd369733c45f3103c836106e99cdd43c0caa8", + "0x2aaad3b7050cd04da0f9e613cadf75862c7e8250ed59163ae113e77d63818992", + "0xcbe88d935e66909bd168057b1601b1abfdd68db2a0c0e4ca61fdcf1dc0408774", + "0x576d6f60f196a7736d9197bca8bf9c82fafa9c934cf8988446e5c86859d89f43", + "0x5ec11602479ff16704b3413fcaf368cd8a6a87ff9f5a3a075ceadea2badeab05", + "0x6be482890a8e1b9de9d3d5d93a75fb3fec750c1b8440f7c9ab072c699ea35351", + "0x621797956f53edc280890b015baf2d0b73db85d3b186498e7e9f40fa3408a1d7", + "0xa622bc30127840cc1c1b83bfcba8410bde851070517b39f73fa0753e39f818ba", + "0x8f2c09f74bfbadbfd75ffa2af29e8ad6f6a67d3891ef8ae8d4d785e99af75757", + "0x2fea6a50503eaa6dff3275ec99f56e67e6125307697e4bdc2c489a3cb69029bf", + "0xe5bf069d84493e9f8fe20682f6241a99dfbce8e0580d26014245b28a15b63a51", + "0x5ccc1e2e1cc064acea0ee9299bf1c9469199bd2bd0c6769dd764a065e1d911ff", + "0xb912bad85e4c8b295e3ba2d68c8c5e0d45ba25d756ab24b0626257de8225ab49", + "0x7477d10d6c663d64dd03ad5051f7482fd5a6e5d320e9740041b13cf555e6a227", + "0xe7e04c26dedb78211e39660347214cf4751f19eedb86bb59f4b56855cbd0d2bf", + "0x61e04f4540f1db5e6acbda2b6b20fa5931a1f19607fa4717239acd737490e7d1", + "0x172a7fdf55b224b2bcd76c248216cea3e45a25f1783ac02150759495288297e5", + "0x304a01bca8244bc1ac8568fac49ebe00c83ac93df08362d3fd80f86dadbb779d", + "0xd495196cb5d83bdb3f962d3222d010e95949e2192f914ca256f25755e36b5bc8", + "0x5f4036ef1381adbdc0ae7a0647ca9051d21d5705a8c5c4753aacced054a86796", + "0xb6b2823ac77073022924ef5eccce0fafbf20cda23ba8ca9cca3972c6adcf772b", + "0xb3b34c3b6f3f3e96b4aa487a2bbfb5cf2b906bf3ab9ec411b6a1ebe19bc38364", + "0xc0c9826164bfacbe623f858bb51fefe867511023a8250c187d3520792d4972a2", + "0x1537fdcf26b6705f4585fe555151a59a557c672b91f39567762076d22de0d9bc", + "0x593d8b50367c9d3daafc403a38950e9c13ee3d3e38367f8ee6f0298cf41d8d5a", + "0xfa22314c812f3f8cf6d91c16a81fdbf93aa8606cf7010dd4711099ae87a3b81f", + "0x6ba7db726fc78312ab135893a5691db6efba59fc92efb206405ca863f289d721", + "0x8a13d09d91065c4d13fa532b0eafe3311ecc8a35b18092b042d7bd4df77b7e72", + "0x7d0afb3306161abe2a76e966d8ed01816930633c11d9caad92e7f45d195f0dd3", + "0xc8ed07d535b55af4ccaeb9c78a330fd051efb34b3d70f81a96f8221ea500efc5", + "0x4b1a35a1d95c3a6a2694938b071810412e6bdaa3681ef263efed5d1f4c93b55a", + "0x457cee6b8d1778eb00415c76c239966559e04b86b0ac597daf918f269b41b082", + "0x27177d9985954a57f90b6ca8b4592e285fec13196c3e2e01407fd3e123b6b516", + "0xdea7e638ca66b09790d12fb6fc8f6d6177aca1a209e090de296b9ecb3e0213d7", + "0x98e7e5327a7d2543822260ea2ed427d4f332dfa691d4547b4acef272010e90a8", + "0xc86428edf6c0b39db083970f80a7c2b04954cd572c49336772aaf27dd87b9849", + "0x17db87fad8a68694ca810bc2e5cefdf7c0f695004e4450d0cede7dbb2f7cf753", + "0xcc2face264b38e98ccb2bfb504675f599091617ac7430d25bbc5fc9481abc8b3", + "0x0495d951e99119e7e66f2372007269a6d76341cc0670acc196fa59df089c0af7", + "0x1a105f9a0ceb3b4ee2205b5626ff63335a9ad16f9abd16bc77b7a782f6769c77", + "0x685745060da6f81b54f0d74dbff6169e00a4fa4e28357d18745246e39c9e6220", + "0x3b5cc9eed80730746770c803eda7737854f0bc15a5adad1eaf4dc1e079613aae", + "0x050bc98e087c86272a5ab2eae1b81a37969c9762a36fb069a5751ff2fa1a1a5d", + "0xfc6f6cee79d69ed119a23bd2111ebe1bf9eb984b6d42440a31e2e9331cb3cb1e", + "0x24fe575b0aeaec871d13bfec4c00e3b48b023008e3c29e193e33c3fa267e6efd", + "0x1764cae60df974607c2da7058b73edf4071603722f32676e7c6d577995d6b37f", + "0xd9aa22b7c733a78ba533536250bb0e5837fc9a38fa73fd7f888b8ce0da88c954", + "0xf3e78ee05410dcd0f991c3ab1bf4a3637e61c54648c3d04cb594965f3463f645", + "0x21c2b2f3635984f79a1798d5705301736928c705bac8627045d4dbca46270e5c", + "0x6869195743c986a275e717728f0b35f5badddadcd4723864f2ccb7752edccf2d", + "0x41d7d273d54fb5bc454c69e8328130064472e89408a313befedcbd0dd5e1fb6c", + "0xf0fba130c22ca0753ee1e4424e767bc6d3fd2bbfa68ba85b195979def650bd88", + "0x1d4da114f9132fbe49907afe713a80866710ca533ff5c4a993ee598b2a17bac3", + "0x172165a85ca4100bcad3fe3082c59fdf3aaf0bed23a938b4b326694f64f7e349", + "0x12cf00d3b11cbfaf2038ca1e9de63e4dff65a3352da5824043978ba8fe7e08cf", + "0xd64011bda551b01b0b33e1065b0069fd1fe103e2e68c50fc5bdf1f99b4ab5e0f", + "0x3e3bef8f3d76d1f410327cfd8f4453e0fb9ed392da173e26ffaaed662411f7af", + "0x435816db536c536e0470a3fbfa32fcd6adab877831ffa66417e19bfaa2c9c62b" ] }, "nodes": [ @@ -2231,262 +2390,859 @@ "enode://691907d5a7dee24884b791e799183e5db01f4fe0b6e9b795ffaf5cf85a3023a637f2abadc82fc0da168405092df869126377c5f190794cd2d1c067245ae2b1ce@13.125.237.43:30303" ], "accounts": { - "0000000000000000000000000000000000000000": { "balance": "1" }, - "0000000000000000000000000000000000000001": { "balance": "1", "nonce": "0", "builtin": { "name": "ecrecover", "pricing": { "linear": { "base": 3000, "word": 0 } } } }, - "0000000000000000000000000000000000000002": { "balance": "1", "nonce": "0", "builtin": { "name": "sha256", "pricing": { "linear": { "base": 60, "word": 12 } } } }, - "0000000000000000000000000000000000000003": { "balance": "1", "nonce": "0", "builtin": { "name": "ripemd160", "pricing": { "linear": { "base": 600, "word": 120 } } } }, - "0000000000000000000000000000000000000004": { "balance": "1", "nonce": "0", "builtin": { "name": "identity", "pricing": { "linear": { "base": 15, "word": 3 } } } }, - "0000000000000000000000000000000000000005": { "balance": "1", "nonce": "0", "builtin": { "name": "modexp", "activate_at": 1700000, "pricing": { "modexp": { "divisor": 20 } } } }, - "0000000000000000000000000000000000000006": { "balance": "1", "nonce": "0", "builtin": { "name": "alt_bn128_add", "activate_at": 1700000, "pricing": { "linear": { "base": 500, "word": 0 } } } }, - "0000000000000000000000000000000000000007": { "balance": "1", "nonce": "0", "builtin": { "name": "alt_bn128_mul", "activate_at": 1700000, "pricing": { "linear": { "base": 40000, "word": 0 } } } }, - "0000000000000000000000000000000000000008": { "balance": "1", "nonce": "0", "builtin": { "name": "alt_bn128_pairing", "activate_at": 1700000, "pricing": { "alt_bn128_pairing": { "base": 100000, "pair": 80000 } } } }, - "0000000000000000000000000000000000000009": { "balance": "1" }, - "000000000000000000000000000000000000000a": { "balance": "0" }, - "000000000000000000000000000000000000000b": { "balance": "0" }, - "000000000000000000000000000000000000000c": { "balance": "0" }, - "000000000000000000000000000000000000000d": { "balance": "0" }, - "000000000000000000000000000000000000000e": { "balance": "0" }, - "000000000000000000000000000000000000000f": { "balance": "0" }, - "0000000000000000000000000000000000000010": { "balance": "0" }, - "0000000000000000000000000000000000000011": { "balance": "0" }, - "0000000000000000000000000000000000000012": { "balance": "0" }, - "0000000000000000000000000000000000000013": { "balance": "0" }, - "0000000000000000000000000000000000000014": { "balance": "0" }, - "0000000000000000000000000000000000000015": { "balance": "0" }, - "0000000000000000000000000000000000000016": { "balance": "0" }, - "0000000000000000000000000000000000000017": { "balance": "0" }, - "0000000000000000000000000000000000000018": { "balance": "0" }, - "0000000000000000000000000000000000000019": { "balance": "0" }, - "000000000000000000000000000000000000001a": { "balance": "0" }, - "000000000000000000000000000000000000001b": { "balance": "0" }, - "000000000000000000000000000000000000001c": { "balance": "0" }, - "000000000000000000000000000000000000001d": { "balance": "0" }, - "000000000000000000000000000000000000001e": { "balance": "0" }, - "000000000000000000000000000000000000001f": { "balance": "0" }, - "0000000000000000000000000000000000000020": { "balance": "0" }, - "0000000000000000000000000000000000000021": { "balance": "0" }, - "0000000000000000000000000000000000000022": { "balance": "0" }, - "0000000000000000000000000000000000000023": { "balance": "0" }, - "0000000000000000000000000000000000000024": { "balance": "0" }, - "0000000000000000000000000000000000000025": { "balance": "0" }, - "0000000000000000000000000000000000000026": { "balance": "0" }, - "0000000000000000000000000000000000000027": { "balance": "0" }, - "0000000000000000000000000000000000000028": { "balance": "0" }, - "0000000000000000000000000000000000000029": { "balance": "0" }, - "000000000000000000000000000000000000002a": { "balance": "0" }, - "000000000000000000000000000000000000002b": { "balance": "0" }, - "000000000000000000000000000000000000002c": { "balance": "0" }, - "000000000000000000000000000000000000002d": { "balance": "0" }, - "000000000000000000000000000000000000002e": { "balance": "0" }, - "000000000000000000000000000000000000002f": { "balance": "0" }, - "0000000000000000000000000000000000000030": { "balance": "0" }, - "0000000000000000000000000000000000000031": { "balance": "0" }, - "0000000000000000000000000000000000000032": { "balance": "0" }, - "0000000000000000000000000000000000000033": { "balance": "0" }, - "0000000000000000000000000000000000000034": { "balance": "0" }, - "0000000000000000000000000000000000000035": { "balance": "0" }, - "0000000000000000000000000000000000000036": { "balance": "0" }, - "0000000000000000000000000000000000000037": { "balance": "0" }, - "0000000000000000000000000000000000000038": { "balance": "0" }, - "0000000000000000000000000000000000000039": { "balance": "0" }, - "000000000000000000000000000000000000003a": { "balance": "0" }, - "000000000000000000000000000000000000003b": { "balance": "0" }, - "000000000000000000000000000000000000003c": { "balance": "0" }, - "000000000000000000000000000000000000003d": { "balance": "0" }, - "000000000000000000000000000000000000003e": { "balance": "0" }, - "000000000000000000000000000000000000003f": { "balance": "0" }, - "0000000000000000000000000000000000000040": { "balance": "0" }, - "0000000000000000000000000000000000000041": { "balance": "0" }, - "0000000000000000000000000000000000000042": { "balance": "0" }, - "0000000000000000000000000000000000000043": { "balance": "0" }, - "0000000000000000000000000000000000000044": { "balance": "0" }, - "0000000000000000000000000000000000000045": { "balance": "0" }, - "0000000000000000000000000000000000000046": { "balance": "0" }, - "0000000000000000000000000000000000000047": { "balance": "0" }, - "0000000000000000000000000000000000000048": { "balance": "0" }, - "0000000000000000000000000000000000000049": { "balance": "0" }, - "000000000000000000000000000000000000004a": { "balance": "0" }, - "000000000000000000000000000000000000004b": { "balance": "0" }, - "000000000000000000000000000000000000004c": { "balance": "0" }, - "000000000000000000000000000000000000004d": { "balance": "0" }, - "000000000000000000000000000000000000004e": { "balance": "0" }, - "000000000000000000000000000000000000004f": { "balance": "0" }, - "0000000000000000000000000000000000000050": { "balance": "0" }, - "0000000000000000000000000000000000000051": { "balance": "0" }, - "0000000000000000000000000000000000000052": { "balance": "0" }, - "0000000000000000000000000000000000000053": { "balance": "0" }, - "0000000000000000000000000000000000000054": { "balance": "0" }, - "0000000000000000000000000000000000000055": { "balance": "0" }, - "0000000000000000000000000000000000000056": { "balance": "0" }, - "0000000000000000000000000000000000000057": { "balance": "0" }, - "0000000000000000000000000000000000000058": { "balance": "0" }, - "0000000000000000000000000000000000000059": { "balance": "0" }, - "000000000000000000000000000000000000005a": { "balance": "0" }, - "000000000000000000000000000000000000005b": { "balance": "0" }, - "000000000000000000000000000000000000005c": { "balance": "0" }, - "000000000000000000000000000000000000005d": { "balance": "0" }, - "000000000000000000000000000000000000005e": { "balance": "0" }, - "000000000000000000000000000000000000005f": { "balance": "0" }, - "0000000000000000000000000000000000000060": { "balance": "0" }, - "0000000000000000000000000000000000000061": { "balance": "0" }, - "0000000000000000000000000000000000000062": { "balance": "0" }, - "0000000000000000000000000000000000000063": { "balance": "0" }, - "0000000000000000000000000000000000000064": { "balance": "0" }, - "0000000000000000000000000000000000000065": { "balance": "0" }, - "0000000000000000000000000000000000000066": { "balance": "0" }, - "0000000000000000000000000000000000000067": { "balance": "0" }, - "0000000000000000000000000000000000000068": { "balance": "0" }, - "0000000000000000000000000000000000000069": { "balance": "0" }, - "000000000000000000000000000000000000006a": { "balance": "0" }, - "000000000000000000000000000000000000006b": { "balance": "0" }, - "000000000000000000000000000000000000006c": { "balance": "0" }, - "000000000000000000000000000000000000006d": { "balance": "0" }, - "000000000000000000000000000000000000006e": { "balance": "0" }, - "000000000000000000000000000000000000006f": { "balance": "0" }, - "0000000000000000000000000000000000000070": { "balance": "0" }, - "0000000000000000000000000000000000000071": { "balance": "0" }, - "0000000000000000000000000000000000000072": { "balance": "0" }, - "0000000000000000000000000000000000000073": { "balance": "0" }, - "0000000000000000000000000000000000000074": { "balance": "0" }, - "0000000000000000000000000000000000000075": { "balance": "0" }, - "0000000000000000000000000000000000000076": { "balance": "0" }, - "0000000000000000000000000000000000000077": { "balance": "0" }, - "0000000000000000000000000000000000000078": { "balance": "0" }, - "0000000000000000000000000000000000000079": { "balance": "0" }, - "000000000000000000000000000000000000007a": { "balance": "0" }, - "000000000000000000000000000000000000007b": { "balance": "0" }, - "000000000000000000000000000000000000007c": { "balance": "0" }, - "000000000000000000000000000000000000007d": { "balance": "0" }, - "000000000000000000000000000000000000007e": { "balance": "0" }, - "000000000000000000000000000000000000007f": { "balance": "0" }, - "0000000000000000000000000000000000000080": { "balance": "0" }, - "0000000000000000000000000000000000000081": { "balance": "0" }, - "0000000000000000000000000000000000000082": { "balance": "0" }, - "0000000000000000000000000000000000000083": { "balance": "0" }, - "0000000000000000000000000000000000000084": { "balance": "0" }, - "0000000000000000000000000000000000000085": { "balance": "0" }, - "0000000000000000000000000000000000000086": { "balance": "0" }, - "0000000000000000000000000000000000000087": { "balance": "0" }, - "0000000000000000000000000000000000000088": { "balance": "0" }, - "0000000000000000000000000000000000000089": { "balance": "0" }, - "000000000000000000000000000000000000008a": { "balance": "0" }, - "000000000000000000000000000000000000008b": { "balance": "0" }, - "000000000000000000000000000000000000008c": { "balance": "0" }, - "000000000000000000000000000000000000008d": { "balance": "0" }, - "000000000000000000000000000000000000008e": { "balance": "0" }, - "000000000000000000000000000000000000008f": { "balance": "0" }, - "0000000000000000000000000000000000000090": { "balance": "0" }, - "0000000000000000000000000000000000000091": { "balance": "0" }, - "0000000000000000000000000000000000000092": { "balance": "0" }, - "0000000000000000000000000000000000000093": { "balance": "0" }, - "0000000000000000000000000000000000000094": { "balance": "0" }, - "0000000000000000000000000000000000000095": { "balance": "0" }, - "0000000000000000000000000000000000000096": { "balance": "0" }, - "0000000000000000000000000000000000000097": { "balance": "0" }, - "0000000000000000000000000000000000000098": { "balance": "0" }, - "0000000000000000000000000000000000000099": { "balance": "0" }, - "000000000000000000000000000000000000009a": { "balance": "0" }, - "000000000000000000000000000000000000009b": { "balance": "0" }, - "000000000000000000000000000000000000009c": { "balance": "0" }, - "000000000000000000000000000000000000009d": { "balance": "0" }, - "000000000000000000000000000000000000009e": { "balance": "0" }, - "000000000000000000000000000000000000009f": { "balance": "0" }, - "00000000000000000000000000000000000000a0": { "balance": "0" }, - "00000000000000000000000000000000000000a1": { "balance": "0" }, - "00000000000000000000000000000000000000a2": { "balance": "0" }, - "00000000000000000000000000000000000000a3": { "balance": "0" }, - "00000000000000000000000000000000000000a4": { "balance": "0" }, - "00000000000000000000000000000000000000a5": { "balance": "0" }, - "00000000000000000000000000000000000000a6": { "balance": "0" }, - "00000000000000000000000000000000000000a7": { "balance": "0" }, - "00000000000000000000000000000000000000a8": { "balance": "0" }, - "00000000000000000000000000000000000000a9": { "balance": "0" }, - "00000000000000000000000000000000000000aa": { "balance": "0" }, - "00000000000000000000000000000000000000ab": { "balance": "0" }, - "00000000000000000000000000000000000000ac": { "balance": "0" }, - "00000000000000000000000000000000000000ad": { "balance": "0" }, - "00000000000000000000000000000000000000ae": { "balance": "0" }, - "00000000000000000000000000000000000000af": { "balance": "0" }, - "00000000000000000000000000000000000000b0": { "balance": "0" }, - "00000000000000000000000000000000000000b1": { "balance": "0" }, - "00000000000000000000000000000000000000b2": { "balance": "0" }, - "00000000000000000000000000000000000000b3": { "balance": "0" }, - "00000000000000000000000000000000000000b4": { "balance": "0" }, - "00000000000000000000000000000000000000b5": { "balance": "0" }, - "00000000000000000000000000000000000000b6": { "balance": "0" }, - "00000000000000000000000000000000000000b7": { "balance": "0" }, - "00000000000000000000000000000000000000b8": { "balance": "0" }, - "00000000000000000000000000000000000000b9": { "balance": "0" }, - "00000000000000000000000000000000000000ba": { "balance": "0" }, - "00000000000000000000000000000000000000bb": { "balance": "0" }, - "00000000000000000000000000000000000000bc": { "balance": "0" }, - "00000000000000000000000000000000000000bd": { "balance": "0" }, - "00000000000000000000000000000000000000be": { "balance": "0" }, - "00000000000000000000000000000000000000bf": { "balance": "0" }, - "00000000000000000000000000000000000000c0": { "balance": "0" }, - "00000000000000000000000000000000000000c1": { "balance": "0" }, - "00000000000000000000000000000000000000c2": { "balance": "0" }, - "00000000000000000000000000000000000000c3": { "balance": "0" }, - "00000000000000000000000000000000000000c4": { "balance": "0" }, - "00000000000000000000000000000000000000c5": { "balance": "0" }, - "00000000000000000000000000000000000000c6": { "balance": "0" }, - "00000000000000000000000000000000000000c7": { "balance": "0" }, - "00000000000000000000000000000000000000c8": { "balance": "0" }, - "00000000000000000000000000000000000000c9": { "balance": "0" }, - "00000000000000000000000000000000000000ca": { "balance": "0" }, - "00000000000000000000000000000000000000cb": { "balance": "0" }, - "00000000000000000000000000000000000000cc": { "balance": "0" }, - "00000000000000000000000000000000000000cd": { "balance": "0" }, - "00000000000000000000000000000000000000ce": { "balance": "0" }, - "00000000000000000000000000000000000000cf": { "balance": "0" }, - "00000000000000000000000000000000000000d0": { "balance": "0" }, - "00000000000000000000000000000000000000d1": { "balance": "0" }, - "00000000000000000000000000000000000000d2": { "balance": "0" }, - "00000000000000000000000000000000000000d3": { "balance": "0" }, - "00000000000000000000000000000000000000d4": { "balance": "0" }, - "00000000000000000000000000000000000000d5": { "balance": "0" }, - "00000000000000000000000000000000000000d6": { "balance": "0" }, - "00000000000000000000000000000000000000d7": { "balance": "0" }, - "00000000000000000000000000000000000000d8": { "balance": "0" }, - "00000000000000000000000000000000000000d9": { "balance": "0" }, - "00000000000000000000000000000000000000da": { "balance": "0" }, - "00000000000000000000000000000000000000db": { "balance": "0" }, - "00000000000000000000000000000000000000dc": { "balance": "0" }, - "00000000000000000000000000000000000000dd": { "balance": "0" }, - "00000000000000000000000000000000000000de": { "balance": "0" }, - "00000000000000000000000000000000000000df": { "balance": "0" }, - "00000000000000000000000000000000000000e0": { "balance": "0" }, - "00000000000000000000000000000000000000e1": { "balance": "0" }, - "00000000000000000000000000000000000000e2": { "balance": "0" }, - "00000000000000000000000000000000000000e3": { "balance": "0" }, - "00000000000000000000000000000000000000e4": { "balance": "0" }, - "00000000000000000000000000000000000000e5": { "balance": "0" }, - "00000000000000000000000000000000000000e6": { "balance": "0" }, - "00000000000000000000000000000000000000e7": { "balance": "0" }, - "00000000000000000000000000000000000000e8": { "balance": "0" }, - "00000000000000000000000000000000000000e9": { "balance": "0" }, - "00000000000000000000000000000000000000ea": { "balance": "0" }, - "00000000000000000000000000000000000000eb": { "balance": "0" }, - "00000000000000000000000000000000000000ec": { "balance": "0" }, - "00000000000000000000000000000000000000ed": { "balance": "0" }, - "00000000000000000000000000000000000000ee": { "balance": "0" }, - "00000000000000000000000000000000000000ef": { "balance": "0" }, - "00000000000000000000000000000000000000f0": { "balance": "0" }, - "00000000000000000000000000000000000000f1": { "balance": "0" }, - "00000000000000000000000000000000000000f2": { "balance": "0" }, - "00000000000000000000000000000000000000f3": { "balance": "0" }, - "00000000000000000000000000000000000000f4": { "balance": "0" }, - "00000000000000000000000000000000000000f5": { "balance": "0" }, - "00000000000000000000000000000000000000f6": { "balance": "0" }, - "00000000000000000000000000000000000000f7": { "balance": "0" }, - "00000000000000000000000000000000000000f8": { "balance": "0" }, - "00000000000000000000000000000000000000f9": { "balance": "0" }, - "00000000000000000000000000000000000000fa": { "balance": "0" }, - "00000000000000000000000000000000000000fb": { "balance": "0" }, - "00000000000000000000000000000000000000fc": { "balance": "0" }, - "00000000000000000000000000000000000000fd": { "balance": "0" }, - "00000000000000000000000000000000000000fe": { "balance": "0" }, - "00000000000000000000000000000000000000ff": { "balance": "0" }, - "874b54a8bd152966d63f706bae1ffeb0411921e5": { "balance": "1000000000000000000000000000000" } + "0x0000000000000000000000000000000000000000": { + "balance": "0x1" + }, + "0x0000000000000000000000000000000000000001": { + "balance": "0x1", + "nonce": "0x0", + "builtin": { + "name": "ecrecover", + "pricing": { + "linear": { + "base": 3000, + "word": 0 + } + } + } + }, + "0x0000000000000000000000000000000000000002": { + "balance": "0x1", + "nonce": "0x0", + "builtin": { + "name": "sha256", + "pricing": { + "linear": { + "base": 60, + "word": 12 + } + } + } + }, + "0x0000000000000000000000000000000000000003": { + "balance": "0x1", + "nonce": "0x0", + "builtin": { + "name": "ripemd160", + "pricing": { + "linear": { + "base": 600, + "word": 120 + } + } + } + }, + "0x0000000000000000000000000000000000000004": { + "balance": "0x1", + "nonce": "0x0", + "builtin": { + "name": "identity", + "pricing": { + "linear": { + "base": 15, + "word": 3 + } + } + } + }, + "0x0000000000000000000000000000000000000005": { + "balance": "0x1", + "nonce": "0x0", + "builtin": { + "name": "modexp", + "activate_at": "0x19f0a0", + "pricing": { + "modexp": { + "divisor": 20 + } + } + } + }, + "0x0000000000000000000000000000000000000006": { + "balance": "0x1", + "nonce": "0x0", + "builtin": { + "name": "alt_bn128_add", + "activate_at": "0x19f0a0", + "pricing": { + "linear": { + "base": 500, + "word": 0 + } + } + } + }, + "0x0000000000000000000000000000000000000007": { + "balance": "0x1", + "nonce": "0x0", + "builtin": { + "name": "alt_bn128_mul", + "activate_at": "0x19f0a0", + "pricing": { + "linear": { + "base": 40000, + "word": 0 + } + } + } + }, + "0x0000000000000000000000000000000000000008": { + "balance": "0x1", + "nonce": "0x0", + "builtin": { + "name": "alt_bn128_pairing", + "activate_at": "0x19f0a0", + "pricing": { + "alt_bn128_pairing": { + "base": 100000, + "pair": 80000 + } + } + } + }, + "0x0000000000000000000000000000000000000009": { + "balance": "0x1" + }, + "0x000000000000000000000000000000000000000a": { + "balance": "0x0" + }, + "0x000000000000000000000000000000000000000b": { + "balance": "0x0" + }, + "0x000000000000000000000000000000000000000c": { + "balance": "0x0" + }, + "0x000000000000000000000000000000000000000d": { + "balance": "0x0" + }, + "0x000000000000000000000000000000000000000e": { + "balance": "0x0" + }, + "0x000000000000000000000000000000000000000f": { + "balance": "0x0" + }, + "0x0000000000000000000000000000000000000010": { + "balance": "0x0" + }, + "0x0000000000000000000000000000000000000011": { + "balance": "0x0" + }, + "0x0000000000000000000000000000000000000012": { + "balance": "0x0" + }, + "0x0000000000000000000000000000000000000013": { + "balance": "0x0" + }, + "0x0000000000000000000000000000000000000014": { + "balance": "0x0" + }, + "0x0000000000000000000000000000000000000015": { + "balance": "0x0" + }, + "0x0000000000000000000000000000000000000016": { + "balance": "0x0" + }, + "0x0000000000000000000000000000000000000017": { + "balance": "0x0" + }, + "0x0000000000000000000000000000000000000018": { + "balance": "0x0" + }, + "0x0000000000000000000000000000000000000019": { + "balance": "0x0" + }, + "0x000000000000000000000000000000000000001a": { + "balance": "0x0" + }, + "0x000000000000000000000000000000000000001b": { + "balance": "0x0" + }, + "0x000000000000000000000000000000000000001c": { + "balance": "0x0" + }, + "0x000000000000000000000000000000000000001d": { + "balance": "0x0" + }, + "0x000000000000000000000000000000000000001e": { + "balance": "0x0" + }, + "0x000000000000000000000000000000000000001f": { + "balance": "0x0" + }, + "0x0000000000000000000000000000000000000020": { + "balance": "0x0" + }, + "0x0000000000000000000000000000000000000021": { + "balance": "0x0" + }, + "0x0000000000000000000000000000000000000022": { + "balance": "0x0" + }, + "0x0000000000000000000000000000000000000023": { + "balance": "0x0" + }, + "0x0000000000000000000000000000000000000024": { + "balance": "0x0" + }, + "0x0000000000000000000000000000000000000025": { + "balance": "0x0" + }, + "0x0000000000000000000000000000000000000026": { + "balance": "0x0" + }, + "0x0000000000000000000000000000000000000027": { + "balance": "0x0" + }, + "0x0000000000000000000000000000000000000028": { + "balance": "0x0" + }, + "0x0000000000000000000000000000000000000029": { + "balance": "0x0" + }, + "0x000000000000000000000000000000000000002a": { + "balance": "0x0" + }, + "0x000000000000000000000000000000000000002b": { + "balance": "0x0" + }, + "0x000000000000000000000000000000000000002c": { + "balance": "0x0" + }, + "0x000000000000000000000000000000000000002d": { + "balance": "0x0" + }, + "0x000000000000000000000000000000000000002e": { + "balance": "0x0" + }, + "0x000000000000000000000000000000000000002f": { + "balance": "0x0" + }, + "0x0000000000000000000000000000000000000030": { + "balance": "0x0" + }, + "0x0000000000000000000000000000000000000031": { + "balance": "0x0" + }, + "0x0000000000000000000000000000000000000032": { + "balance": "0x0" + }, + "0x0000000000000000000000000000000000000033": { + "balance": "0x0" + }, + "0x0000000000000000000000000000000000000034": { + "balance": "0x0" + }, + "0x0000000000000000000000000000000000000035": { + "balance": "0x0" + }, + "0x0000000000000000000000000000000000000036": { + "balance": "0x0" + }, + "0x0000000000000000000000000000000000000037": { + "balance": "0x0" + }, + "0x0000000000000000000000000000000000000038": { + "balance": "0x0" + }, + "0x0000000000000000000000000000000000000039": { + "balance": "0x0" + }, + "0x000000000000000000000000000000000000003a": { + "balance": "0x0" + }, + "0x000000000000000000000000000000000000003b": { + "balance": "0x0" + }, + "0x000000000000000000000000000000000000003c": { + "balance": "0x0" + }, + "0x000000000000000000000000000000000000003d": { + "balance": "0x0" + }, + "0x000000000000000000000000000000000000003e": { + "balance": "0x0" + }, + "0x000000000000000000000000000000000000003f": { + "balance": "0x0" + }, + "0x0000000000000000000000000000000000000040": { + "balance": "0x0" + }, + "0x0000000000000000000000000000000000000041": { + "balance": "0x0" + }, + "0x0000000000000000000000000000000000000042": { + "balance": "0x0" + }, + "0x0000000000000000000000000000000000000043": { + "balance": "0x0" + }, + "0x0000000000000000000000000000000000000044": { + "balance": "0x0" + }, + "0x0000000000000000000000000000000000000045": { + "balance": "0x0" + }, + "0x0000000000000000000000000000000000000046": { + "balance": "0x0" + }, + "0x0000000000000000000000000000000000000047": { + "balance": "0x0" + }, + "0x0000000000000000000000000000000000000048": { + "balance": "0x0" + }, + "0x0000000000000000000000000000000000000049": { + "balance": "0x0" + }, + "0x000000000000000000000000000000000000004a": { + "balance": "0x0" + }, + "0x000000000000000000000000000000000000004b": { + "balance": "0x0" + }, + "0x000000000000000000000000000000000000004c": { + "balance": "0x0" + }, + "0x000000000000000000000000000000000000004d": { + "balance": "0x0" + }, + "0x000000000000000000000000000000000000004e": { + "balance": "0x0" + }, + "0x000000000000000000000000000000000000004f": { + "balance": "0x0" + }, + "0x0000000000000000000000000000000000000050": { + "balance": "0x0" + }, + "0x0000000000000000000000000000000000000051": { + "balance": "0x0" + }, + "0x0000000000000000000000000000000000000052": { + "balance": "0x0" + }, + "0x0000000000000000000000000000000000000053": { + "balance": "0x0" + }, + "0x0000000000000000000000000000000000000054": { + "balance": "0x0" + }, + "0x0000000000000000000000000000000000000055": { + "balance": "0x0" + }, + "0x0000000000000000000000000000000000000056": { + "balance": "0x0" + }, + "0x0000000000000000000000000000000000000057": { + "balance": "0x0" + }, + "0x0000000000000000000000000000000000000058": { + "balance": "0x0" + }, + "0x0000000000000000000000000000000000000059": { + "balance": "0x0" + }, + "0x000000000000000000000000000000000000005a": { + "balance": "0x0" + }, + "0x000000000000000000000000000000000000005b": { + "balance": "0x0" + }, + "0x000000000000000000000000000000000000005c": { + "balance": "0x0" + }, + "0x000000000000000000000000000000000000005d": { + "balance": "0x0" + }, + "0x000000000000000000000000000000000000005e": { + "balance": "0x0" + }, + "0x000000000000000000000000000000000000005f": { + "balance": "0x0" + }, + "0x0000000000000000000000000000000000000060": { + "balance": "0x0" + }, + "0x0000000000000000000000000000000000000061": { + "balance": "0x0" + }, + "0x0000000000000000000000000000000000000062": { + "balance": "0x0" + }, + "0x0000000000000000000000000000000000000063": { + "balance": "0x0" + }, + "0x0000000000000000000000000000000000000064": { + "balance": "0x0" + }, + "0x0000000000000000000000000000000000000065": { + "balance": "0x0" + }, + "0x0000000000000000000000000000000000000066": { + "balance": "0x0" + }, + "0x0000000000000000000000000000000000000067": { + "balance": "0x0" + }, + "0x0000000000000000000000000000000000000068": { + "balance": "0x0" + }, + "0x0000000000000000000000000000000000000069": { + "balance": "0x0" + }, + "0x000000000000000000000000000000000000006a": { + "balance": "0x0" + }, + "0x000000000000000000000000000000000000006b": { + "balance": "0x0" + }, + "0x000000000000000000000000000000000000006c": { + "balance": "0x0" + }, + "0x000000000000000000000000000000000000006d": { + "balance": "0x0" + }, + "0x000000000000000000000000000000000000006e": { + "balance": "0x0" + }, + "0x000000000000000000000000000000000000006f": { + "balance": "0x0" + }, + "0x0000000000000000000000000000000000000070": { + "balance": "0x0" + }, + "0x0000000000000000000000000000000000000071": { + "balance": "0x0" + }, + "0x0000000000000000000000000000000000000072": { + "balance": "0x0" + }, + "0x0000000000000000000000000000000000000073": { + "balance": "0x0" + }, + "0x0000000000000000000000000000000000000074": { + "balance": "0x0" + }, + "0x0000000000000000000000000000000000000075": { + "balance": "0x0" + }, + "0x0000000000000000000000000000000000000076": { + "balance": "0x0" + }, + "0x0000000000000000000000000000000000000077": { + "balance": "0x0" + }, + "0x0000000000000000000000000000000000000078": { + "balance": "0x0" + }, + "0x0000000000000000000000000000000000000079": { + "balance": "0x0" + }, + "0x000000000000000000000000000000000000007a": { + "balance": "0x0" + }, + "0x000000000000000000000000000000000000007b": { + "balance": "0x0" + }, + "0x000000000000000000000000000000000000007c": { + "balance": "0x0" + }, + "0x000000000000000000000000000000000000007d": { + "balance": "0x0" + }, + "0x000000000000000000000000000000000000007e": { + "balance": "0x0" + }, + "0x000000000000000000000000000000000000007f": { + "balance": "0x0" + }, + "0x0000000000000000000000000000000000000080": { + "balance": "0x0" + }, + "0x0000000000000000000000000000000000000081": { + "balance": "0x0" + }, + "0x0000000000000000000000000000000000000082": { + "balance": "0x0" + }, + "0x0000000000000000000000000000000000000083": { + "balance": "0x0" + }, + "0x0000000000000000000000000000000000000084": { + "balance": "0x0" + }, + "0x0000000000000000000000000000000000000085": { + "balance": "0x0" + }, + "0x0000000000000000000000000000000000000086": { + "balance": "0x0" + }, + "0x0000000000000000000000000000000000000087": { + "balance": "0x0" + }, + "0x0000000000000000000000000000000000000088": { + "balance": "0x0" + }, + "0x0000000000000000000000000000000000000089": { + "balance": "0x0" + }, + "0x000000000000000000000000000000000000008a": { + "balance": "0x0" + }, + "0x000000000000000000000000000000000000008b": { + "balance": "0x0" + }, + "0x000000000000000000000000000000000000008c": { + "balance": "0x0" + }, + "0x000000000000000000000000000000000000008d": { + "balance": "0x0" + }, + "0x000000000000000000000000000000000000008e": { + "balance": "0x0" + }, + "0x000000000000000000000000000000000000008f": { + "balance": "0x0" + }, + "0x0000000000000000000000000000000000000090": { + "balance": "0x0" + }, + "0x0000000000000000000000000000000000000091": { + "balance": "0x0" + }, + "0x0000000000000000000000000000000000000092": { + "balance": "0x0" + }, + "0x0000000000000000000000000000000000000093": { + "balance": "0x0" + }, + "0x0000000000000000000000000000000000000094": { + "balance": "0x0" + }, + "0x0000000000000000000000000000000000000095": { + "balance": "0x0" + }, + "0x0000000000000000000000000000000000000096": { + "balance": "0x0" + }, + "0x0000000000000000000000000000000000000097": { + "balance": "0x0" + }, + "0x0000000000000000000000000000000000000098": { + "balance": "0x0" + }, + "0x0000000000000000000000000000000000000099": { + "balance": "0x0" + }, + "0x000000000000000000000000000000000000009a": { + "balance": "0x0" + }, + "0x000000000000000000000000000000000000009b": { + "balance": "0x0" + }, + "0x000000000000000000000000000000000000009c": { + "balance": "0x0" + }, + "0x000000000000000000000000000000000000009d": { + "balance": "0x0" + }, + "0x000000000000000000000000000000000000009e": { + "balance": "0x0" + }, + "0x000000000000000000000000000000000000009f": { + "balance": "0x0" + }, + "0x00000000000000000000000000000000000000a0": { + "balance": "0x0" + }, + "0x00000000000000000000000000000000000000a1": { + "balance": "0x0" + }, + "0x00000000000000000000000000000000000000a2": { + "balance": "0x0" + }, + "0x00000000000000000000000000000000000000a3": { + "balance": "0x0" + }, + "0x00000000000000000000000000000000000000a4": { + "balance": "0x0" + }, + "0x00000000000000000000000000000000000000a5": { + "balance": "0x0" + }, + "0x00000000000000000000000000000000000000a6": { + "balance": "0x0" + }, + "0x00000000000000000000000000000000000000a7": { + "balance": "0x0" + }, + "0x00000000000000000000000000000000000000a8": { + "balance": "0x0" + }, + "0x00000000000000000000000000000000000000a9": { + "balance": "0x0" + }, + "0x00000000000000000000000000000000000000aa": { + "balance": "0x0" + }, + "0x00000000000000000000000000000000000000ab": { + "balance": "0x0" + }, + "0x00000000000000000000000000000000000000ac": { + "balance": "0x0" + }, + "0x00000000000000000000000000000000000000ad": { + "balance": "0x0" + }, + "0x00000000000000000000000000000000000000ae": { + "balance": "0x0" + }, + "0x00000000000000000000000000000000000000af": { + "balance": "0x0" + }, + "0x00000000000000000000000000000000000000b0": { + "balance": "0x0" + }, + "0x00000000000000000000000000000000000000b1": { + "balance": "0x0" + }, + "0x00000000000000000000000000000000000000b2": { + "balance": "0x0" + }, + "0x00000000000000000000000000000000000000b3": { + "balance": "0x0" + }, + "0x00000000000000000000000000000000000000b4": { + "balance": "0x0" + }, + "0x00000000000000000000000000000000000000b5": { + "balance": "0x0" + }, + "0x00000000000000000000000000000000000000b6": { + "balance": "0x0" + }, + "0x00000000000000000000000000000000000000b7": { + "balance": "0x0" + }, + "0x00000000000000000000000000000000000000b8": { + "balance": "0x0" + }, + "0x00000000000000000000000000000000000000b9": { + "balance": "0x0" + }, + "0x00000000000000000000000000000000000000ba": { + "balance": "0x0" + }, + "0x00000000000000000000000000000000000000bb": { + "balance": "0x0" + }, + "0x00000000000000000000000000000000000000bc": { + "balance": "0x0" + }, + "0x00000000000000000000000000000000000000bd": { + "balance": "0x0" + }, + "0x00000000000000000000000000000000000000be": { + "balance": "0x0" + }, + "0x00000000000000000000000000000000000000bf": { + "balance": "0x0" + }, + "0x00000000000000000000000000000000000000c0": { + "balance": "0x0" + }, + "0x00000000000000000000000000000000000000c1": { + "balance": "0x0" + }, + "0x00000000000000000000000000000000000000c2": { + "balance": "0x0" + }, + "0x00000000000000000000000000000000000000c3": { + "balance": "0x0" + }, + "0x00000000000000000000000000000000000000c4": { + "balance": "0x0" + }, + "0x00000000000000000000000000000000000000c5": { + "balance": "0x0" + }, + "0x00000000000000000000000000000000000000c6": { + "balance": "0x0" + }, + "0x00000000000000000000000000000000000000c7": { + "balance": "0x0" + }, + "0x00000000000000000000000000000000000000c8": { + "balance": "0x0" + }, + "0x00000000000000000000000000000000000000c9": { + "balance": "0x0" + }, + "0x00000000000000000000000000000000000000ca": { + "balance": "0x0" + }, + "0x00000000000000000000000000000000000000cb": { + "balance": "0x0" + }, + "0x00000000000000000000000000000000000000cc": { + "balance": "0x0" + }, + "0x00000000000000000000000000000000000000cd": { + "balance": "0x0" + }, + "0x00000000000000000000000000000000000000ce": { + "balance": "0x0" + }, + "0x00000000000000000000000000000000000000cf": { + "balance": "0x0" + }, + "0x00000000000000000000000000000000000000d0": { + "balance": "0x0" + }, + "0x00000000000000000000000000000000000000d1": { + "balance": "0x0" + }, + "0x00000000000000000000000000000000000000d2": { + "balance": "0x0" + }, + "0x00000000000000000000000000000000000000d3": { + "balance": "0x0" + }, + "0x00000000000000000000000000000000000000d4": { + "balance": "0x0" + }, + "0x00000000000000000000000000000000000000d5": { + "balance": "0x0" + }, + "0x00000000000000000000000000000000000000d6": { + "balance": "0x0" + }, + "0x00000000000000000000000000000000000000d7": { + "balance": "0x0" + }, + "0x00000000000000000000000000000000000000d8": { + "balance": "0x0" + }, + "0x00000000000000000000000000000000000000d9": { + "balance": "0x0" + }, + "0x00000000000000000000000000000000000000da": { + "balance": "0x0" + }, + "0x00000000000000000000000000000000000000db": { + "balance": "0x0" + }, + "0x00000000000000000000000000000000000000dc": { + "balance": "0x0" + }, + "0x00000000000000000000000000000000000000dd": { + "balance": "0x0" + }, + "0x00000000000000000000000000000000000000de": { + "balance": "0x0" + }, + "0x00000000000000000000000000000000000000df": { + "balance": "0x0" + }, + "0x00000000000000000000000000000000000000e0": { + "balance": "0x0" + }, + "0x00000000000000000000000000000000000000e1": { + "balance": "0x0" + }, + "0x00000000000000000000000000000000000000e2": { + "balance": "0x0" + }, + "0x00000000000000000000000000000000000000e3": { + "balance": "0x0" + }, + "0x00000000000000000000000000000000000000e4": { + "balance": "0x0" + }, + "0x00000000000000000000000000000000000000e5": { + "balance": "0x0" + }, + "0x00000000000000000000000000000000000000e6": { + "balance": "0x0" + }, + "0x00000000000000000000000000000000000000e7": { + "balance": "0x0" + }, + "0x00000000000000000000000000000000000000e8": { + "balance": "0x0" + }, + "0x00000000000000000000000000000000000000e9": { + "balance": "0x0" + }, + "0x00000000000000000000000000000000000000ea": { + "balance": "0x0" + }, + "0x00000000000000000000000000000000000000eb": { + "balance": "0x0" + }, + "0x00000000000000000000000000000000000000ec": { + "balance": "0x0" + }, + "0x00000000000000000000000000000000000000ed": { + "balance": "0x0" + }, + "0x00000000000000000000000000000000000000ee": { + "balance": "0x0" + }, + "0x00000000000000000000000000000000000000ef": { + "balance": "0x0" + }, + "0x00000000000000000000000000000000000000f0": { + "balance": "0x0" + }, + "0x00000000000000000000000000000000000000f1": { + "balance": "0x0" + }, + "0x00000000000000000000000000000000000000f2": { + "balance": "0x0" + }, + "0x00000000000000000000000000000000000000f3": { + "balance": "0x0" + }, + "0x00000000000000000000000000000000000000f4": { + "balance": "0x0" + }, + "0x00000000000000000000000000000000000000f5": { + "balance": "0x0" + }, + "0x00000000000000000000000000000000000000f6": { + "balance": "0x0" + }, + "0x00000000000000000000000000000000000000f7": { + "balance": "0x0" + }, + "0x00000000000000000000000000000000000000f8": { + "balance": "0x0" + }, + "0x00000000000000000000000000000000000000f9": { + "balance": "0x0" + }, + "0x00000000000000000000000000000000000000fa": { + "balance": "0x0" + }, + "0x00000000000000000000000000000000000000fb": { + "balance": "0x0" + }, + "0x00000000000000000000000000000000000000fc": { + "balance": "0x0" + }, + "0x00000000000000000000000000000000000000fd": { + "balance": "0x0" + }, + "0x00000000000000000000000000000000000000fe": { + "balance": "0x0" + }, + "0x00000000000000000000000000000000000000ff": { + "balance": "0x0" + }, + "0x874b54a8bd152966d63f706bae1ffeb0411921e5": { + "balance": "0xc9f2c9cd04674edea40000000" + } } } From 3650f2d51c1e7eeb019f4094bd3c373c247e185d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tomasz=20Drwi=C4=99ga?= Date: Fri, 4 Jan 2019 14:05:46 +0100 Subject: [PATCH 10/68] Extract blockchain from ethcore (#10114) * Split blockchain & db from ethcore. * Clean up blockchain deps. * Missing docs. * Fix blockchain tests. * Make other crates compile. * Remove some re-exports. * Remove types re-export from ethcore. * Remove EVM dependency from transaction. * Merge ethcore-transaction with common-types. * Clean-up ethcore deps a bit. * remove ethcore from cargo.toml * Update ethcore/blockchain/src/lib.rs Co-Authored-By: tomusdrw * Address review comments. * Update DB comment. * Add tracking issue to the TODO and fix typo. * Common naming for common types. * Update ethcore/db/src/keys.rs Co-Authored-By: tomusdrw * Update ethcore/blockchain/src/generator.rs Co-Authored-By: tomusdrw * Try to fix beta tests. --- Cargo.lock | 101 +++++++----- Cargo.toml | 5 +- ethcore/Cargo.toml | 72 ++++---- ethcore/blockchain/Cargo.toml | 33 ++++ .../src}/best_block.rs | 4 +- .../src}/block_info.rs | 2 +- .../src}/blockchain.rs | 156 +++++++++--------- .../blockchain => blockchain/src}/cache.rs | 0 .../blockchain => blockchain/src}/config.rs | 0 .../src}/generator.rs | 34 +++- .../src}/import_route.rs | 7 +- .../mod.rs => blockchain/src/lib.rs} | 8 +- .../blockchain => blockchain/src}/update.rs | 13 +- ethcore/db/Cargo.toml | 17 ++ ethcore/{ => db}/src/cache_manager.rs | 5 + ethcore/{ => db}/src/db.rs | 0 .../blockchain/extras.rs => db/src/keys.rs} | 18 +- ethcore/db/src/lib.rs | 26 +++ ethcore/light/Cargo.toml | 6 +- ethcore/light/src/cache.rs | 12 +- ethcore/light/src/cht.rs | 2 +- ethcore/light/src/client/fetch.rs | 8 +- ethcore/light/src/client/header_chain.rs | 16 +- ethcore/light/src/client/mod.rs | 11 +- ethcore/light/src/client/service.rs | 3 +- ethcore/light/src/lib.rs | 4 +- ethcore/light/src/net/mod.rs | 3 +- ethcore/light/src/net/tests/mod.rs | 14 +- ethcore/light/src/on_demand/request.rs | 16 +- ethcore/light/src/on_demand/tests.rs | 4 +- ethcore/light/src/provider.rs | 12 +- ethcore/light/src/transaction_queue.rs | 4 +- ethcore/light/src/types/request/mod.rs | 34 ++-- ethcore/private-tx/Cargo.toml | 8 +- ethcore/private-tx/src/error.rs | 2 +- ethcore/private-tx/src/lib.rs | 16 +- ethcore/private-tx/src/messages.rs | 2 +- .../private-tx/src/private_transactions.rs | 2 +- ethcore/private-tx/tests/private_contract.rs | 12 +- ethcore/service/Cargo.toml | 2 + ethcore/service/src/lib.rs | 6 +- ethcore/service/src/service.rs | 4 +- ethcore/src/account_provider/mod.rs | 2 +- ethcore/src/block.rs | 116 +++++-------- ethcore/src/client/ancient_import.rs | 6 +- ethcore/src/client/chain_notify.rs | 2 +- ethcore/src/client/client.rs | 64 ++++--- ethcore/src/client/evm_test_client.rs | 3 +- ethcore/src/client/test_client.rs | 71 ++++---- ethcore/src/client/trace.rs | 5 +- ethcore/src/client/traits.rs | 51 +++--- ethcore/src/engines/authority_round/mod.rs | 7 +- ethcore/src/engines/basic_authority.rs | 4 +- ethcore/src/engines/instant_seal.rs | 2 +- ethcore/src/engines/mod.rs | 23 +-- ethcore/src/engines/null_engine.rs | 4 +- ethcore/src/engines/validator_set/contract.rs | 9 +- ethcore/src/engines/validator_set/mod.rs | 11 +- ethcore/src/engines/validator_set/multi.rs | 11 +- .../engines/validator_set/safe_contract.rs | 32 ++-- .../src/engines/validator_set/simple_list.rs | 5 +- ethcore/src/engines/validator_set/test.rs | 10 +- ethcore/src/error.rs | 21 +-- ethcore/src/ethereum/ethash.rs | 23 +-- ethcore/src/ethereum/mod.rs | 3 +- ethcore/src/executed.rs | 4 +- ethcore/src/executive.rs | 7 +- ethcore/src/externalities.rs | 4 +- ethcore/src/json_tests/difficulty.rs | 2 +- ethcore/src/json_tests/state.rs | 2 +- ethcore/src/json_tests/transaction.rs | 7 +- ethcore/src/lib.rs | 75 ++++----- ethcore/src/machine.rs | 23 +-- ethcore/src/miner/miner.rs | 25 +-- ethcore/src/miner/mod.rs | 14 +- ethcore/src/miner/pool_client.rs | 5 +- .../src/miner/service_transaction_checker.rs | 2 +- ethcore/src/snapshot/account.rs | 4 +- ethcore/src/snapshot/block.rs | 19 ++- ethcore/src/snapshot/consensus/authority.rs | 19 +-- ethcore/src/snapshot/consensus/work.rs | 4 +- ethcore/src/snapshot/error.rs | 2 +- ethcore/src/snapshot/mod.rs | 4 +- ethcore/src/snapshot/service.rs | 2 +- ethcore/src/snapshot/tests/helpers.rs | 4 +- .../src/snapshot/tests/proof_of_authority.rs | 2 +- ethcore/src/snapshot/tests/service.rs | 6 +- ethcore/src/snapshot/tests/state.rs | 2 +- ethcore/src/snapshot/watcher.rs | 2 +- ethcore/src/spec/spec.rs | 10 +- ethcore/src/state/account.rs | 2 +- ethcore/src/state/mod.rs | 6 +- ethcore/src/state/substate.rs | 4 +- ethcore/src/state_db.rs | 5 +- ethcore/src/test_helpers.rs | 35 ++-- ethcore/src/tests/blockchain.rs | 61 +++++++ ethcore/src/tests/client.rs | 28 ++-- ethcore/src/tests/evm.rs | 2 +- ethcore/src/tests/mod.rs | 1 + ethcore/src/tests/trace.rs | 7 +- ethcore/src/trace/db.rs | 17 +- ethcore/src/trace/import.rs | 3 +- ethcore/src/trace/mod.rs | 2 +- ethcore/src/trace/types/localized.rs | 2 +- ethcore/src/transaction_ext.rs | 44 +++++ ethcore/src/tx_filter.rs | 4 +- ethcore/src/verification/canon_verifier.rs | 2 +- ethcore/src/verification/noop_verifier.rs | 2 +- ethcore/src/verification/queue/kind.rs | 6 +- ethcore/src/verification/queue/mod.rs | 9 +- ethcore/src/verification/verification.rs | 26 ++- ethcore/src/verification/verifier.rs | 2 +- ethcore/sync/Cargo.toml | 24 +-- ethcore/sync/src/api.rs | 8 +- ethcore/sync/src/block_sync.rs | 6 +- ethcore/sync/src/blocks.rs | 6 +- ethcore/sync/src/chain/handler.rs | 8 +- ethcore/sync/src/chain/mod.rs | 6 +- ethcore/sync/src/chain/propagator.rs | 11 +- ethcore/sync/src/chain/requester.rs | 2 +- ethcore/sync/src/chain/supplier.rs | 4 +- ethcore/sync/src/lib.rs | 14 +- ethcore/sync/src/light_sync/mod.rs | 2 +- ethcore/sync/src/light_sync/response.rs | 6 +- ethcore/sync/src/light_sync/sync_round.rs | 4 +- ethcore/sync/src/sync_io.rs | 2 +- ethcore/sync/src/tests/consensus.rs | 2 +- ethcore/sync/src/tests/helpers.rs | 2 +- ethcore/sync/src/tests/private.rs | 2 +- ethcore/sync/src/tests/snapshot.rs | 2 +- ethcore/sync/src/transactions_stats.rs | 2 +- ethcore/transaction/Cargo.toml | 21 --- ethcore/types/Cargo.toml | 11 +- ethcore/types/src/block.rs | 77 +++++++++ ethcore/types/src/block_status.rs | 2 + ethcore/{ => types}/src/encoded.rs | 3 +- ethcore/{ => types}/src/engines/epoch.rs | 0 ethcore/types/src/engines/mod.rs | 29 ++++ ethcore/{ => types}/src/header.rs | 10 +- ethcore/types/src/lib.rs | 37 ++++- .../src => types/src/transaction}/error.rs | 0 .../lib.rs => types/src/transaction/mod.rs} | 16 +- .../src/transaction}/transaction.rs | 19 +-- ethcore/{ => types}/src/views/block.rs | 4 +- ethcore/{ => types}/src/views/body.rs | 21 ++- ethcore/{ => types}/src/views/header.rs | 10 +- ethcore/{ => types}/src/views/mod.rs | 0 ethcore/{ => types}/src/views/transaction.rs | 9 +- ethcore/{ => types}/src/views/view_rlp.rs | 0 ethcore/vm/Cargo.toml | 1 - ethcore/vm/src/env_info.rs | 3 +- ethcore/vm/src/lib.rs | 1 - evmbin/Cargo.toml | 6 +- evmbin/src/info.rs | 2 +- evmbin/src/main.rs | 2 +- miner/Cargo.toml | 4 +- miner/local-store/Cargo.toml | 4 +- miner/local-store/src/lib.rs | 16 +- miner/src/lib.rs | 4 +- miner/src/pool/client.rs | 2 +- miner/src/pool/listener.rs | 2 +- miner/src/pool/local_transactions.rs | 2 +- miner/src/pool/mod.rs | 2 +- miner/src/pool/queue.rs | 2 +- miner/src/pool/ready.rs | 2 +- miner/src/pool/tests/client.rs | 2 +- miner/src/pool/tests/mod.rs | 4 +- miner/src/pool/tests/tx.rs | 2 +- miner/src/pool/verifier.rs | 2 +- parity/account.rs | 8 +- parity/blockchain.rs | 4 +- parity/configuration.rs | 2 +- parity/db/rocksdb/helpers.rs | 2 +- parity/db/rocksdb/migration.rs | 4 +- parity/db/rocksdb/mod.rs | 5 +- parity/export_hardcoded_sync.rs | 2 +- parity/informant.rs | 2 +- parity/lib.rs | 4 +- parity/light_helpers/epoch_fetch.rs | 6 +- parity/presale.rs | 4 +- parity/run.rs | 12 +- parity/snapshot.rs | 2 +- rpc/Cargo.toml | 2 +- rpc/src/lib.rs | 2 +- rpc/src/v1/helpers/dispatch.rs | 6 +- rpc/src/v1/helpers/errors.rs | 4 +- rpc/src/v1/helpers/fake_sign.rs | 2 +- rpc/src/v1/helpers/light_fetch.rs | 12 +- rpc/src/v1/helpers/poll_filter.rs | 2 +- rpc/src/v1/impls/debug.rs | 2 +- rpc/src/v1/impls/eth.rs | 16 +- rpc/src/v1/impls/eth_filter.rs | 4 +- rpc/src/v1/impls/eth_pubsub.rs | 10 +- rpc/src/v1/impls/light/eth.rs | 12 +- rpc/src/v1/impls/light/parity.rs | 2 +- rpc/src/v1/impls/parity.rs | 12 +- rpc/src/v1/impls/personal.rs | 2 +- rpc/src/v1/impls/private.rs | 2 +- rpc/src/v1/impls/signer.rs | 2 +- rpc/src/v1/impls/traces.rs | 2 +- rpc/src/v1/tests/eth.rs | 8 +- rpc/src/v1/tests/helpers/miner_service.rs | 14 +- rpc/src/v1/tests/mocked/eth.rs | 16 +- rpc/src/v1/tests/mocked/eth_pubsub.rs | 4 +- rpc/src/v1/tests/mocked/parity.rs | 6 +- rpc/src/v1/tests/mocked/parity_set.rs | 2 +- rpc/src/v1/tests/mocked/personal.rs | 2 +- rpc/src/v1/tests/mocked/signer.rs | 2 +- rpc/src/v1/tests/mocked/signing.rs | 2 +- rpc/src/v1/types/block.rs | 6 +- rpc/src/v1/types/filter.rs | 13 +- rpc/src/v1/types/log.rs | 2 +- rpc/src/v1/types/receipt.rs | 2 +- rpc/src/v1/types/trace.rs | 14 +- rpc/src/v1/types/transaction.rs | 2 +- rpc/src/v1/types/transaction_condition.rs | 2 +- secret-store/Cargo.toml | 2 +- secret-store/src/lib.rs | 8 +- secret-store/src/listener/service_contract.rs | 2 +- secret-store/src/trusted_client.rs | 2 +- updater/Cargo.toml | 19 ++- updater/src/lib.rs | 5 +- updater/src/updater.rs | 4 +- 223 files changed, 1409 insertions(+), 1039 deletions(-) create mode 100644 ethcore/blockchain/Cargo.toml rename ethcore/{src/blockchain => blockchain/src}/best_block.rs (95%) rename ethcore/{src/blockchain => blockchain/src}/block_info.rs (98%) rename ethcore/{src/blockchain => blockchain/src}/blockchain.rs (97%) rename ethcore/{src/blockchain => blockchain/src}/cache.rs (100%) rename ethcore/{src/blockchain => blockchain/src}/config.rs (100%) rename ethcore/{src/blockchain => blockchain/src}/generator.rs (83%) rename ethcore/{src/blockchain => blockchain/src}/import_route.rs (94%) rename ethcore/{src/blockchain/mod.rs => blockchain/src/lib.rs} (88%) rename ethcore/{src/blockchain => blockchain/src}/update.rs (86%) create mode 100644 ethcore/db/Cargo.toml rename ethcore/{ => db}/src/cache_manager.rs (94%) rename ethcore/{ => db}/src/db.rs (100%) rename ethcore/{src/blockchain/extras.rs => db/src/keys.rs} (92%) create mode 100644 ethcore/db/src/lib.rs create mode 100644 ethcore/src/tests/blockchain.rs create mode 100644 ethcore/src/transaction_ext.rs delete mode 100644 ethcore/transaction/Cargo.toml create mode 100644 ethcore/types/src/block.rs rename ethcore/{ => types}/src/encoded.rs (99%) rename ethcore/{ => types}/src/engines/epoch.rs (100%) create mode 100644 ethcore/types/src/engines/mod.rs rename ethcore/{ => types}/src/header.rs (98%) rename ethcore/{transaction/src => types/src/transaction}/error.rs (100%) rename ethcore/{transaction/src/lib.rs => types/src/transaction/mod.rs} (73%) rename ethcore/{transaction/src => types/src/transaction}/transaction.rs (97%) rename ethcore/{ => types}/src/views/block.rs (98%) rename ethcore/{ => types}/src/views/body.rs (92%) rename ethcore/{ => types}/src/views/header.rs (98%) rename ethcore/{ => types}/src/views/mod.rs (100%) rename ethcore/{ => types}/src/views/transaction.rs (96%) rename ethcore/{ => types}/src/views/view_rlp.rs (100%) diff --git a/Cargo.lock b/Cargo.lock index 5dfa0acdcac..dec069ec691 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -291,12 +291,15 @@ version = "0.1.0" dependencies = [ "ethereum-types 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", "ethjson 0.1.0", + "ethkey 0.3.0", "heapsize 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", "keccak-hash 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", "parity-bytes 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", + "parity-machine 0.1.0", "rlp 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", "rlp_derive 0.1.0", "rustc-hex 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "unexpected 0.1.0", ] [[package]] @@ -583,15 +586,6 @@ dependencies = [ "heapsize 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", ] -[[package]] -name = "env_logger" -version = "0.4.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "log 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)", - "regex 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)", -] - [[package]] name = "env_logger" version = "0.5.13" @@ -693,18 +687,19 @@ dependencies = [ "common-types 0.1.0", "criterion 0.2.5 (registry+https://github.com/rust-lang/crates.io-index)", "crossbeam 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)", - "env_logger 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)", + "env_logger 0.5.13 (registry+https://github.com/rust-lang/crates.io-index)", "error-chain 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)", "ethabi 6.1.0 (registry+https://github.com/rust-lang/crates.io-index)", "ethabi-contract 6.0.0 (registry+https://github.com/rust-lang/crates.io-index)", "ethabi-derive 6.0.2 (registry+https://github.com/rust-lang/crates.io-index)", "ethash 1.12.0", + "ethcore-blockchain 0.1.0", "ethcore-bloom-journal 0.1.0", + "ethcore-db 0.1.0", "ethcore-io 1.12.0", "ethcore-logger 1.12.0", "ethcore-miner 1.12.0", "ethcore-stratum 1.12.0", - "ethcore-transaction 0.1.0", "ethereum-types 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", "ethjson 0.1.0", "ethkey 0.3.0", @@ -756,6 +751,33 @@ dependencies = [ "wasm 0.1.0", ] +[[package]] +name = "ethcore-blockchain" +version = "0.1.0" +dependencies = [ + "ansi_term 0.10.2 (registry+https://github.com/rust-lang/crates.io-index)", + "blooms-db 0.1.0", + "common-types 0.1.0", + "env_logger 0.5.13 (registry+https://github.com/rust-lang/crates.io-index)", + "ethcore-db 0.1.0", + "ethereum-types 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", + "ethkey 0.3.0", + "heapsize 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", + "itertools 0.5.10 (registry+https://github.com/rust-lang/crates.io-index)", + "keccak-hash 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", + "kvdb 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", + "kvdb-memorydb 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", + "log 0.4.5 (registry+https://github.com/rust-lang/crates.io-index)", + "parity-bytes 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", + "parking_lot 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", + "rayon 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", + "rlp 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", + "rlp_compress 0.1.0", + "rlp_derive 0.1.0", + "rustc-hex 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "tempdir 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)", +] + [[package]] name = "ethcore-bloom-journal" version = "0.1.0" @@ -763,6 +785,19 @@ dependencies = [ "siphasher 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", ] +[[package]] +name = "ethcore-db" +version = "0.1.0" +dependencies = [ + "common-types 0.1.0", + "ethereum-types 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", + "heapsize 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", + "kvdb 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", + "parking_lot 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", + "rlp 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", + "rlp_derive 0.1.0", +] + [[package]] name = "ethcore-io" version = "1.12.0" @@ -785,11 +820,13 @@ name = "ethcore-light" version = "1.12.0" dependencies = [ "bincode 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", + "common-types 0.1.0", "error-chain 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)", "ethcore 1.12.0", + "ethcore-blockchain 0.1.0", + "ethcore-db 0.1.0", "ethcore-io 1.12.0", "ethcore-network 1.12.0", - "ethcore-transaction 0.1.0", "ethereum-types 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", "failsafe 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", "fastmap 0.1.0", @@ -840,10 +877,10 @@ name = "ethcore-miner" version = "1.12.0" dependencies = [ "ansi_term 0.10.2 (registry+https://github.com/rust-lang/crates.io-index)", + "common-types 0.1.0", "env_logger 0.5.13 (registry+https://github.com/rust-lang/crates.io-index)", "error-chain 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)", "ethash 1.12.0", - "ethcore-transaction 0.1.0", "ethereum-types 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", "ethkey 0.3.0", "fetch 0.1.0", @@ -919,6 +956,7 @@ dependencies = [ name = "ethcore-private-tx" version = "1.0.0" dependencies = [ + "common-types 0.1.0", "error-chain 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)", "ethabi 6.1.0 (registry+https://github.com/rust-lang/crates.io-index)", "ethabi-contract 6.0.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -927,7 +965,6 @@ dependencies = [ "ethcore-io 1.12.0", "ethcore-logger 1.12.0", "ethcore-miner 1.12.0", - "ethcore-transaction 0.1.0", "ethereum-types 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", "ethjson 0.1.0", "ethkey 0.3.0", @@ -958,13 +995,13 @@ name = "ethcore-secretstore" version = "1.0.0" dependencies = [ "byteorder 1.2.6 (registry+https://github.com/rust-lang/crates.io-index)", + "common-types 0.1.0", "ethabi 6.1.0 (registry+https://github.com/rust-lang/crates.io-index)", "ethabi-contract 6.0.0 (registry+https://github.com/rust-lang/crates.io-index)", "ethabi-derive 6.0.2 (registry+https://github.com/rust-lang/crates.io-index)", "ethcore 1.12.0", "ethcore-logger 1.12.0", "ethcore-sync 1.12.0", - "ethcore-transaction 0.1.0", "ethereum-types 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", "ethkey 0.3.0", "futures 0.1.25 (registry+https://github.com/rust-lang/crates.io-index)", @@ -997,6 +1034,8 @@ dependencies = [ "ansi_term 0.10.2 (registry+https://github.com/rust-lang/crates.io-index)", "error-chain 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)", "ethcore 1.12.0", + "ethcore-blockchain 0.1.0", + "ethcore-db 0.1.0", "ethcore-io 1.12.0", "ethcore-private-tx 1.0.0", "ethcore-sync 1.12.0", @@ -1037,9 +1076,9 @@ dependencies = [ "ethcore-network 1.12.0", "ethcore-network-devp2p 1.12.0", "ethcore-private-tx 1.0.0", - "ethcore-transaction 0.1.0", "ethereum-types 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", "ethkey 0.3.0", + "ethstore 0.2.0", "fastmap 0.1.0", "hashdb 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", "heapsize 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", @@ -1058,21 +1097,6 @@ dependencies = [ "triehash-ethereum 0.2.0", ] -[[package]] -name = "ethcore-transaction" -version = "0.1.0" -dependencies = [ - "ethereum-types 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", - "ethjson 0.1.0", - "ethkey 0.3.0", - "evm 0.1.0", - "heapsize 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", - "keccak-hash 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", - "rlp 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", - "rustc-hex 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "unexpected 0.1.0", -] - [[package]] name = "ethereum-types" version = "0.4.0" @@ -1205,10 +1229,10 @@ dependencies = [ name = "evmbin" version = "0.1.0" dependencies = [ + "common-types 0.1.0", "docopt 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", "env_logger 0.5.13 (registry+https://github.com/rust-lang/crates.io-index)", "ethcore 1.12.0", - "ethcore-transaction 0.1.0", "ethereum-types 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", "ethjson 0.1.0", "evm 0.1.0", @@ -2357,12 +2381,15 @@ dependencies = [ "blooms-db 0.1.0", "clap 2.32.0 (registry+https://github.com/rust-lang/crates.io-index)", "cli-signer 1.4.0", + "common-types 0.1.0", "ctrlc 1.1.1 (git+https://github.com/paritytech/rust-ctrlc.git)", "daemonize 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", "dir 0.1.2", "docopt 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", "env_logger 0.5.13 (registry+https://github.com/rust-lang/crates.io-index)", "ethcore 1.12.0", + "ethcore-blockchain 0.1.0", + "ethcore-db 0.1.0", "ethcore-io 1.12.0", "ethcore-light 1.12.0", "ethcore-logger 1.12.0", @@ -2372,9 +2399,9 @@ dependencies = [ "ethcore-secretstore 1.0.0", "ethcore-service 0.1.0", "ethcore-sync 1.12.0", - "ethcore-transaction 0.1.0", "ethereum-types 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", "ethkey 0.3.0", + "ethstore 0.2.0", "fake-fetch 0.0.1", "fdlimit 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", "futures 0.1.25 (registry+https://github.com/rust-lang/crates.io-index)", @@ -2461,9 +2488,8 @@ dependencies = [ name = "parity-local-store" version = "0.1.0" dependencies = [ - "ethcore 1.12.0", + "common-types 0.1.0", "ethcore-io 1.12.0", - "ethcore-transaction 0.1.0", "ethkey 0.3.0", "kvdb 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", "kvdb-memorydb 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -2513,6 +2539,7 @@ version = "1.12.0" dependencies = [ "ansi_term 0.10.2 (registry+https://github.com/rust-lang/crates.io-index)", "cid 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", + "common-types 0.1.0", "eip-712 0.1.0", "ethash 1.12.0", "ethcore 1.12.0", @@ -2523,7 +2550,6 @@ dependencies = [ "ethcore-network 1.12.0", "ethcore-private-tx 1.0.0", "ethcore-sync 1.12.0", - "ethcore-transaction 0.1.0", "ethereum-types 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", "ethjson 0.1.0", "ethkey 0.3.0", @@ -2635,6 +2661,7 @@ dependencies = [ name = "parity-updater" version = "1.12.0" dependencies = [ + "common-types 0.1.0", "ethabi 6.1.0 (registry+https://github.com/rust-lang/crates.io-index)", "ethabi-contract 6.0.0 (registry+https://github.com/rust-lang/crates.io-index)", "ethabi-derive 6.0.2 (registry+https://github.com/rust-lang/crates.io-index)", @@ -4131,7 +4158,6 @@ name = "vm" version = "0.1.0" dependencies = [ "byteorder 1.2.6 (registry+https://github.com/rust-lang/crates.io-index)", - "common-types 0.1.0", "ethereum-types 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", "ethjson 0.1.0", "keccak-hash 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", @@ -4393,7 +4419,6 @@ dependencies = [ "checksum edit-distance 2.0.1 (registry+https://github.com/rust-lang/crates.io-index)" = "3bd26878c3d921f89797a4e1a1711919f999a9f6946bb6f5a4ffda126d297b7e" "checksum either 1.5.0 (registry+https://github.com/rust-lang/crates.io-index)" = "3be565ca5c557d7f59e7cfcf1844f9e3033650c929c6566f511e8005f205c1d0" "checksum elastic-array 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)" = "88d4851b005ef16de812ea9acdb7bece2f0a40dd86c07b85631d7dafa54537bb" -"checksum env_logger 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)" = "3ddf21e73e016298f5cb37d6ef8e8da8e39f91f9ec8b0df44b7deb16a9f8cd5b" "checksum env_logger 0.5.13 (registry+https://github.com/rust-lang/crates.io-index)" = "15b0a4d2e39f8420210be8b27eeda28029729e2fd4291019455016c348240c38" "checksum error-chain 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)" = "07e791d3be96241c77c43846b665ef1384606da2cd2a48730abe606a12906e02" "checksum eth-secp256k1 0.5.7 (git+https://github.com/paritytech/rust-secp256k1)" = "" diff --git a/Cargo.toml b/Cargo.toml index 4986945548c..b4499ae198c 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -33,6 +33,9 @@ ctrlc = { git = "https://github.com/paritytech/rust-ctrlc.git" } jsonrpc-core = { git = "https://github.com/paritytech/jsonrpc.git", branch = "parity-2.2" } ethcore = { path = "ethcore", features = ["parity"] } parity-bytes = "0.1" +common-types = { path = "ethcore/types" } +ethcore-blockchain = { path = "ethcore/blockchain" } +ethcore-db = { path = "ethcore/db" } ethcore-io = { path = "util/io" } ethcore-light = { path = "ethcore/light" } ethcore-logger = { path = "logger" } @@ -41,7 +44,7 @@ ethcore-network = { path = "util/network" } ethcore-private-tx = { path = "ethcore/private-tx" } ethcore-service = { path = "ethcore/service" } ethcore-sync = { path = "ethcore/sync" } -ethcore-transaction = { path = "ethcore/transaction" } +ethstore = { path = "accounts/ethstore" } ethereum-types = "0.4" node-filter = { path = "ethcore/node-filter" } ethkey = { path = "accounts/ethkey" } diff --git a/ethcore/Cargo.toml b/ethcore/Cargo.toml index 8eb13201440..5013821abeb 100644 --- a/ethcore/Cargo.toml +++ b/ethcore/Cargo.toml @@ -8,68 +8,68 @@ authors = ["Parity Technologies "] [dependencies] ansi_term = "0.10" -blooms-db = { path = "../util/blooms-db" } +blooms-db = { path = "../util/blooms-db", optional = true } bn = { git = "https://github.com/paritytech/bn", default-features = false } byteorder = "1.0" common-types = { path = "types" } crossbeam = "0.4" +error-chain = { version = "0.12", default-features = false } +ethabi = "6.0" +ethabi-contract = "6.0" +ethabi-derive = "6.0" ethash = { path = "../ethash" } +ethcore-blockchain = { path = "./blockchain" } ethcore-bloom-journal = { path = "../util/bloom" } -parity-bytes = "0.1" -hashdb = "0.3.0" -memorydb = "0.3.0" -patricia-trie = "0.3.0" -patricia-trie-ethereum = { path = "../util/patricia-trie-ethereum" } -parity-crypto = "0.2" -error-chain = { version = "0.12", default-features = false } +ethcore-db = { path = "./db" } ethcore-io = { path = "../util/io" } -ethcore-logger = { path = "../logger" } +ethcore-logger = { path = "../logger", optional = true } ethcore-miner = { path = "../miner" } ethcore-stratum = { path = "../miner/stratum", optional = true } -ethcore-transaction = { path = "./transaction" } ethereum-types = "0.4" -memory-cache = { path = "../util/memory-cache" } -ethabi = "6.0" -ethabi-derive = "6.0" -ethabi-contract = "6.0" ethjson = { path = "../json" } ethkey = { path = "../accounts/ethkey" } ethstore = { path = "../accounts/ethstore" } evm = { path = "evm" } +hashdb = "0.3.0" heapsize = "0.4" itertools = "0.5" +journaldb = { path = "../util/journaldb" } +keccak-hash = "0.1" +keccak-hasher = { path = "../util/keccak-hasher" } +kvdb = "0.1" +kvdb-memorydb = "0.1" +kvdb-rocksdb = { version = "0.1.3", optional = true } lazy_static = "1.0" +len-caching-lock = { path = "../util/len-caching-lock" } log = "0.4" lru-cache = "0.1" +macros = { path = "../util/macros" } +memory-cache = { path = "../util/memory-cache" } +memorydb = "0.3.0" num = { version = "0.1", default-features = false, features = ["bigint"] } num_cpus = "1.2" +parity-bytes = "0.1" +parity-crypto = "0.2" parity-machine = { path = "../machine" } +parity-snappy = "0.1" parking_lot = "0.7" -rayon = "1.0" +patricia-trie = "0.3.0" +patricia-trie-ethereum = { path = "../util/patricia-trie-ethereum" } rand = "0.4" +rayon = "1.0" rlp = { version = "0.3.0", features = ["ethereum"] } -rlp_compress = { path = "../util/rlp-compress" } rlp_derive = { path = "../util/rlp-derive" } -kvdb = "0.1" -kvdb-memorydb = "0.1" -parity-snappy = "0.1" -macros = { path = "../util/macros" } rustc-hex = "1.0" +serde = "1.0" +serde_derive = "1.0" stats = { path = "../util/stats" } +tempdir = {version="0.3", optional = true} trace-time = "0.1" +triehash-ethereum = { version = "0.2", path = "../util/triehash-ethereum" } +unexpected = { path = "../util/unexpected" } using_queue = { path = "../miner/using-queue" } vm = { path = "vm" } wasm = { path = "wasm" } -keccak-hash = "0.1" -triehash-ethereum = { version = "0.2", path = "../util/triehash-ethereum" } -unexpected = { path = "../util/unexpected" } -journaldb = { path = "../util/journaldb" } -keccak-hasher = { path = "../util/keccak-hasher" } -kvdb-rocksdb = "0.1.3" -serde = "1.0" -serde_derive = "1.0" -tempdir = {version="0.3", optional = true} -len-caching-lock = { path = "../util/len-caching-lock" } [target.'cfg(any(target_os = "linux", target_os = "macos", target_os = "windows", target_os = "android"))'.dependencies] hardware-wallet = { path = "../accounts/hw" } @@ -78,10 +78,14 @@ hardware-wallet = { path = "../accounts/hw" } fake-hardware-wallet = { path = "../accounts/fake-hardware-wallet" } [dev-dependencies] -env_logger = "0.4" +blooms-db = { path = "../util/blooms-db" } +criterion = "0.2" +env_logger = "0.5" +ethcore-logger = { path = "../logger" } +kvdb-rocksdb = "0.1.3" +rlp_compress = { path = "../util/rlp-compress" } tempdir = "0.3" trie-standardmap = "0.1" -criterion = "0.2" [features] parity = ["work-notify", "price-info", "stratum"] @@ -105,13 +109,13 @@ evm-debug-tests = ["evm-debug", "evm/evm-debug-tests"] # EVM debug traces are printed. slow-blocks = [] # Run JSON consensus tests. -json-tests = ["ethcore-transaction/json-tests", "test-helpers", "tempdir", "to-pod-full"] +json-tests = ["ethcore-logger", "test-helpers", "tempdir", "to-pod-full"] # Skip JSON consensus tests with pending issues. ci-skip-issue = [] # Run memory/cpu heavy tests. test-heavy = [] # Compile test helpers -test-helpers = ["tempdir"] +test-helpers = ["tempdir", "kvdb-rocksdb", "blooms-db"] # Enables slow 'to-pod-full' method for use in tests and evmbin. to-pod-full = [] diff --git a/ethcore/blockchain/Cargo.toml b/ethcore/blockchain/Cargo.toml new file mode 100644 index 00000000000..a2636975705 --- /dev/null +++ b/ethcore/blockchain/Cargo.toml @@ -0,0 +1,33 @@ +[package] +description = "Ethcore blockchain database" +homepage = "http://parity.io" +license = "GPL-3.0" +name = "ethcore-blockchain" +version = "0.1.0" +authors = ["Parity Technologies "] +edition = "2018" + +[dependencies] +ansi_term = "0.10" +blooms-db = { path = "../../util/blooms-db" } +common-types = { path = "../types" } +ethcore-db = { path = "../db" } +ethereum-types = "0.4" +heapsize = "0.4" +itertools = "0.5" +kvdb = "0.1" +log = "0.4" +parity-bytes = "0.1" +parking_lot = "0.7" +rayon = "1.0" +rlp = { version = "0.3.0", features = ["ethereum"] } +rlp_compress = { path = "../../util/rlp-compress" } +rlp_derive = { path = "../../util/rlp-derive" } + +[dev-dependencies] +env_logger = "0.5" +ethkey = { path = "../../accounts/ethkey" } +keccak-hash = "0.1" +rustc-hex = "1.0" +tempdir = "0.3" +kvdb-memorydb = "0.1" diff --git a/ethcore/src/blockchain/best_block.rs b/ethcore/blockchain/src/best_block.rs similarity index 95% rename from ethcore/src/blockchain/best_block.rs rename to ethcore/blockchain/src/best_block.rs index adfaf68aadd..f73caa5fbd3 100644 --- a/ethcore/src/blockchain/best_block.rs +++ b/ethcore/blockchain/src/best_block.rs @@ -16,8 +16,8 @@ use ethereum_types::{H256, U256}; -use encoded; -use header::{Header, BlockNumber}; +use common_types::{encoded, BlockNumber}; +use common_types::header::Header; /// Contains information on a best block that is specific to the consensus engine. /// diff --git a/ethcore/src/blockchain/block_info.rs b/ethcore/blockchain/src/block_info.rs similarity index 98% rename from ethcore/src/blockchain/block_info.rs rename to ethcore/blockchain/src/block_info.rs index 6a48e924473..cbf7ad9d688 100644 --- a/ethcore/src/blockchain/block_info.rs +++ b/ethcore/blockchain/src/block_info.rs @@ -15,7 +15,7 @@ // along with Parity. If not, see . use ethereum_types::{H256, U256}; -use header::BlockNumber; +use common_types::BlockNumber; /// Brief info about inserted block. #[derive(Clone)] diff --git a/ethcore/src/blockchain/blockchain.rs b/ethcore/blockchain/src/blockchain.rs similarity index 97% rename from ethcore/src/blockchain/blockchain.rs rename to ethcore/blockchain/src/blockchain.rs index 4286dc41482..2d7d129e844 100644 --- a/ethcore/src/blockchain/blockchain.rs +++ b/ethcore/blockchain/src/blockchain.rs @@ -22,34 +22,37 @@ use std::path::Path; use std::sync::Arc; use ansi_term::Colour; -use blockchain::{CacheSize, ImportRoute, Config}; -use blockchain::best_block::{BestBlock, BestAncientBlock}; -use blockchain::block_info::{BlockInfo, BlockLocation, BranchBecomingCanonChainData}; -use blockchain::extras::{BlockReceipts, BlockDetails, TransactionAddress, EPOCH_KEY_PREFIX, EpochTransitions}; -use blockchain::update::{ExtrasUpdate, ExtrasInsert}; use blooms_db; -use bytes::Bytes; -use cache_manager::CacheManager; -use db::{self, Writable, Readable, CacheUpdatePolicy}; -use encoded; -use engines::epoch::{Transition as EpochTransition, PendingTransition as PendingEpochTransition}; -use engines::ForkChoice; +use common_types::BlockNumber; +use common_types::blockchain_info::BlockChainInfo; +use common_types::encoded; +use common_types::engines::ForkChoice; +use common_types::engines::epoch::{Transition as EpochTransition, PendingTransition as PendingEpochTransition}; +use common_types::header::{Header, ExtendedHeader}; +use common_types::log_entry::{LogEntry, LocalizedLogEntry}; +use common_types::receipt::Receipt; +use common_types::transaction::LocalizedTransaction; +use common_types::tree_route::TreeRoute; +use common_types::view; +use common_types::views::{BlockView, HeaderView}; +use ethcore_db::cache_manager::CacheManager; +use ethcore_db::keys::{BlockReceipts, BlockDetails, TransactionAddress, EPOCH_KEY_PREFIX, EpochTransitions}; +use ethcore_db::{self as db, Writable, Readable, CacheUpdatePolicy}; use ethereum_types::{H256, Bloom, BloomRef, U256}; -use error::Error as EthcoreError; -use header::*; use heapsize::HeapSizeOf; use itertools::Itertools; use kvdb::{DBTransaction, KeyValueDB}; -use log_entry::{LogEntry, LocalizedLogEntry}; +use log::{trace, warn, info}; +use parity_bytes::Bytes; use parking_lot::{Mutex, RwLock}; use rayon::prelude::*; -use receipt::Receipt; -use rlp_compress::{compress, decompress, blocks_swapper}; use rlp::RlpStream; -use transaction::*; -use types::blockchain_info::BlockChainInfo; -use types::tree_route::TreeRoute; -use views::{BlockView, HeaderView}; +use rlp_compress::{compress, decompress, blocks_swapper}; + +use crate::best_block::{BestBlock, BestAncientBlock}; +use crate::block_info::{BlockInfo, BlockLocation, BranchBecomingCanonChainData}; +use crate::update::{ExtrasUpdate, ExtrasInsert}; +use crate::{CacheSize, ImportRoute, Config}; /// Database backing `BlockChain`. pub trait BlockChainDB: Send + Sync { @@ -63,7 +66,7 @@ pub trait BlockChainDB: Send + Sync { fn trace_blooms(&self) -> &blooms_db::Database; /// Restore the DB from the given path - fn restore(&self, new_db: &str) -> Result<(), EthcoreError> { + fn restore(&self, new_db: &str) -> Result<(), io::Error> { // First, close the Blooms databases self.blooms().close()?; self.trace_blooms().close()?; @@ -1549,25 +1552,55 @@ impl BlockChain { #[cfg(test)] mod tests { + use super::*; + use std::iter; - use std::sync::Arc; - use rustc_hex::FromHex; - use hash::keccak; - use kvdb::DBTransaction; - use ethereum_types::*; - use receipt::{Receipt, TransactionOutcome}; - use blockchain::{BlockProvider, BlockChain, BlockChainDB, Config, ImportRoute}; - use test_helpers::{ - generate_dummy_blockchain, generate_dummy_blockchain_with_extra, - generate_dummy_empty_blockchain - }; - use blockchain::generator::{BlockGenerator, BlockBuilder, BlockOptions}; - use blockchain::extras::TransactionAddress; - use transaction::{Transaction, Action}; - use log_entry::{LogEntry, LocalizedLogEntry}; + + use common_types::receipt::{Receipt, TransactionOutcome}; + use common_types::transaction::{Transaction, Action}; + use crate::generator::{BlockGenerator, BlockBuilder, BlockOptions}; use ethkey::Secret; - use test_helpers::new_db; - use encoded; + use keccak_hash::keccak; + use rustc_hex::FromHex; + use tempdir::TempDir; + + struct TestBlockChainDB { + _blooms_dir: TempDir, + _trace_blooms_dir: TempDir, + blooms: blooms_db::Database, + trace_blooms: blooms_db::Database, + key_value: Arc, + } + + impl BlockChainDB for TestBlockChainDB { + fn key_value(&self) -> &Arc { + &self.key_value + } + + fn blooms(&self) -> &blooms_db::Database { + &self.blooms + } + + fn trace_blooms(&self) -> &blooms_db::Database { + &self.trace_blooms + } + } + + /// Creates new test instance of `BlockChainDB` + pub fn new_db() -> Arc { + let blooms_dir = TempDir::new("").unwrap(); + let trace_blooms_dir = TempDir::new("").unwrap(); + + let db = TestBlockChainDB { + blooms: blooms_db::Database::open(blooms_dir.path()).unwrap(), + trace_blooms: blooms_db::Database::open(trace_blooms_dir.path()).unwrap(), + _blooms_dir: blooms_dir, + _trace_blooms_dir: trace_blooms_dir, + key_value: Arc::new(kvdb_memorydb::create(ethcore_db::NUM_COLUMNS.unwrap())) + }; + + Arc::new(db) + } fn new_chain(genesis: encoded::Block, db: Arc) -> BlockChain { BlockChain::new(Config::default(), genesis.raw(), db) @@ -1588,7 +1621,7 @@ mod tests { } fn insert_block_batch(batch: &mut DBTransaction, bc: &BlockChain, block: encoded::Block, receipts: Vec) -> ImportRoute { - use blockchain::ExtrasInsert; + use crate::ExtrasInsert; let fork_choice = { let header = block.header_view(); @@ -1596,9 +1629,9 @@ mod tests { let parent_details = bc.block_details(&parent_hash).unwrap_or_else(|| panic!("Invalid parent hash: {:?}", parent_hash)); let block_total_difficulty = parent_details.total_difficulty + header.difficulty(); if block_total_difficulty > bc.best_block_total_difficulty() { - ::engines::ForkChoice::New + common_types::engines::ForkChoice::New } else { - ::engines::ForkChoice::Old + common_types::engines::ForkChoice::Old } }; @@ -2012,43 +2045,6 @@ mod tests { } } - #[test] - fn can_contain_arbitrary_block_sequence() { - let bc = generate_dummy_blockchain(50); - assert_eq!(bc.best_block_number(), 49); - } - - #[test] - fn can_collect_garbage() { - let bc = generate_dummy_blockchain(3000); - - assert_eq!(bc.best_block_number(), 2999); - let best_hash = bc.best_block_hash(); - let mut block_header = bc.block_header_data(&best_hash); - - while !block_header.is_none() { - block_header = bc.block_header_data(&block_header.unwrap().parent_hash()); - } - assert!(bc.cache_size().blocks > 1024 * 1024); - - for _ in 0..2 { - bc.collect_garbage(); - } - assert!(bc.cache_size().blocks < 1024 * 1024); - } - - #[test] - fn can_contain_arbitrary_block_sequence_with_extra() { - let bc = generate_dummy_blockchain_with_extra(25); - assert_eq!(bc.best_block_number(), 24); - } - - #[test] - fn can_contain_only_genesis_block() { - let bc = generate_dummy_empty_blockchain(); - assert_eq!(bc.best_block_number(), 0); - } - #[test] fn find_transaction_by_hash() { let genesis = "f901fcf901f7a00000000000000000000000000000000000000000000000000000000000000000a01dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347948888f1f195afa192cfee860698584c030f4c9db1a0af81e09f8c46ca322193edfda764fa7e88e81923f802f1d325ec0b0308ac2cd0a056e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421a056e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000830200008083023e38808454c98c8142a056e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421880102030405060708c0c0".from_hex().unwrap(); @@ -2369,7 +2365,7 @@ mod tests { #[test] fn epoch_transitions_iter() { - use ::engines::EpochTransition; + use common_types::engines::epoch::Transition as EpochTransition; let genesis = BlockBuilder::genesis(); let next_5 = genesis.add_blocks(5); @@ -2418,7 +2414,7 @@ mod tests { #[test] fn epoch_transition_for() { - use ::engines::EpochTransition; + use common_types::engines::epoch::Transition as EpochTransition; let genesis = BlockBuilder::genesis(); let fork_7 = genesis.add_blocks_with(7, || BlockOptions { diff --git a/ethcore/src/blockchain/cache.rs b/ethcore/blockchain/src/cache.rs similarity index 100% rename from ethcore/src/blockchain/cache.rs rename to ethcore/blockchain/src/cache.rs diff --git a/ethcore/src/blockchain/config.rs b/ethcore/blockchain/src/config.rs similarity index 100% rename from ethcore/src/blockchain/config.rs rename to ethcore/blockchain/src/config.rs diff --git a/ethcore/src/blockchain/generator.rs b/ethcore/blockchain/src/generator.rs similarity index 83% rename from ethcore/src/blockchain/generator.rs rename to ethcore/blockchain/src/generator.rs index 213b394fc9d..8f933bbc85d 100644 --- a/ethcore/src/blockchain/generator.rs +++ b/ethcore/blockchain/src/generator.rs @@ -19,51 +19,65 @@ use std::collections::VecDeque; use ethereum_types::{U256, H256, Bloom}; -use header::Header; +use common_types::encoded; +use common_types::header::Header; +use common_types::transaction::SignedTransaction; +use common_types::view; +use common_types::views::BlockView; use rlp::encode; -use transaction::SignedTransaction; -use views::BlockView; -use encoded; +use rlp_derive::RlpEncodable; /// Helper structure, used for encoding blocks. #[derive(Default, Clone, RlpEncodable)] pub struct Block { + /// Block header pub header: Header, + /// Block transactions pub transactions: Vec, + /// Block uncles pub uncles: Vec

} impl Block { + /// Get a copy of the header #[inline] pub fn header(&self) -> Header { self.header.clone() } + /// Get block hash #[inline] pub fn hash(&self) -> H256 { view!(BlockView, &self.encoded().raw()).header_view().hash() } + /// Get block number #[inline] pub fn number(&self) -> u64 { self.header.number() } + /// Get RLP encoding of this block #[inline] pub fn encoded(&self) -> encoded::Block { encoded::Block::new(encode(self)) } + /// Get block difficulty #[inline] pub fn difficulty(&self) -> U256 { *self.header.difficulty() } } +/// Specify block options for generator #[derive(Debug)] pub struct BlockOptions { + /// Difficulty pub difficulty: U256, + /// Set bloom filter pub bloom: Bloom, + /// Transactions included in blocks pub transactions: Vec, } @@ -77,12 +91,14 @@ impl Default for BlockOptions { } } +/// Utility to create blocks #[derive(Clone)] pub struct BlockBuilder { blocks: VecDeque, } impl BlockBuilder { + /// Create new BlockBuilder starting at genesis. pub fn genesis() -> Self { let mut blocks = VecDeque::with_capacity(1); blocks.push_back(Block::default()); @@ -92,21 +108,25 @@ impl BlockBuilder { } } + /// Add new block with default options. #[inline] pub fn add_block(&self) -> Self { self.add_block_with(|| BlockOptions::default()) } + /// Add `count` number of blocks with default options. #[inline] pub fn add_blocks(&self, count: usize) -> Self { self.add_blocks_with(count, || BlockOptions::default()) } + /// Add block with specified options. #[inline] pub fn add_block_with(&self, get_metadata: T) -> Self where T: Fn() -> BlockOptions { self.add_blocks_with(1, get_metadata) } + /// Add a block with given difficulty #[inline] pub fn add_block_with_difficulty(&self, difficulty: T) -> Self where T: Into { let difficulty = difficulty.into(); @@ -116,6 +136,7 @@ impl BlockBuilder { }) } + /// Add a block with given transactions. #[inline] pub fn add_block_with_transactions(&self, transactions: T) -> Self where T: IntoIterator { @@ -126,6 +147,7 @@ impl BlockBuilder { }) } + /// Add a block with given bloom filter. #[inline] pub fn add_block_with_bloom(&self, bloom: Bloom) -> Self { self.add_blocks_with(1, move || BlockOptions { @@ -134,6 +156,7 @@ impl BlockBuilder { }) } + /// Add a bunch of blocks with given metadata. pub fn add_blocks_with(&self, count: usize, get_metadata: T) -> Self where T: Fn() -> BlockOptions { assert!(count > 0, "There must be at least 1 block"); let mut parent_hash = self.last().hash(); @@ -160,18 +183,21 @@ impl BlockBuilder { } } + /// Get a reference to the last generated block. #[inline] pub fn last(&self) -> &Block { self.blocks.back().expect("There is always at least 1 block") } } +/// Generates a blockchain from given block builders (blocks will be concatenated). #[derive(Clone)] pub struct BlockGenerator { builders: VecDeque, } impl BlockGenerator { + /// Create new block generator. pub fn new(builders: T) -> Self where T: IntoIterator { BlockGenerator { builders: builders.into_iter().collect(), diff --git a/ethcore/src/blockchain/import_route.rs b/ethcore/blockchain/src/import_route.rs similarity index 94% rename from ethcore/src/blockchain/import_route.rs rename to ethcore/blockchain/src/import_route.rs index d8b38e6335e..8ab8d91ea4e 100644 --- a/ethcore/src/blockchain/import_route.rs +++ b/ethcore/blockchain/src/import_route.rs @@ -17,7 +17,7 @@ //! Import route. use ethereum_types::H256; -use blockchain::block_info::{BlockInfo, BlockLocation}; +use crate::block_info::{BlockInfo, BlockLocation}; /// Import route for newly inserted block. #[derive(Debug, PartialEq, Clone)] @@ -31,6 +31,7 @@ pub struct ImportRoute { } impl ImportRoute { + /// Empty import route. pub fn none() -> Self { ImportRoute { retracted: vec![], @@ -68,8 +69,8 @@ impl From for ImportRoute { #[cfg(test)] mod tests { use ethereum_types::{H256, U256}; - use blockchain::block_info::{BlockInfo, BlockLocation, BranchBecomingCanonChainData}; - use blockchain::ImportRoute; + use crate::block_info::{BlockInfo, BlockLocation, BranchBecomingCanonChainData}; + use super::ImportRoute; #[test] fn import_route_none() { diff --git a/ethcore/src/blockchain/mod.rs b/ethcore/blockchain/src/lib.rs similarity index 88% rename from ethcore/src/blockchain/mod.rs rename to ethcore/blockchain/src/lib.rs index 3a4504051e3..ad07cff3b35 100644 --- a/ethcore/src/blockchain/mod.rs +++ b/ethcore/blockchain/src/lib.rs @@ -16,22 +16,22 @@ //! Blockchain database. +#![warn(missing_docs)] + mod best_block; mod block_info; mod blockchain; mod cache; mod config; -mod extras; mod import_route; mod update; -#[cfg(test)] pub mod generator; pub use self::blockchain::{BlockProvider, BlockChain, BlockChainDB, BlockChainDBHandler}; pub use self::cache::CacheSize; pub use self::config::Config; -pub use self::extras::{BlockReceipts, BlockDetails, TransactionAddress}; pub use self::import_route::ImportRoute; pub use self::update::ExtrasInsert; -pub use types::tree_route::TreeRoute; +pub use ethcore_db::keys::{BlockReceipts, BlockDetails, TransactionAddress}; +pub use common_types::tree_route::TreeRoute; diff --git a/ethcore/src/blockchain/update.rs b/ethcore/blockchain/src/update.rs similarity index 86% rename from ethcore/src/blockchain/update.rs rename to ethcore/blockchain/src/update.rs index 897abb59bc3..965e0bcd729 100644 --- a/ethcore/src/blockchain/update.rs +++ b/ethcore/blockchain/src/update.rs @@ -15,11 +15,14 @@ // along with Parity. If not, see . use std::collections::HashMap; + +use common_types::BlockNumber; +use common_types::encoded::Block; +use common_types::engines::ForkChoice; +use ethcore_db::keys::{BlockDetails, BlockReceipts, TransactionAddress}; use ethereum_types::{H256, Bloom}; -use header::BlockNumber; -use blockchain::block_info::BlockInfo; -use blockchain::extras::{BlockDetails, BlockReceipts, TransactionAddress}; -use encoded::Block; + +use crate::block_info::BlockInfo; /// Block extras update info. pub struct ExtrasUpdate { @@ -42,7 +45,7 @@ pub struct ExtrasUpdate { /// Extra information in block insertion. pub struct ExtrasInsert { /// The primitive fork choice before applying finalization rules. - pub fork_choice: ::engines::ForkChoice, + pub fork_choice: ForkChoice, /// Is the inserted block considered finalized. pub is_finalized: bool, } diff --git a/ethcore/db/Cargo.toml b/ethcore/db/Cargo.toml new file mode 100644 index 00000000000..53ec9f7b881 --- /dev/null +++ b/ethcore/db/Cargo.toml @@ -0,0 +1,17 @@ +[package] +description = "Ethcore DB access utilities" +homepage = "http://parity.io" +license = "GPL-3.0" +name = "ethcore-db" +version = "0.1.0" +authors = ["Parity Technologies "] +edition = "2018" + +[dependencies] +common-types = { path = "../types" } +ethereum-types = "0.4" +heapsize = "0.4" +kvdb = "0.1" +parking_lot = "0.7" +rlp = { version = "0.3.0", features = ["ethereum"] } +rlp_derive = { path = "../../util/rlp-derive" } diff --git a/ethcore/src/cache_manager.rs b/ethcore/db/src/cache_manager.rs similarity index 94% rename from ethcore/src/cache_manager.rs rename to ethcore/db/src/cache_manager.rs index 07a9750a0ee..dacb51da68d 100644 --- a/ethcore/src/cache_manager.rs +++ b/ethcore/db/src/cache_manager.rs @@ -14,11 +14,14 @@ // You should have received a copy of the GNU General Public License // along with Parity. If not, see . +//! Database cache manager + use std::collections::{VecDeque, HashSet}; use std::hash::Hash; const COLLECTION_QUEUE_SIZE: usize = 8; +/// DB cache manager pub struct CacheManager { pref_cache_size: usize, max_cache_size: usize, @@ -27,6 +30,7 @@ pub struct CacheManager { } impl CacheManager where T: Eq + Hash { + /// Create new cache manager with preferred (heap) sizes. pub fn new(pref_cache_size: usize, max_cache_size: usize, bytes_per_cache_entry: usize) -> Self { CacheManager { pref_cache_size: pref_cache_size, @@ -36,6 +40,7 @@ impl CacheManager where T: Eq + Hash { } } + /// Mark element as used. pub fn note_used(&mut self, id: T) { if !self.cache_usage[0].contains(&id) { if let Some(c) = self.cache_usage.iter_mut().skip(1).find(|e| e.contains(&id)) { diff --git a/ethcore/src/db.rs b/ethcore/db/src/db.rs similarity index 100% rename from ethcore/src/db.rs rename to ethcore/db/src/db.rs diff --git a/ethcore/src/blockchain/extras.rs b/ethcore/db/src/keys.rs similarity index 92% rename from ethcore/src/blockchain/extras.rs rename to ethcore/db/src/keys.rs index 1dd51b7c753..d9fc3dcc368 100644 --- a/ethcore/src/blockchain/extras.rs +++ b/ethcore/db/src/keys.rs @@ -19,14 +19,16 @@ use std::io::Write; use std::ops; -use db::Key; -use engines::epoch::{Transition as EpochTransition}; +use common_types::BlockNumber; +use common_types::engines::epoch::Transition as EpochTransition; +use common_types::receipt::Receipt; use ethereum_types::{H256, H264, U256}; -use header::BlockNumber; use heapsize::HeapSizeOf; use kvdb::PREFIX_LEN as DB_PREFIX_LEN; -use receipt::Receipt; use rlp; +use rlp_derive::{RlpEncodableWrapper, RlpDecodableWrapper, RlpEncodable, RlpDecodable}; + +use crate::db::Key; /// Represents index of extra data in database #[derive(Copy, Debug, Hash, Eq, PartialEq, Clone)] @@ -52,6 +54,7 @@ fn with_index(hash: &H256, i: ExtrasIndex) -> H264 { result } +/// Wrapper for block number used as a DB key. pub struct BlockNumberKey([u8; 5]); impl ops::Deref for BlockNumberKey { @@ -100,7 +103,7 @@ impl Key for H256 { } } -impl Key<::engines::epoch::PendingTransition> for H256 { +impl Key for H256 { type Target = H264; fn key(&self) -> H264 { @@ -117,6 +120,7 @@ pub const EPOCH_KEY_PREFIX: &'static [u8; DB_PREFIX_LEN] = &[ ExtrasIndex::EpochTransitions as u8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ]; +/// Epoch transitions key pub struct EpochTransitionsKey([u8; EPOCH_KEY_LEN]); impl ops::Deref for EpochTransitionsKey { @@ -217,10 +221,12 @@ impl HeapSizeOf for TransactionAddress { /// Contains all block receipts. #[derive(Clone, RlpEncodableWrapper, RlpDecodableWrapper)] pub struct BlockReceipts { + /// Block receipts pub receipts: Vec, } impl BlockReceipts { + /// Create new block receipts wrapper. pub fn new(receipts: Vec) -> Self { BlockReceipts { receipts: receipts @@ -237,7 +243,9 @@ impl HeapSizeOf for BlockReceipts { /// Candidate transitions to an epoch with specific number. #[derive(Clone, RlpEncodable, RlpDecodable)] pub struct EpochTransitions { + /// Epoch number pub number: u64, + /// List of candidate transitions pub candidates: Vec, } diff --git a/ethcore/db/src/lib.rs b/ethcore/db/src/lib.rs new file mode 100644 index 00000000000..1ecfb9adc24 --- /dev/null +++ b/ethcore/db/src/lib.rs @@ -0,0 +1,26 @@ +// Copyright 2015-2018 Parity Technologies (UK) Ltd. +// This file is part of Parity. + +// Parity is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. + +// Parity is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. + +// You should have received a copy of the GNU General Public License +// along with Parity. If not, see . + +//! Parity Ethereum database access utilities. + +#![warn(missing_docs)] + +mod db; + +pub mod keys; +pub mod cache_manager; + +pub use self::db::*; diff --git a/ethcore/light/Cargo.toml b/ethcore/light/Cargo.toml index 2cef2fbe7c2..7e0c8aaebfd 100644 --- a/ethcore/light/Cargo.toml +++ b/ethcore/light/Cargo.toml @@ -8,9 +8,11 @@ authors = ["Parity Technologies "] [dependencies] log = "0.4" -ethcore = { path = ".."} parity-bytes = "0.1" -ethcore-transaction = { path = "../transaction" } +common-types = { path = "../types" } +ethcore = { path = ".."} +ethcore-db = { path = "../db" } +ethcore-blockchain = { path = "../blockchain" } ethereum-types = "0.4" memorydb = "0.3.0" patricia-trie = "0.3.0" diff --git a/ethcore/light/src/cache.rs b/ethcore/light/src/cache.rs index d720626ab60..93f53063a3d 100644 --- a/ethcore/light/src/cache.rs +++ b/ethcore/light/src/cache.rs @@ -20,15 +20,15 @@ //! Furthermore, stores a "gas price corpus" of relative recency, which is a sorted //! vector of all gas prices from a recent range of blocks. -use ethcore::encoded; -use ethcore::header::BlockNumber; -use ethcore::receipt::Receipt; - -use stats::Corpus; use std::time::{Instant, Duration}; -use heapsize::HeapSizeOf; + +use common_types::encoded; +use common_types::BlockNumber; +use common_types::receipt::Receipt; use ethereum_types::{H256, U256}; +use heapsize::HeapSizeOf; use memory_cache::MemoryLruCache; +use stats::Corpus; /// Configuration for how much data to cache. #[derive(Copy, Clone, Debug, PartialEq, Eq)] diff --git a/ethcore/light/src/cht.rs b/ethcore/light/src/cht.rs index c6665f85759..9e015188269 100644 --- a/ethcore/light/src/cht.rs +++ b/ethcore/light/src/cht.rs @@ -23,7 +23,7 @@ //! root has. A correct proof implies that the claimed block is identical to the one //! we discarded. -use ethcore::ids::BlockId; +use common_types::ids::BlockId; use ethereum_types::{H256, U256}; use hashdb::HashDB; use keccak_hasher::KeccakHasher; diff --git a/ethcore/light/src/client/fetch.rs b/ethcore/light/src/client/fetch.rs index b0f73534962..bd4bcfe7a2a 100644 --- a/ethcore/light/src/client/fetch.rs +++ b/ethcore/light/src/client/fetch.rs @@ -18,13 +18,13 @@ use std::sync::Arc; -use ethcore::encoded; +use common_types::encoded; +use common_types::header::Header; +use common_types::receipt::Receipt; use ethcore::engines::{EthEngine, StateDependentProof}; use ethcore::machine::EthereumMachine; -use ethcore::header::Header; -use ethcore::receipt::Receipt; -use futures::future::IntoFuture; use ethereum_types::H256; +use futures::future::IntoFuture; /// Provides full chain data. pub trait ChainDataFetcher: Send + Sync + 'static { diff --git a/ethcore/light/src/client/header_chain.rs b/ethcore/light/src/client/header_chain.rs index f6d903176c9..8b9e11d4ab6 100644 --- a/ethcore/light/src/client/header_chain.rs +++ b/ethcore/light/src/client/header_chain.rs @@ -30,12 +30,12 @@ use std::sync::Arc; use cache::Cache; use cht; -use ethcore::block_status::BlockStatus; -use ethcore::encoded; +use common_types::block_status::BlockStatus; +use common_types::encoded; +use common_types::header::Header; +use common_types::ids::BlockId; use ethcore::engines::epoch::{Transition as EpochTransition, PendingTransition as PendingEpochTransition}; use ethcore::error::{Error, EthcoreResult, ErrorKind as EthcoreErrorKind, BlockError}; -use ethcore::header::Header; -use ethcore::ids::BlockId; use ethcore::spec::{Spec, SpecHardcodedSync}; use ethereum_types::{H256, H264, U256}; use heapsize::HeapSizeOf; @@ -862,11 +862,11 @@ mod tests { use super::{HeaderChain, HardcodedSync}; use std::sync::Arc; - use ethereum_types::U256; - use ethcore::ids::BlockId; - use ethcore::header::Header; - use ethcore::spec::Spec; use cache::Cache; + use common_types::header::Header; + use common_types::ids::BlockId; + use ethcore::spec::Spec; + use ethereum_types::U256; use kvdb::KeyValueDB; use kvdb_memorydb; diff --git a/ethcore/light/src/client/mod.rs b/ethcore/light/src/client/mod.rs index e1c823ee2da..95173e68831 100644 --- a/ethcore/light/src/client/mod.rs +++ b/ethcore/light/src/client/mod.rs @@ -18,21 +18,22 @@ use std::sync::{Weak, Arc}; -use ethcore::block_status::BlockStatus; use ethcore::client::{ClientReport, EnvInfo, ClientIoMessage}; use ethcore::engines::{epoch, EthEngine, EpochChange, EpochTransition, Proof}; use ethcore::machine::EthereumMachine; use ethcore::error::{Error, EthcoreResult}; -use ethcore::ids::BlockId; -use ethcore::header::{BlockNumber, Header}; use ethcore::verification::queue::{self, HeaderQueue}; -use ethcore::blockchain_info::BlockChainInfo; use ethcore::spec::{Spec, SpecHardcodedSync}; -use ethcore::encoded; use io::IoChannel; use parking_lot::{Mutex, RwLock}; use ethereum_types::{H256, U256}; use futures::{IntoFuture, Future}; +use common_types::BlockNumber; +use common_types::block_status::BlockStatus; +use common_types::blockchain_info::BlockChainInfo; +use common_types::encoded; +use common_types::header::Header; +use common_types::ids::BlockId; use kvdb::KeyValueDB; diff --git a/ethcore/light/src/client/service.rs b/ethcore/light/src/client/service.rs index 4b199d6baab..b8a642b2cd5 100644 --- a/ethcore/light/src/client/service.rs +++ b/ethcore/light/src/client/service.rs @@ -20,8 +20,9 @@ use std::fmt; use std::sync::Arc; +use ethcore_db as db; +use ethcore_blockchain::BlockChainDB; use ethcore::client::ClientIoMessage; -use ethcore::{db, BlockChainDB}; use ethcore::error::Error as CoreError; use ethcore::spec::Spec; use io::{IoContext, IoError, IoHandler, IoService}; diff --git a/ethcore/light/src/lib.rs b/ethcore/light/src/lib.rs index 1102f58bc05..6d7c8c1d63e 100644 --- a/ethcore/light/src/lib.rs +++ b/ethcore/light/src/lib.rs @@ -54,10 +54,12 @@ extern crate serde_derive; extern crate log; extern crate bincode; +extern crate common_types; +extern crate ethcore_blockchain; +extern crate ethcore_db; extern crate ethcore_io as io; extern crate ethcore_network as network; extern crate parity_bytes as bytes; -extern crate ethcore_transaction as transaction; extern crate ethereum_types; extern crate ethcore; extern crate hashdb; diff --git a/ethcore/light/src/net/mod.rs b/ethcore/light/src/net/mod.rs index cec2c699474..aa729ae5f0b 100644 --- a/ethcore/light/src/net/mod.rs +++ b/ethcore/light/src/net/mod.rs @@ -18,8 +18,7 @@ //! //! This uses a "Provider" to answer requests. -use transaction::UnverifiedTransaction; - +use common_types::transaction::UnverifiedTransaction; use ethereum_types::{H256, U256}; use io::TimerToken; use kvdb::DBValue; diff --git a/ethcore/light/src/net/tests/mod.rs b/ethcore/light/src/net/tests/mod.rs index 791315f5f20..e3d5d368093 100644 --- a/ethcore/light/src/net/tests/mod.rs +++ b/ethcore/light/src/net/tests/mod.rs @@ -17,21 +17,21 @@ //! Tests for the `LightProtocol` implementation. //! These don't test of the higher level logic on top of -use ethcore::blockchain_info::BlockChainInfo; +use common_types::blockchain_info::BlockChainInfo; +use common_types::encoded; +use common_types::ids::BlockId; +use common_types::transaction::{Action, PendingTransaction}; use ethcore::client::{EachBlockWith, TestBlockChainClient}; -use ethcore::encoded; -use ethcore::ids::BlockId; use ethereum_types::{H256, U256, Address}; -use net::{LightProtocol, Params, packet, Peer, Statistics}; use net::context::IoContext; -use net::status::{Capabilities, Status}; use net::load_timer::MOVING_SAMPLE_SIZE; +use net::status::{Capabilities, Status}; +use net::{LightProtocol, Params, packet, Peer, Statistics}; use network::{PeerId, NodeId}; use provider::Provider; -use request; use request::*; +use request; use rlp::{Rlp, RlpStream}; -use transaction::{Action, PendingTransaction}; use std::sync::Arc; use std::time::Instant; diff --git a/ethcore/light/src/on_demand/request.rs b/ethcore/light/src/on_demand/request.rs index a0adc508136..537058be1c5 100644 --- a/ethcore/light/src/on_demand/request.rs +++ b/ethcore/light/src/on_demand/request.rs @@ -20,11 +20,12 @@ use std::cmp; use std::sync::Arc; use bytes::Bytes; -use ethcore::basic_account::BasicAccount; -use ethcore::encoded; +use common_types::basic_account::BasicAccount; +use common_types::encoded; +use common_types::receipt::Receipt; +use common_types::transaction::SignedTransaction; use ethcore::engines::{EthEngine, StateDependentProof}; use ethcore::machine::EthereumMachine; -use ethcore::receipt::Receipt; use ethcore::state::{self, ProvedExecution}; use ethereum_types::{H256, U256, Address}; use ethtrie::{TrieError, TrieDB}; @@ -35,7 +36,6 @@ use memorydb::MemoryDB; use parking_lot::Mutex; use request::{self as net_request, IncompleteRequest, CompleteRequest, Output, OutputKind, Field}; use rlp::{RlpStream, Rlp}; -use transaction::SignedTransaction; use trie::Trie; use vm::EnvInfo; @@ -1108,10 +1108,10 @@ mod tests { use trie::Recorder; use hash::keccak; - use ::ethcore::client::{BlockChainClient, BlockInfo, TestBlockChainClient, EachBlockWith}; - use ethcore::header::Header; - use ethcore::encoded; - use ethcore::receipt::{Receipt, TransactionOutcome}; + use ethcore::client::{BlockChainClient, BlockInfo, TestBlockChainClient, EachBlockWith}; + use common_types::header::Header; + use common_types::encoded; + use common_types::receipt::{Receipt, TransactionOutcome}; fn make_cache() -> ::cache::Cache { ::cache::Cache::new(Default::default(), Duration::from_secs(1)) diff --git a/ethcore/light/src/on_demand/tests.rs b/ethcore/light/src/on_demand/tests.rs index 5ae798b33c5..db2f510def5 100644 --- a/ethcore/light/src/on_demand/tests.rs +++ b/ethcore/light/src/on_demand/tests.rs @@ -17,13 +17,13 @@ //! Tests for the on-demand service. use cache::Cache; -use ethcore::header::Header; use futures::Future; use network::{PeerId, NodeId}; use net::*; +use common_types::header::Header; use ethereum_types::H256; use parking_lot::Mutex; -use ::request::{self as basic_request, Response}; +use request::{self as basic_request, Response}; use std::sync::Arc; use std::time::{Duration, Instant}; diff --git a/ethcore/light/src/provider.rs b/ethcore/light/src/provider.rs index bfd15dadc28..996b98ee148 100644 --- a/ethcore/light/src/provider.rs +++ b/ethcore/light/src/provider.rs @@ -19,13 +19,13 @@ use std::sync::Arc; -use ethcore::blockchain_info::BlockChainInfo; +use common_types::blockchain_info::BlockChainInfo; +use common_types::encoded; +use common_types::ids::BlockId; +use common_types::transaction::PendingTransaction; use ethcore::client::{BlockChainClient, ProvingBlockChainClient, ChainInfo, BlockInfo as ClientBlockInfo}; -use ethcore::ids::BlockId; -use ethcore::encoded; use ethereum_types::H256; use parking_lot::RwLock; -use transaction::PendingTransaction; use cht::{self, BlockInfo}; use client::{LightChainClient, AsLightClient}; @@ -161,7 +161,7 @@ impl Provider for T { fn transaction_index(&self, req: request::CompleteTransactionIndexRequest) -> Option { - use ethcore::ids::TransactionId; + use common_types::ids::TransactionId; self.transaction_receipt(TransactionId::Hash(req.hash)).map(|receipt| request::TransactionIndexResponse { num: receipt.block_number, @@ -265,7 +265,7 @@ impl Provider for T { } fn transaction_proof(&self, req: request::CompleteExecutionRequest) -> Option { - use transaction::Transaction; + use common_types::transaction::Transaction; let id = BlockId::Hash(req.block_hash); let nonce = match self.nonce(&req.from, id) { diff --git a/ethcore/light/src/transaction_queue.rs b/ethcore/light/src/transaction_queue.rs index 912e561b9aa..585e62f3190 100644 --- a/ethcore/light/src/transaction_queue.rs +++ b/ethcore/light/src/transaction_queue.rs @@ -27,7 +27,7 @@ use std::fmt; use std::collections::{BTreeMap, HashMap}; use std::collections::hash_map::Entry; -use transaction::{self, Condition, PendingTransaction, SignedTransaction}; +use common_types::transaction::{self, Condition, PendingTransaction, SignedTransaction}; use ethereum_types::{H256, U256, Address}; use fastmap::H256FastMap; @@ -370,7 +370,7 @@ impl TransactionQueue { mod tests { use super::TransactionQueue; use ethereum_types::Address; - use transaction::{Transaction, PendingTransaction, Condition}; + use common_types::transaction::{Transaction, PendingTransaction, Condition}; #[test] fn queued_senders() { diff --git a/ethcore/light/src/types/request/mod.rs b/ethcore/light/src/types/request/mod.rs index c57e8383ed4..438edf714f4 100644 --- a/ethcore/light/src/types/request/mod.rs +++ b/ethcore/light/src/types/request/mod.rs @@ -670,7 +670,7 @@ pub trait ResponseLike { /// Header request. pub mod header { use super::{Field, HashOrNumber, NoSuchOutput, OutputKind, Output}; - use ethcore::encoded; + use common_types::encoded; use rlp::{Encodable, Decodable, DecoderError, RlpStream, Rlp}; /// Potentially incomplete headers request. @@ -753,7 +753,7 @@ pub mod header { impl Decodable for Response { fn decode(rlp: &Rlp) -> Result { - use ethcore::header::Header as FullHeader; + use common_types::header::Header as FullHeader; let mut headers = Vec::new(); @@ -954,7 +954,7 @@ pub mod transaction_index { /// Request and response for block receipts pub mod block_receipts { use super::{Field, NoSuchOutput, OutputKind, Output}; - use ethcore::receipt::Receipt; + use common_types::receipt::Receipt; use ethereum_types::H256; /// Potentially incomplete block receipts request. @@ -1022,7 +1022,7 @@ pub mod block_receipts { /// Request and response for a block body pub mod block_body { use super::{Field, NoSuchOutput, OutputKind, Output}; - use ethcore::encoded; + use common_types::encoded; use rlp::{Encodable, Decodable, DecoderError, RlpStream, Rlp}; use ethereum_types::H256; @@ -1089,8 +1089,8 @@ pub mod block_body { impl Decodable for Response { fn decode(rlp: &Rlp) -> Result { - use ethcore::header::Header as FullHeader; - use transaction::UnverifiedTransaction; + use common_types::header::Header as FullHeader; + use common_types::transaction::UnverifiedTransaction; // check body validity. let _: Vec = rlp.list_at(0)?; @@ -1406,7 +1406,7 @@ pub mod contract_code { /// A request for proof of execution. pub mod execution { use super::{Field, NoSuchOutput, OutputKind, Output}; - use transaction::Action; + use common_types::transaction::Action; use rlp::{Encodable, Decodable, DecoderError, RlpStream, Rlp}; use ethereum_types::{H256, U256, Address}; use kvdb::DBValue; @@ -1629,7 +1629,7 @@ pub mod epoch_signal { #[cfg(test)] mod tests { use super::*; - use ethcore::header::Header; + use common_types::header::Header; fn check_roundtrip(val: T) where T: ::rlp::Encodable + ::rlp::Decodable + PartialEq + ::std::fmt::Debug @@ -1676,7 +1676,7 @@ mod tests { let full_req = Request::Headers(req.clone()); let res = HeadersResponse { headers: vec![ - ::ethcore::encoded::Header::new(::rlp::encode(&Header::default())) + ::common_types::encoded::Header::new(::rlp::encode(&Header::default())) ] }; let full_res = Response::Headers(res.clone()); @@ -1729,7 +1729,7 @@ mod tests { #[test] fn receipts_roundtrip() { - use ethcore::receipt::{Receipt, TransactionOutcome}; + use common_types::receipt::{Receipt, TransactionOutcome}; let req = IncompleteReceiptsRequest { hash: Field::Scalar(Default::default()), }; @@ -1749,7 +1749,7 @@ mod tests { #[test] fn body_roundtrip() { - use transaction::{Transaction, UnverifiedTransaction}; + use common_types::transaction::{Transaction, UnverifiedTransaction}; let req = IncompleteBodyRequest { hash: Field::Scalar(Default::default()), }; @@ -1757,13 +1757,13 @@ mod tests { let full_req = Request::Body(req.clone()); let res = BodyResponse { body: { - let header = ::ethcore::header::Header::default(); + let header = ::common_types::header::Header::default(); let tx = UnverifiedTransaction::from(Transaction::default().fake_sign(Default::default())); let mut stream = RlpStream::new_list(2); stream.begin_list(2).append(&tx).append(&tx) .begin_list(1).append(&header); - ::ethcore::encoded::Body::new(stream.out()) + ::common_types::encoded::Body::new(stream.out()) }, }; let full_res = Response::Body(res.clone()); @@ -1844,7 +1844,7 @@ mod tests { let req = IncompleteExecutionRequest { block_hash: Field::Scalar(Default::default()), from: Default::default(), - action: ::transaction::Action::Create, + action: ::common_types::transaction::Action::Create, gas: 100_000.into(), gas_price: 0.into(), value: 100_000_001.into(), @@ -1874,7 +1874,7 @@ mod tests { let reqs: Vec<_> = (0..10).map(|_| IncompleteExecutionRequest { block_hash: Field::Scalar(Default::default()), from: Default::default(), - action: ::transaction::Action::Create, + action: ::common_types::transaction::Action::Create, gas: 100_000.into(), gas_price: 0.into(), value: 100_000_001.into(), @@ -1892,11 +1892,11 @@ mod tests { #[test] fn responses_vec() { - use ethcore::receipt::{Receipt, TransactionOutcome}; + use common_types::receipt::{Receipt, TransactionOutcome}; let mut stream = RlpStream::new_list(2); stream.begin_list(0).begin_list(0); - let body = ::ethcore::encoded::Body::new(stream.out()); + let body = ::common_types::encoded::Body::new(stream.out()); let reqs = vec![ Response::Headers(HeadersResponse { headers: vec![] }), Response::HeaderProof(HeaderProofResponse { proof: vec![], hash: Default::default(), td: 100.into()}), diff --git a/ethcore/private-tx/Cargo.toml b/ethcore/private-tx/Cargo.toml index d30a161dd49..77e0ebea8ae 100644 --- a/ethcore/private-tx/Cargo.toml +++ b/ethcore/private-tx/Cargo.toml @@ -6,17 +6,15 @@ license = "GPL-3.0" authors = ["Parity Technologies "] [dependencies] +common-types = { path = "../types" } error-chain = { version = "0.12", default-features = false } ethabi = "6.0" -ethabi-derive = "6.0" ethabi-contract = "6.0" +ethabi-derive = "6.0" ethcore = { path = ".." } -parity-bytes = "0.1" -parity-crypto = "0.2" ethcore-io = { path = "../../util/io" } ethcore-logger = { path = "../../logger" } ethcore-miner = { path = "../../miner" } -ethcore-transaction = { path = "../transaction" } ethereum-types = "0.4" ethjson = { path = "../../json" } ethkey = { path = "../../accounts/ethkey" } @@ -25,6 +23,8 @@ futures = "0.1" heapsize = "0.4" keccak-hash = "0.1.2" log = "0.4" +parity-bytes = "0.1" +parity-crypto = "0.2" parking_lot = "0.7" patricia-trie = "0.3.0" patricia-trie-ethereum = { path = "../../util/patricia-trie-ethereum" } diff --git a/ethcore/private-tx/src/error.rs b/ethcore/private-tx/src/error.rs index 99da149e4aa..dc778b61d8e 100644 --- a/ethcore/private-tx/src/error.rs +++ b/ethcore/private-tx/src/error.rs @@ -19,7 +19,7 @@ use rlp::DecoderError; use ethtrie::TrieError; use ethcore::account_provider::SignError; use ethcore::error::{Error as EthcoreError, ExecutionError}; -use transaction::Error as TransactionError; +use types::transaction::Error as TransactionError; use ethkey::Error as KeyError; use txpool::Error as TxPoolError; diff --git a/ethcore/private-tx/src/lib.rs b/ethcore/private-tx/src/lib.rs index 4b9f6d33e2c..adbd39664ff 100644 --- a/ethcore/private-tx/src/lib.rs +++ b/ethcore/private-tx/src/lib.rs @@ -25,27 +25,27 @@ mod private_transactions; mod messages; mod error; +extern crate common_types as types; +extern crate ethabi; extern crate ethcore; -extern crate parity_bytes as bytes; -extern crate parity_crypto as crypto; extern crate ethcore_io as io; extern crate ethcore_miner; -extern crate ethcore_transaction as transaction; -extern crate ethabi; extern crate ethereum_types; -extern crate ethkey; extern crate ethjson; +extern crate ethkey; extern crate fetch; extern crate futures; extern crate heapsize; extern crate keccak_hash as hash; +extern crate parity_bytes as bytes; +extern crate parity_crypto as crypto; extern crate parking_lot; extern crate patricia_trie as trie; -extern crate transaction_pool as txpool; extern crate patricia_trie_ethereum as ethtrie; extern crate rlp; -extern crate url; extern crate rustc_hex; +extern crate transaction_pool as txpool; +extern crate url; #[macro_use] extern crate log; #[macro_use] @@ -78,7 +78,7 @@ use ethkey::{Signature, recover, public_to_address}; use io::IoChannel; use ethcore::executive::{Executive, TransactOptions}; use ethcore::executed::{Executed}; -use transaction::{SignedTransaction, Transaction, Action, UnverifiedTransaction}; +use types::transaction::{SignedTransaction, Transaction, Action, UnverifiedTransaction}; use ethcore::{contract_address as ethcore_contract_address}; use ethcore::client::{ Client, ChainNotify, NewBlocks, ChainMessageType, ClientIoMessage, BlockId, diff --git a/ethcore/private-tx/src/messages.rs b/ethcore/private-tx/src/messages.rs index c0825fb59b6..ba815506eda 100644 --- a/ethcore/private-tx/src/messages.rs +++ b/ethcore/private-tx/src/messages.rs @@ -19,7 +19,7 @@ use bytes::Bytes; use hash::keccak; use rlp::Encodable; use ethkey::Signature; -use transaction::signature::{add_chain_replay_protection, check_replay_protection}; +use types::transaction::signature::{add_chain_replay_protection, check_replay_protection}; /// Message with private transaction encrypted #[derive(Default, Debug, Clone, PartialEq, RlpEncodable, RlpDecodable, Eq)] diff --git a/ethcore/private-tx/src/private_transactions.rs b/ethcore/private-tx/src/private_transactions.rs index a0f58f9cabc..c3bbe02d496 100644 --- a/ethcore/private-tx/src/private_transactions.rs +++ b/ethcore/private-tx/src/private_transactions.rs @@ -25,7 +25,7 @@ use heapsize::HeapSizeOf; use ethkey::Signature; use messages::PrivateTransaction; use parking_lot::RwLock; -use transaction::{UnverifiedTransaction, SignedTransaction}; +use types::transaction::{UnverifiedTransaction, SignedTransaction}; use txpool; use txpool::{VerifiedTransaction, Verifier}; use error::{Error, ErrorKind}; diff --git a/ethcore/private-tx/tests/private_contract.rs b/ethcore/private-tx/tests/private_contract.rs index 4ec1e18c15d..519322da539 100644 --- a/ethcore/private-tx/tests/private_contract.rs +++ b/ethcore/private-tx/tests/private_contract.rs @@ -16,14 +16,14 @@ //! Contract for private transactions tests. -extern crate rustc_hex; +extern crate common_types as types; extern crate ethcore; -extern crate ethkey; -extern crate keccak_hash as hash; extern crate ethcore_io; extern crate ethcore_logger; extern crate ethcore_private_tx; -extern crate ethcore_transaction; +extern crate ethkey; +extern crate keccak_hash as hash; +extern crate rustc_hex; #[macro_use] extern crate log; @@ -31,14 +31,14 @@ extern crate log; use std::sync::Arc; use rustc_hex::FromHex; +use types::ids::BlockId; +use types::transaction::{Transaction, Action}; use ethcore::CreateContractAddress; use ethcore::account_provider::AccountProvider; use ethcore::client::BlockChainClient; -use ethcore::client::BlockId; use ethcore::executive::{contract_address}; use ethcore::miner::Miner; use ethcore::test_helpers::{generate_dummy_client, push_block_with_transactions}; -use ethcore_transaction::{Transaction, Action}; use ethkey::{Secret, KeyPair, Signature}; use hash::keccak; diff --git a/ethcore/service/Cargo.toml b/ethcore/service/Cargo.toml index 9ccacb7134e..7db0ad2770b 100644 --- a/ethcore/service/Cargo.toml +++ b/ethcore/service/Cargo.toml @@ -7,6 +7,7 @@ authors = ["Parity Technologies "] ansi_term = "0.10" error-chain = { version = "0.12", default-features = false } ethcore = { path = ".." } +ethcore-blockchain = { path = "../blockchain" } ethcore-io = { path = "../../util/io" } ethcore-private-tx = { path = "../private-tx" } ethcore-sync = { path = "../sync" } @@ -16,6 +17,7 @@ log = "0.4" trace-time = "0.1" [dev-dependencies] +ethcore-db = { path = "../db" } ethcore = { path = "..", features = ["test-helpers"] } tempdir = "0.3" kvdb-rocksdb = "0.1.3" diff --git a/ethcore/service/src/lib.rs b/ethcore/service/src/lib.rs index 8f45c50ef6b..872ba99733c 100644 --- a/ethcore/service/src/lib.rs +++ b/ethcore/service/src/lib.rs @@ -16,6 +16,7 @@ extern crate ansi_term; extern crate ethcore; +extern crate ethcore_blockchain as blockchain; extern crate ethcore_io as io; extern crate ethcore_private_tx; extern crate ethcore_sync as sync; @@ -24,16 +25,17 @@ extern crate kvdb; #[macro_use] extern crate error_chain; - #[macro_use] extern crate log; - #[macro_use] extern crate trace_time; +#[cfg(test)] +extern crate ethcore_db; #[cfg(test)] extern crate tempdir; + mod error; mod service; mod stop_guard; diff --git a/ethcore/service/src/service.rs b/ethcore/service/src/service.rs index 77429a4e56e..5dda2ca2b52 100644 --- a/ethcore/service/src/service.rs +++ b/ethcore/service/src/service.rs @@ -26,7 +26,7 @@ use io::{IoContext, TimerToken, IoHandler, IoService, IoError}; use stop_guard::StopGuard; use sync::PrivateTxHandler; -use ethcore::{BlockChainDB, BlockChainDBHandler}; +use blockchain::{BlockChainDB, BlockChainDBHandler}; use ethcore::client::{Client, ClientConfig, ChainNotify, ClientIoMessage}; use ethcore::miner::Miner; use ethcore::snapshot::service::{Service as SnapshotService, ServiceParams as SnapServiceParams}; @@ -275,11 +275,11 @@ mod tests { use tempdir::TempDir; + use ethcore_db::NUM_COLUMNS; use ethcore::account_provider::AccountProvider; use ethcore::client::ClientConfig; use ethcore::miner::Miner; use ethcore::spec::Spec; - use ethcore::db::NUM_COLUMNS; use ethcore::test_helpers; use kvdb_rocksdb::{DatabaseConfig, CompactionProfile}; use super::*; diff --git a/ethcore/src/account_provider/mod.rs b/ethcore/src/account_provider/mod.rs index 04bc4f4099d..c4025685cbd 100644 --- a/ethcore/src/account_provider/mod.rs +++ b/ethcore/src/account_provider/mod.rs @@ -32,11 +32,11 @@ use ethstore::{ random_string, SecretVaultRef, StoreAccountRef, OpaqueSecret, }; use parking_lot::RwLock; +use types::transaction::{Action, Transaction}; pub use ethstore::ethkey::Signature; pub use ethstore::{Derivation, IndexDerivation, KeyFile}; pub use hardware_wallet::{Error as HardwareError, HardwareWalletManager, KeyPath, TransactionInfo}; -pub use super::transaction::{Action, Transaction}; /// Type of unlock. #[derive(Clone, PartialEq)] diff --git a/ethcore/src/block.rs b/ethcore/src/block.rs index 00da9fa9f99..6fa219b0650 100644 --- a/ethcore/src/block.rs +++ b/ethcore/src/block.rs @@ -36,59 +36,58 @@ use std::collections::HashSet; use std::sync::Arc; use bytes::Bytes; +use ethereum_types::{H256, U256, Address, Bloom}; + use engines::EthEngine; use error::{Error, BlockError}; -use ethereum_types::{H256, U256, Address, Bloom}; use factory::Factories; -use hash::keccak; -use header::{Header, ExtendedHeader}; -use receipt::{Receipt, TransactionOutcome}; -use rlp::{Rlp, RlpStream, Encodable, Decodable, DecoderError, encode_list}; use state_db::StateDB; use state::State; use trace::Tracing; -use transaction::{UnverifiedTransaction, SignedTransaction, Error as TransactionError}; use triehash::ordered_trie_root; use unexpected::{Mismatch, OutOfBounds}; use verification::PreverifiedBlock; use vm::{EnvInfo, LastHashes}; -/// A block, encoded as it is on the block chain. -#[derive(Default, Debug, Clone, PartialEq)] -pub struct Block { - /// The header of this block. - pub header: Header, - /// The transactions in this block. - pub transactions: Vec, - /// The uncles of this block. - pub uncles: Vec
, +use hash::keccak; +use rlp::{RlpStream, Encodable, encode_list}; +use types::transaction::{SignedTransaction, Error as TransactionError}; +use types::block::Block; +use types::header::{Header, ExtendedHeader}; +use types::receipt::{Receipt, TransactionOutcome}; + +/// Block that is ready for transactions to be added. +/// +/// It's a bit like a Vec, except that whenever a transaction is pushed, we execute it and +/// maintain the system `state()`. We also archive execution receipts in preparation for later block creation. +pub struct OpenBlock<'x> { + block: ExecutedBlock, + engine: &'x EthEngine, } -impl Block { - /// Get the RLP-encoding of the block with the seal. - pub fn rlp_bytes(&self) -> Bytes { - let mut block_rlp = RlpStream::new_list(3); - block_rlp.append(&self.header); - block_rlp.append_list(&self.transactions); - block_rlp.append_list(&self.uncles); - block_rlp.out() - } +/// Just like `OpenBlock`, except that we've applied `Engine::on_close_block`, finished up the non-seal header fields, +/// and collected the uncles. +/// +/// There is no function available to push a transaction. +#[derive(Clone)] +pub struct ClosedBlock { + block: ExecutedBlock, + unclosed_state: State, } -impl Decodable for Block { - fn decode(rlp: &Rlp) -> Result { - if rlp.as_raw().len() != rlp.payload_info()?.total() { - return Err(DecoderError::RlpIsTooBig); - } - if rlp.item_count()? != 3 { - return Err(DecoderError::RlpIncorrectListLen); - } - Ok(Block { - header: rlp.val_at(0)?, - transactions: rlp.list_at(1)?, - uncles: rlp.list_at(2)?, - }) - } +/// Just like `ClosedBlock` except that we can't reopen it and it's faster. +/// +/// We actually store the post-`Engine::on_close_block` state, unlike in `ClosedBlock` where it's the pre. +#[derive(Clone)] +pub struct LockedBlock { + block: ExecutedBlock, +} + +/// A block that has a valid seal. +/// +/// The block's header has valid seal arguments. The block cannot be reversed into a `ClosedBlock` or `OpenBlock`. +pub struct SealedBlock { + block: ExecutedBlock, } /// An internal type for a block's common elements. @@ -216,40 +215,6 @@ impl ::parity_machine::Transactions for ExecutedBlock { } } -/// Block that is ready for transactions to be added. -/// -/// It's a bit like a Vec, except that whenever a transaction is pushed, we execute it and -/// maintain the system `state()`. We also archive execution receipts in preparation for later block creation. -pub struct OpenBlock<'x> { - block: ExecutedBlock, - engine: &'x EthEngine, -} - -/// Just like `OpenBlock`, except that we've applied `Engine::on_close_block`, finished up the non-seal header fields, -/// and collected the uncles. -/// -/// There is no function available to push a transaction. -#[derive(Clone)] -pub struct ClosedBlock { - block: ExecutedBlock, - unclosed_state: State, -} - -/// Just like `ClosedBlock` except that we can't reopen it and it's faster. -/// -/// We actually store the post-`Engine::on_close_block` state, unlike in `ClosedBlock` where it's the pre. -#[derive(Clone)] -pub struct LockedBlock { - block: ExecutedBlock, -} - -/// A block that has a valid seal. -/// -/// The block's header has valid seal arguments. The block cannot be reversed into a `ClosedBlock` or `OpenBlock`. -pub struct SealedBlock { - block: ExecutedBlock, -} - impl<'x> OpenBlock<'x> { /// Create a new `OpenBlock` ready for transaction pushing. pub fn new<'a>( @@ -630,14 +595,15 @@ mod tests { use engines::EthEngine; use vm::LastHashes; use error::Error; - use header::Header; use factory::Factories; use state_db::StateDB; - use views::BlockView; use ethereum_types::Address; use std::sync::Arc; - use transaction::SignedTransaction; use verification::queue::kind::blocks::Unverified; + use types::transaction::SignedTransaction; + use types::header::Header; + use types::view; + use types::views::BlockView; /// Enact the block given by `block_bytes` using `engine` on the database `db` with given `parent` block header fn enact_bytes( diff --git a/ethcore/src/client/ancient_import.rs b/ethcore/src/client/ancient_import.rs index 4586a04eed2..0a71dc6d397 100644 --- a/ethcore/src/client/ancient_import.rs +++ b/ethcore/src/client/ancient_import.rs @@ -18,13 +18,13 @@ use std::sync::Arc; -use blockchain::BlockChain; use engines::{EthEngine, EpochVerifier}; -use header::Header; use machine::EthereumMachine; -use rand::Rng; +use blockchain::BlockChain; use parking_lot::RwLock; +use rand::Rng; +use types::header::Header; // do "heavy" verification on ~1/50 blocks, randomly sampled. const HEAVY_VERIFY_RATE: f32 = 0.02; diff --git a/ethcore/src/client/chain_notify.rs b/ethcore/src/client/chain_notify.rs index 47a77397d0f..8a5ed375a5b 100644 --- a/ethcore/src/client/chain_notify.rs +++ b/ethcore/src/client/chain_notify.rs @@ -16,7 +16,7 @@ use bytes::Bytes; use ethereum_types::{H256, U256}; -use transaction::UnverifiedTransaction; +use types::transaction::UnverifiedTransaction; use blockchain::ImportRoute; use std::time::Duration; use std::collections::HashMap; diff --git a/ethcore/src/client/client.rs b/ethcore/src/client/client.rs index 1b49d009225..bd80028498d 100644 --- a/ethcore/src/client/client.rs +++ b/ethcore/src/client/client.rs @@ -14,25 +14,36 @@ // You should have received a copy of the GNU General Public License // along with Parity. If not, see . -use std::collections::{HashSet, BTreeMap, VecDeque}; use std::cmp; +use std::collections::{HashSet, BTreeMap, VecDeque}; use std::str::FromStr; use std::sync::atomic::{AtomicUsize, AtomicBool, Ordering as AtomicOrdering}; use std::sync::{Arc, Weak}; use std::time::{Instant, Duration}; -// util -use hash::keccak; +use blockchain::{BlockReceipts, BlockChain, BlockChainDB, BlockProvider, TreeRoute, ImportRoute, TransactionAddress, ExtrasInsert}; use bytes::Bytes; +use ethcore_miner::pool::VerifiedTransaction; +use ethereum_types::{H256, Address, U256}; +use evm::Schedule; +use hash::keccak; +use io::IoChannel; use itertools::Itertools; use journaldb; -use trie::{TrieSpec, TrieFactory, Trie}; use kvdb::{DBValue, KeyValueDB, DBTransaction}; +use parking_lot::{Mutex, RwLock}; +use rand::OsRng; +use types::transaction::{self, LocalizedTransaction, UnverifiedTransaction, SignedTransaction, Action}; +use trie::{TrieSpec, TrieFactory, Trie}; +use types::ancestry_action::AncestryAction; +use types::encoded; +use types::filter::Filter; +use types::log_entry::LocalizedLogEntry; +use types::receipt::{Receipt, LocalizedReceipt}; +use types::{BlockNumber, header::{Header, ExtendedHeader}}; +use vm::{EnvInfo, LastHashes}; -// other -use ethereum_types::{H256, Address, U256}; use block::{IsBlock, LockedBlock, Drain, ClosedBlock, OpenBlock, enact_verified, SealedBlock}; -use blockchain::{BlockReceipts, BlockChain, BlockChainDB, BlockProvider, TreeRoute, ImportRoute, TransactionAddress, ExtrasInsert}; use client::ancient_import::AncientVerifier; use client::{ Nonce, Balance, ChainInfo, BlockInfo, CallContract, TransactionInfo, @@ -48,37 +59,24 @@ use client::{ IoClient, BadBlocks, }; use client::bad_blocks; -use encoded; use engines::{EthEngine, EpochTransition, ForkChoice}; use error::{ ImportErrorKind, ExecutionError, CallError, BlockError, QueueError, QueueErrorKind, Error as EthcoreError, EthcoreResult, ErrorKind as EthcoreErrorKind }; -use vm::{EnvInfo, LastHashes}; -use evm::Schedule; use executive::{Executive, Executed, TransactOptions, contract_address}; use factory::{Factories, VmFactory}; -use header::{BlockNumber, Header, ExtendedHeader}; -use io::IoChannel; -use log_entry::LocalizedLogEntry; use miner::{Miner, MinerService}; -use ethcore_miner::pool::VerifiedTransaction; -use parking_lot::{Mutex, RwLock}; -use rand::OsRng; -use receipt::{Receipt, LocalizedReceipt}; use snapshot::{self, io as snapshot_io, SnapshotClient}; use spec::Spec; -use state_db::StateDB; use state::{self, State}; -use trace; -use trace::{TraceDB, ImportRequest as TraceImportRequest, LocalizedTrace, Database as TraceDatabase}; -use transaction::{self, LocalizedTransaction, UnverifiedTransaction, SignedTransaction, Transaction, Action}; -use types::filter::Filter; -use types::ancestry_action::AncestryAction; -use verification; -use verification::{PreverifiedBlock, Verifier, BlockQueue}; -use verification::queue::kind::blocks::Unverified; +use state_db::StateDB; +use trace::{self, TraceDB, ImportRequest as TraceImportRequest, LocalizedTrace, Database as TraceDatabase}; +use transaction_ext::Transaction; use verification::queue::kind::BlockLike; +use verification::queue::kind::blocks::Unverified; +use verification::{PreverifiedBlock, Verifier, BlockQueue}; +use verification; // re-export pub use types::blockchain_info::BlockChainInfo; @@ -1231,7 +1229,7 @@ impl Client { // from the null sender, with 50M gas. fn contract_call_tx(&self, block_id: BlockId, address: Address, data: Bytes) -> SignedTransaction { let from = Address::default(); - Transaction { + transaction::Transaction { nonce: self.nonce(&from, block_id).unwrap_or_else(|| self.engine.account_start_nonce(0)), action: Action::Call(address), gas: U256::from(50_000_000), @@ -2112,7 +2110,7 @@ impl BlockChainClient for Client { fn transact_contract(&self, address: Address, data: Bytes) -> Result<(), transaction::Error> { let authoring_params = self.importer.miner.authoring_params(); - let transaction = Transaction { + let transaction = transaction::Transaction { nonce: self.latest_nonce(&authoring_params.author), action: Action::Call(address), gas: self.importer.miner.sensible_gas_limit(), @@ -2411,7 +2409,7 @@ impl super::traits::EngineClient for Client { BlockChainClient::block_number(self, id) } - fn block_header(&self, id: BlockId) -> Option<::encoded::Header> { + fn block_header(&self, id: BlockId) -> Option { BlockChainClient::block_header(self, id) } } @@ -2520,7 +2518,7 @@ mod tests { use std::sync::atomic::{AtomicBool, Ordering}; use kvdb::DBTransaction; use blockchain::ExtrasInsert; - use encoded; + use types::encoded; let client = generate_dummy_client(0); let genesis = client.chain_info().best_block_hash; @@ -2579,9 +2577,9 @@ mod tests { use hash::keccak; use super::transaction_receipt; use ethkey::KeyPair; - use log_entry::{LogEntry, LocalizedLogEntry}; - use receipt::{Receipt, LocalizedReceipt, TransactionOutcome}; - use transaction::{Transaction, LocalizedTransaction, Action}; + use types::log_entry::{LogEntry, LocalizedLogEntry}; + use types::receipt::{Receipt, LocalizedReceipt, TransactionOutcome}; + use types::transaction::{Transaction, LocalizedTransaction, Action}; // given let key = KeyPair::from_secret_slice(&keccak("test")).unwrap(); diff --git a/ethcore/src/client/evm_test_client.rs b/ethcore/src/client/evm_test_client.rs index 67e18724488..0da010150bd 100644 --- a/ethcore/src/client/evm_test_client.rs +++ b/ethcore/src/client/evm_test_client.rs @@ -21,7 +21,8 @@ use std::sync::Arc; use ethereum_types::{H256, U256, H160}; use {factory, journaldb, trie, kvdb_memorydb}; use kvdb::{self, KeyValueDB}; -use {state, state_db, client, executive, trace, transaction, db, spec, pod_state, log_entry, receipt}; +use {state, state_db, client, executive, trace, db, spec, pod_state}; +use types::{log_entry, receipt, transaction}; use factory::Factories; use evm::{VMType, FinalizationResult}; use vm::{self, ActionParams}; diff --git a/ethcore/src/client/test_client.rs b/ethcore/src/client/test_client.rs index 3c422c49a58..b2e1e23f5b8 100644 --- a/ethcore/src/client/test_client.rs +++ b/ethcore/src/client/test_client.rs @@ -20,20 +20,35 @@ use std::sync::atomic::{AtomicBool, AtomicUsize, Ordering as AtomicOrder}; use std::sync::Arc; use std::collections::{HashMap, BTreeMap}; use std::mem; -use itertools::Itertools; -use rustc_hex::FromHex; -use hash::keccak; + +use blockchain::{TreeRoute, BlockReceipts}; +use bytes::Bytes; +use db::{NUM_COLUMNS, COL_STATE}; +use ethcore_miner::pool::VerifiedTransaction; use ethereum_types::{H256, U256, Address}; -use parking_lot::RwLock; -use journaldb; +use ethkey::{Generator, Random}; +use ethtrie; +use hash::keccak; +use itertools::Itertools; use kvdb::DBValue; use kvdb_memorydb; -use bytes::Bytes; +use parking_lot::RwLock; use rlp::{Rlp, RlpStream}; -use ethkey::{Generator, Random}; -use ethcore_miner::pool::VerifiedTransaction; -use transaction::{self, Transaction, LocalizedTransaction, SignedTransaction, Action}; -use blockchain::{TreeRoute, BlockReceipts}; +use rustc_hex::FromHex; +use types::transaction::{self, Transaction, LocalizedTransaction, SignedTransaction, Action}; +use types::BlockNumber; +use types::basic_account::BasicAccount; +use types::encoded; +use types::filter::Filter; +use types::header::Header; +use types::log_entry::LocalizedLogEntry; +use types::pruning_info::PruningInfo; +use types::receipt::{Receipt, LocalizedReceipt, TransactionOutcome}; +use types::view; +use types::views::BlockView; +use vm::Schedule; + +use block::{OpenBlock, SealedBlock, ClosedBlock}; use client::{ Nonce, Balance, ChainInfo, BlockInfo, ReopenBlock, CallContract, TransactionInfo, RegistryInfo, PrepareOpenBlock, BlockChainClient, BlockChainInfo, BlockStatus, BlockId, Mode, @@ -42,30 +57,18 @@ use client::{ Call, StateClient, EngineInfo, AccountData, BlockChain, BlockProducer, SealedBlockImporter, IoClient, BadBlocks, }; -use db::{NUM_COLUMNS, COL_STATE}; -use header::{Header as BlockHeader, BlockNumber}; -use filter::Filter; -use log_entry::LocalizedLogEntry; -use receipt::{Receipt, LocalizedReceipt, TransactionOutcome}; +use engines::EthEngine; use error::{Error, EthcoreResult}; -use vm::Schedule; +use executed::CallError; +use executive::Executed; +use journaldb; use miner::{self, Miner, MinerService}; use spec::Spec; -use types::basic_account::BasicAccount; -use types::pruning_info::PruningInfo; +use state::StateInfo; +use state_db::StateDB; +use trace::LocalizedTrace; use verification::queue::QueueInfo; use verification::queue::kind::blocks::Unverified; -use block::{OpenBlock, SealedBlock, ClosedBlock}; -use executive::Executed; -use error::CallError; -use trace::LocalizedTrace; -use state_db::StateDB; -use header::Header; -use encoded; -use engines::EthEngine; -use ethtrie; -use state::StateInfo; -use views::BlockView; /// Test client. pub struct TestBlockChainClient { @@ -244,11 +247,11 @@ impl TestBlockChainClient { /// Add a block to test client. pub fn add_block(&self, with: EachBlockWith, hook: F) - where F: Fn(BlockHeader) -> BlockHeader + where F: Fn(Header) -> Header { let n = self.numbers.read().len(); - let mut header = BlockHeader::new(); + let mut header = Header::new(); header.set_difficulty(From::from(n)); header.set_parent_hash(self.last_hash.read().clone()); header.set_number(n as BlockNumber); @@ -260,7 +263,7 @@ impl TestBlockChainClient { let uncles = match with { EachBlockWith::Uncle | EachBlockWith::UncleAndTransaction => { let mut uncles = RlpStream::new_list(1); - let mut uncle_header = BlockHeader::new(); + let mut uncle_header = Header::new(); uncle_header.set_difficulty(From::from(n)); uncle_header.set_parent_hash(self.last_hash.read().clone()); uncle_header.set_number(n as BlockNumber); @@ -309,7 +312,7 @@ impl TestBlockChainClient { /// Make a bad block by setting invalid parent hash. pub fn corrupt_block_parent(&self, n: BlockNumber) { let hash = self.block_hash(BlockId::Number(n)).unwrap(); - let mut header: BlockHeader = self.block_header(BlockId::Number(n)).unwrap().decode().expect("decoding failed"); + let mut header: Header = self.block_header(BlockId::Number(n)).unwrap().decode().expect("decoding failed"); header.set_parent_hash(H256::from(42)); let mut rlp = RlpStream::new_list(3); rlp.append(&header); @@ -935,7 +938,7 @@ impl super::traits::EngineClient for TestBlockChainClient { BlockChainClient::block_number(self, id) } - fn block_header(&self, id: BlockId) -> Option<::encoded::Header> { + fn block_header(&self, id: BlockId) -> Option { BlockChainClient::block_header(self, id) } } diff --git a/ethcore/src/client/trace.rs b/ethcore/src/client/trace.rs index 5f1b6c4f4de..61f9da6143a 100644 --- a/ethcore/src/client/trace.rs +++ b/ethcore/src/client/trace.rs @@ -16,11 +16,10 @@ //! Bridge between Tracedb and Blockchain. +use blockchain::{BlockChain, BlockProvider, TransactionAddress}; use ethereum_types::H256; -use header::BlockNumber; use trace::DatabaseExtras as TraceDatabaseExtras; -use blockchain::{BlockChain, BlockProvider, TransactionAddress}; -pub use types::trace_filter::Filter; +use types::BlockNumber; impl TraceDatabaseExtras for BlockChain { fn block_hash(&self, block_number: BlockNumber) -> Option { diff --git a/ethcore/src/client/traits.rs b/ethcore/src/client/traits.rs index 55d527013ec..8ccf78fc2e6 100644 --- a/ethcore/src/client/traits.rs +++ b/ethcore/src/client/traits.rs @@ -17,40 +17,39 @@ use std::collections::BTreeMap; use std::sync::Arc; +use blockchain::{BlockReceipts, TreeRoute}; +use bytes::Bytes; +use ethcore_miner::pool::VerifiedTransaction; +use ethereum_types::{H256, U256, Address}; +use evm::Schedule; use itertools::Itertools; +use kvdb::DBValue; +use types::transaction::{self, LocalizedTransaction, SignedTransaction}; +use types::BlockNumber; +use types::basic_account::BasicAccount; +use types::block_status::BlockStatus; +use types::blockchain_info::BlockChainInfo; +use types::call_analytics::CallAnalytics; +use types::encoded; +use types::filter::Filter; +use types::header::Header; +use types::ids::*; +use types::log_entry::LocalizedLogEntry; +use types::pruning_info::PruningInfo; +use types::receipt::LocalizedReceipt; +use types::trace_filter::Filter as TraceFilter; +use vm::LastHashes; use block::{OpenBlock, SealedBlock, ClosedBlock}; -use blockchain::{BlockReceipts, TreeRoute}; use client::Mode; -use encoded; -use vm::LastHashes; -use error::{Error, CallError, EthcoreResult}; -use evm::Schedule; +use engines::EthEngine; +use error::{Error, EthcoreResult}; +use executed::CallError; use executive::Executed; -use filter::Filter; -use header::{BlockNumber}; -use log_entry::LocalizedLogEntry; -use receipt::LocalizedReceipt; +use state::StateInfo; use trace::LocalizedTrace; -use transaction::{self, LocalizedTransaction, SignedTransaction}; use verification::queue::QueueInfo as BlockQueueInfo; use verification::queue::kind::blocks::Unverified; -use state::StateInfo; -use header::Header; -use engines::EthEngine; - -use ethereum_types::{H256, U256, Address}; -use ethcore_miner::pool::VerifiedTransaction; -use bytes::Bytes; -use kvdb::DBValue; - -use types::ids::*; -use types::basic_account::BasicAccount; -use types::trace_filter::Filter as TraceFilter; -use types::call_analytics::CallAnalytics; -use types::blockchain_info::BlockChainInfo; -use types::block_status::BlockStatus; -use types::pruning_info::PruningInfo; /// State information to be used during client query pub enum StateOrBlock { diff --git a/ethcore/src/engines/authority_round/mod.rs b/ethcore/src/engines/authority_round/mod.rs index 6cf7f409128..4a5b9b40b47 100644 --- a/ethcore/src/engines/authority_round/mod.rs +++ b/ethcore/src/engines/authority_round/mod.rs @@ -34,7 +34,6 @@ use error::{Error, ErrorKind, BlockError}; use ethjson; use machine::{AuxiliaryData, Call, EthereumMachine}; use hash::keccak; -use header::{Header, BlockNumber, ExtendedHeader}; use super::signer::EngineSigner; use super::validator_set::{ValidatorSet, SimpleList, new_validator_set}; use self::finality::RollingFinality; @@ -44,6 +43,8 @@ use itertools::{self, Itertools}; use rlp::{encode, Decodable, DecoderError, Encodable, RlpStream, Rlp}; use ethereum_types::{H256, H520, Address, U128, U256}; use parking_lot::{Mutex, RwLock}; +use types::BlockNumber; +use types::header::{Header, ExtendedHeader}; use types::ancestry_action::AncestryAction; use unexpected::{Mismatch, OutOfBounds}; @@ -1528,7 +1529,7 @@ mod tests { use hash::keccak; use ethereum_types::{Address, H520, H256, U256}; use ethkey::Signature; - use header::Header; + use types::header::Header; use rlp::encode; use block::*; use test_helpers::{ @@ -1537,7 +1538,7 @@ mod tests { }; use account_provider::AccountProvider; use spec::Spec; - use transaction::{Action, Transaction}; + use types::transaction::{Action, Transaction}; use engines::{Seal, Engine, EngineError, EthEngine}; use engines::validator_set::{TestSet, SimpleList}; use error::{Error, ErrorKind}; diff --git a/ethcore/src/engines/basic_authority.rs b/ethcore/src/engines/basic_authority.rs index 034d79107bd..4740e46b115 100644 --- a/ethcore/src/engines/basic_authority.rs +++ b/ethcore/src/engines/basic_authority.rs @@ -25,9 +25,9 @@ use block::*; use engines::{Engine, Seal, ConstructedVerifier, EngineError}; use error::{BlockError, Error}; use ethjson; -use header::{Header, ExtendedHeader}; use client::EngineClient; use machine::{AuxiliaryData, Call, EthereumMachine}; +use types::header::{Header, ExtendedHeader}; use super::signer::EngineSigner; use super::validator_set::{ValidatorSet, SimpleList, new_validator_set}; @@ -215,7 +215,7 @@ mod tests { use block::*; use test_helpers::get_temp_state_db; use account_provider::AccountProvider; - use header::Header; + use types::header::Header; use spec::Spec; use engines::Seal; use tempdir::TempDir; diff --git a/ethcore/src/engines/instant_seal.rs b/ethcore/src/engines/instant_seal.rs index 5a4eaa642ef..5a907916794 100644 --- a/ethcore/src/engines/instant_seal.rs +++ b/ethcore/src/engines/instant_seal.rs @@ -95,7 +95,7 @@ mod tests { use ethereum_types::{H520, Address}; use test_helpers::get_temp_state_db; use spec::Spec; - use header::Header; + use types::header::Header; use block::*; use engines::Seal; diff --git a/ethcore/src/engines/mod.rs b/ethcore/src/engines/mod.rs index 2d47002d171..0585319a7a5 100644 --- a/ethcore/src/engines/mod.rs +++ b/ethcore/src/engines/mod.rs @@ -24,7 +24,6 @@ mod signer; mod validator_set; pub mod block_reward; -pub mod epoch; pub use self::authority_round::AuthorityRound; pub use self::basic_authority::BasicAuthority; @@ -32,20 +31,23 @@ pub use self::epoch::{EpochVerifier, Transition as EpochTransition}; pub use self::instant_seal::{InstantSeal, InstantSealParams}; pub use self::null_engine::NullEngine; +// TODO [ToDr] Remove re-export (#10130) +pub use types::engines::ForkChoice; +pub use types::engines::epoch; + use std::sync::{Weak, Arc}; use std::collections::{BTreeMap, HashMap}; use std::{fmt, error}; -use self::epoch::PendingTransition; - use account_provider::AccountProvider; use builtin::Builtin; use vm::{EnvInfo, Schedule, CreateContractAddress, CallType, ActionValue}; use error::Error; -use header::{Header, BlockNumber}; +use types::BlockNumber; +use types::header::Header; use snapshot::SnapshotComponents; use spec::CommonParams; -use transaction::{self, UnverifiedTransaction, SignedTransaction}; +use types::transaction::{self, UnverifiedTransaction, SignedTransaction}; use ethkey::{Password, Signature}; use parity_machine::{Machine, LocalizedMachine as Localized, TotalScoredHeader}; @@ -58,15 +60,6 @@ use types::ancestry_action::AncestryAction; /// As defined in https://github.com/ethereum/EIPs/pull/210 pub const DEFAULT_BLOCKHASH_CONTRACT: &'static str = "73fffffffffffffffffffffffffffffffffffffffe33141561006a5760014303600035610100820755610100810715156100455760003561010061010083050761010001555b6201000081071515610064576000356101006201000083050761020001555b5061013e565b4360003512151561008457600060405260206040f361013d565b61010060003543031315156100a857610100600035075460605260206060f361013c565b6101006000350715156100c55762010000600035430313156100c8565b60005b156100ea576101006101006000350507610100015460805260206080f361013b565b620100006000350715156101095763010000006000354303131561010c565b60005b1561012f57610100620100006000350507610200015460a052602060a0f361013a565b600060c052602060c0f35b5b5b5b5b"; -/// Fork choice. -#[derive(Debug, PartialEq, Eq)] -pub enum ForkChoice { - /// Choose the new block. - New, - /// Choose the current best block. - Old, -} - /// Voting errors. #[derive(Debug)] pub enum EngineError { @@ -175,7 +168,7 @@ pub fn default_system_or_code_call<'a>(machine: &'a ::machine::EthereumMachine, pub type Headers<'a, H> = Fn(H256) -> Option + 'a; /// Type alias for a function we can query pending transitions by block hash through. -pub type PendingTransitionStore<'a> = Fn(H256) -> Option + 'a; +pub type PendingTransitionStore<'a> = Fn(H256) -> Option + 'a; /// Proof dependent on state. pub trait StateDependentProof: Send + Sync { diff --git a/ethcore/src/engines/null_engine.rs b/ethcore/src/engines/null_engine.rs index af5aedaac37..3d5fa7e84fd 100644 --- a/ethcore/src/engines/null_engine.rs +++ b/ethcore/src/engines/null_engine.rs @@ -14,12 +14,12 @@ // You should have received a copy of the GNU General Public License // along with Parity. If not, see . -use ethereum_types::U256; use engines::Engine; use engines::block_reward::{self, RewardKind}; -use header::BlockNumber; +use ethereum_types::U256; use machine::WithRewards; use parity_machine::{Header, LiveBlock, WithBalances, TotalScoredHeader}; +use types::BlockNumber; /// Params for a null engine. #[derive(Clone, Default)] diff --git a/ethcore/src/engines/validator_set/contract.rs b/ethcore/src/engines/validator_set/contract.rs index 80cc690ab37..9bc75be4726 100644 --- a/ethcore/src/engines/validator_set/contract.rs +++ b/ethcore/src/engines/validator_set/contract.rs @@ -21,11 +21,12 @@ use std::sync::Weak; use bytes::Bytes; use ethereum_types::{H256, Address}; +use machine::{AuxiliaryData, Call, EthereumMachine}; use parking_lot::RwLock; +use types::BlockNumber; +use types::header::Header; use client::EngineClient; -use header::{Header, BlockNumber}; -use machine::{AuxiliaryData, Call, EthereumMachine}; use super::{ValidatorSet, SimpleList, SystemCall}; use super::safe_contract::ValidatorSafeContract; @@ -67,7 +68,7 @@ impl ValidatorContract { } impl ValidatorSet for ValidatorContract { - fn default_caller(&self, id: ::ids::BlockId) -> Box { + fn default_caller(&self, id: ::types::ids::BlockId) -> Box { self.validators.default_caller(id) } @@ -139,7 +140,7 @@ mod tests { use bytes::ToPretty; use rlp::encode; use spec::Spec; - use header::Header; + use types::header::Header; use account_provider::AccountProvider; use miner::MinerService; use types::ids::BlockId; diff --git a/ethcore/src/engines/validator_set/mod.rs b/ethcore/src/engines/validator_set/mod.rs index d7018d14e9a..97de4cd61e0 100644 --- a/ethcore/src/engines/validator_set/mod.rs +++ b/ethcore/src/engines/validator_set/mod.rs @@ -24,13 +24,16 @@ mod contract; mod multi; use std::sync::Weak; -use ids::BlockId; -use ethereum_types::{H256, Address}; + use bytes::Bytes; +use ethereum_types::{H256, Address}; use ethjson::spec::ValidatorSet as ValidatorSpec; -use client::EngineClient; -use header::{Header, BlockNumber}; use machine::{AuxiliaryData, Call, EthereumMachine}; +use types::BlockNumber; +use types::header::Header; +use types::ids::BlockId; + +use client::EngineClient; #[cfg(test)] pub use self::test::TestSet; diff --git a/ethcore/src/engines/validator_set/multi.rs b/ethcore/src/engines/validator_set/multi.rs index 24fb2d890bd..176217ffe17 100644 --- a/ethcore/src/engines/validator_set/multi.rs +++ b/ethcore/src/engines/validator_set/multi.rs @@ -18,11 +18,14 @@ use std::collections::BTreeMap; use std::sync::Weak; + +use bytes::Bytes; use ethereum_types::{H256, Address}; use parking_lot::RwLock; -use bytes::Bytes; -use ids::BlockId; -use header::{BlockNumber, Header}; +use types::BlockNumber; +use types::header::Header; +use types::ids::BlockId; + use client::EngineClient; use machine::{AuxiliaryData, Call, EthereumMachine}; use super::{SystemCall, ValidatorSet}; @@ -152,7 +155,7 @@ mod tests { use engines::EpochChange; use engines::validator_set::ValidatorSet; use ethkey::Secret; - use header::Header; + use types::header::Header; use miner::MinerService; use spec::Spec; use test_helpers::{generate_dummy_client_with_spec_and_accounts, generate_dummy_client_with_spec_and_data}; diff --git a/ethcore/src/engines/validator_set/safe_contract.rs b/ethcore/src/engines/validator_set/safe_contract.rs index 91083c05607..026fda057a3 100644 --- a/ethcore/src/engines/validator_set/safe_contract.rs +++ b/ethcore/src/engines/validator_set/safe_contract.rs @@ -16,24 +16,26 @@ /// Validator set maintained in a contract, updated using `getValidators` method. +use std::sync::{Weak, Arc}; + use bytes::Bytes; -use client::EngineClient; +use ethabi::FunctionOutputDecoder; use ethereum_types::{H256, U256, Address, Bloom}; use hash::keccak; -use header::Header; -use ids::BlockId; use kvdb::DBValue; -use log_entry::LogEntry; -use machine::{AuxiliaryData, Call, EthereumMachine, AuxiliaryRequest}; use memory_cache::MemoryLruCache; use parking_lot::RwLock; -use receipt::Receipt; use rlp::{Rlp, RlpStream}; -use std::sync::{Weak, Arc}; +use types::header::Header; +use types::ids::BlockId; +use types::log_entry::LogEntry; +use types::receipt::Receipt; +use unexpected::Mismatch; + +use client::EngineClient; +use machine::{AuxiliaryData, Call, EthereumMachine, AuxiliaryRequest}; use super::{SystemCall, ValidatorSet}; use super::simple_list::SimpleList; -use unexpected::Mismatch; -use ethabi::FunctionOutputDecoder; use_contract!(validator_set, "res/contracts/validator_set.json"); @@ -91,7 +93,7 @@ fn encode_first_proof(header: &Header, state_items: &[Vec]) -> Bytes { fn check_first_proof(machine: &EthereumMachine, contract_address: Address, old_header: Header, state_items: &[DBValue]) -> Result, String> { - use transaction::{Action, Transaction}; + use types::transaction::{Action, Transaction}; // TODO: match client contract_call_tx more cleanly without duplication. const PROVIDED_GAS: u64 = 50_000_000; @@ -343,7 +345,7 @@ impl ValidatorSet for ValidatorSafeContract { } } - fn epoch_set(&self, first: bool, machine: &EthereumMachine, _number: ::header::BlockNumber, proof: &[u8]) + fn epoch_set(&self, first: bool, machine: &EthereumMachine, _number: ::types::BlockNumber, proof: &[u8]) -> Result<(SimpleList, Option), ::error::Error> { let rlp = Rlp::new(proof); @@ -444,7 +446,7 @@ mod tests { use types::ids::BlockId; use spec::Spec; use account_provider::AccountProvider; - use transaction::{Transaction, Action}; + use types::transaction::{Transaction, Action}; use client::{ChainInfo, BlockInfo, ImportBlock}; use ethkey::Secret; use miner::MinerService; @@ -532,10 +534,10 @@ mod tests { #[test] fn detects_bloom() { - use header::Header; use engines::EpochChange; use machine::AuxiliaryRequest; - use log_entry::LogEntry; + use types::header::Header; + use types::log_entry::LogEntry; let client = generate_dummy_client_with_spec_and_accounts(Spec::new_validator_safe_contract, None); let engine = client.engine().clone(); @@ -571,7 +573,7 @@ mod tests { #[test] fn initial_contract_is_signal() { - use header::Header; + use types::header::Header; use engines::{EpochChange, Proof}; let client = generate_dummy_client_with_spec_and_accounts(Spec::new_validator_safe_contract, None); diff --git a/ethcore/src/engines/validator_set/simple_list.rs b/ethcore/src/engines/validator_set/simple_list.rs index dc269600d00..55782ed6bc3 100644 --- a/ethcore/src/engines/validator_set/simple_list.rs +++ b/ethcore/src/engines/validator_set/simple_list.rs @@ -20,7 +20,8 @@ use heapsize::HeapSizeOf; use ethereum_types::{H256, Address}; use machine::{AuxiliaryData, Call, EthereumMachine}; -use header::{BlockNumber, Header}; +use types::BlockNumber; +use types::header::Header; use super::ValidatorSet; /// Validator set containing a known set of addresses. @@ -64,7 +65,7 @@ impl HeapSizeOf for SimpleList { } impl ValidatorSet for SimpleList { - fn default_caller(&self, _block_id: ::ids::BlockId) -> Box { + fn default_caller(&self, _block_id: ::types::ids::BlockId) -> Box { Box::new(|_, _| Err("Simple list doesn't require calls.".into())) } diff --git a/ethcore/src/engines/validator_set/test.rs b/ethcore/src/engines/validator_set/test.rs index 9650526e577..c6c904878ee 100644 --- a/ethcore/src/engines/validator_set/test.rs +++ b/ethcore/src/engines/validator_set/test.rs @@ -19,12 +19,14 @@ use std::str::FromStr; use std::sync::Arc; use std::sync::atomic::{AtomicUsize, Ordering as AtomicOrdering}; -use heapsize::HeapSizeOf; -use ethereum_types::{H256, Address}; + use bytes::Bytes; +use ethereum_types::{H256, Address}; +use heapsize::HeapSizeOf; +use types::BlockNumber; +use types::header::Header; use machine::{AuxiliaryData, Call, EthereumMachine}; -use header::{Header, BlockNumber}; use super::{ValidatorSet, SimpleList}; /// Set used for testing with a single validator. @@ -57,7 +59,7 @@ impl HeapSizeOf for TestSet { } impl ValidatorSet for TestSet { - fn default_caller(&self, _block_id: ::ids::BlockId) -> Box { + fn default_caller(&self, _block_id: ::types::ids::BlockId) -> Box { Box::new(|_, _| Err("Test set doesn't require calls.".into())) } diff --git a/ethcore/src/error.rs b/ethcore/src/error.rs index 02268747aef..48bff82f2c4 100644 --- a/ethcore/src/error.rs +++ b/ethcore/src/error.rs @@ -18,18 +18,19 @@ use std::{fmt, error}; use std::time::SystemTime; + use ethereum_types::{H256, U256, Address, Bloom}; -use snappy::InvalidInput; -use unexpected::{Mismatch, OutOfBounds}; +use ethkey::Error as EthkeyError; use ethtrie::TrieError; -use io::*; -use header::BlockNumber; +use rlp; +use snappy::InvalidInput; use snapshot::Error as SnapshotError; -use engines::EngineError; -use ethkey::Error as EthkeyError; +use types::transaction::Error as TransactionError; +use types::BlockNumber; +use unexpected::{Mismatch, OutOfBounds}; + use account_provider::SignError as AccountsError; -use transaction::Error as TransactionError; -use rlp; +use engines::EngineError; pub use executed::{ExecutionError, CallError}; @@ -165,7 +166,7 @@ error_chain! { } foreign_links { - Channel(IoError) #[doc = "Io channel error"]; + Channel(::io::IoError) #[doc = "Io channel error"]; } } @@ -224,7 +225,7 @@ error_chain! { } foreign_links { - Io(IoError) #[doc = "Io create error"]; + Io(::io::IoError) #[doc = "Io create error"]; StdIo(::std::io::Error) #[doc = "Error concerning the Rust standard library's IO subsystem."]; Trie(TrieError) #[doc = "Error concerning TrieDBs."]; Execution(ExecutionError) #[doc = "Error concerning EVM code execution."]; diff --git a/ethcore/src/ethereum/ethash.rs b/ethcore/src/ethereum/ethash.rs index f705f33ef9f..5a625c630d6 100644 --- a/ethcore/src/ethereum/ethash.rs +++ b/ethcore/src/ethereum/ethash.rs @@ -14,21 +14,24 @@ // You should have received a copy of the GNU General Public License // along with Parity. If not, see . -use std::path::Path; use std::cmp; use std::collections::BTreeMap; +use std::path::Path; use std::sync::Arc; -use hash::{KECCAK_EMPTY_LIST_RLP}; -use engines::block_reward::{self, BlockRewardContract, RewardKind}; -use ethash::{self, quick_get_difficulty, slow_hash_block_number, EthashManager, OptimizeFor}; + use ethereum_types::{H256, H64, U256}; -use unexpected::{OutOfBounds, Mismatch}; -use block::*; -use error::{BlockError, Error}; -use header::{Header, BlockNumber, ExtendedHeader}; -use engines::{self, Engine}; use ethjson; +use hash::{KECCAK_EMPTY_LIST_RLP}; use rlp::Rlp; +use types::header::{Header, ExtendedHeader}; +use types::BlockNumber; +use unexpected::{OutOfBounds, Mismatch}; + +use block::ExecutedBlock; +use engines::block_reward::{self, BlockRewardContract, RewardKind}; +use engines::{self, Engine}; +use error::{BlockError, Error}; +use ethash::{self, quick_get_difficulty, slow_hash_block_number, EthashManager, OptimizeFor}; use machine::EthereumMachine; /// Number of blocks in an ethash snapshot. @@ -482,7 +485,7 @@ mod tests { use block::*; use test_helpers::get_temp_state_db; use error::{BlockError, Error, ErrorKind}; - use header::Header; + use types::header::Header; use spec::Spec; use engines::Engine; use super::super::{new_morden, new_mcip3_test, new_homestead_test_machine}; diff --git a/ethcore/src/ethereum/mod.rs b/ethcore/src/ethereum/mod.rs index 467b978d279..0910ee65ee5 100644 --- a/ethcore/src/ethereum/mod.rs +++ b/ethcore/src/ethereum/mod.rs @@ -180,7 +180,8 @@ mod tests { use state::*; use super::*; use test_helpers::get_temp_state_db; - use views::BlockView; + use types::view; + use types::views::BlockView; #[test] fn ensure_db_good() { diff --git a/ethcore/src/executed.rs b/ethcore/src/executed.rs index 2dc0c041be1..171071118d7 100644 --- a/ethcore/src/executed.rs +++ b/ethcore/src/executed.rs @@ -21,8 +21,8 @@ use bytes::Bytes; use ethtrie; use vm; use trace::{VMTrace, FlatTrace}; -use log_entry::LogEntry; -use state_diff::StateDiff; +use types::state_diff::StateDiff; +use types::log_entry::LogEntry; use std::{fmt, error}; diff --git a/ethcore/src/executive.rs b/ethcore/src/executive.rs index bfc4e46fa59..4517ec54347 100644 --- a/ethcore/src/executive.rs +++ b/ethcore/src/executive.rs @@ -21,7 +21,7 @@ use hash::keccak; use ethereum_types::{H256, U256, U512, Address}; use bytes::{Bytes, BytesRef}; use state::{Backend as StateBackend, State, Substate, CleanupMode}; -use error::ExecutionError; +use executed::ExecutionError; use machine::EthereumMachine as Machine; use evm::{CallType, Finalize, FinalizationResult}; use vm::{ @@ -31,7 +31,8 @@ use vm::{ use factory::VmFactory; use externalities::*; use trace::{self, Tracer, VMTracer}; -use transaction::{Action, SignedTransaction}; +use types::transaction::{Action, SignedTransaction}; +use transaction_ext::Transaction; use crossbeam; pub use executed::{Executed, ExecutionResult}; @@ -1179,7 +1180,7 @@ mod tests { use trace::trace; use trace::{FlatTrace, Tracer, NoopTracer, ExecutiveTracer}; use trace::{VMTrace, VMOperation, VMExecutedOperation, MemoryDiff, StorageDiff, VMTracer, NoopVMTracer, ExecutiveVMTracer}; - use transaction::{Action, Transaction}; + use types::transaction::{Action, Transaction}; fn make_frontier_machine(max_depth: usize) -> EthereumMachine { let mut machine = ::ethereum::new_frontier_test_machine(); diff --git a/ethcore/src/externalities.rs b/ethcore/src/externalities.rs index 778ef5cc746..9e488c2114b 100644 --- a/ethcore/src/externalities.rs +++ b/ethcore/src/externalities.rs @@ -27,7 +27,7 @@ use vm::{ Ext, ContractCreateResult, MessageCallResult, CreateContractAddress, ReturnData, TrapKind }; -use transaction::UNSIGNED_SENDER; +use types::transaction::UNSIGNED_SENDER; use trace::{Tracer, VMTracer}; /// Policy for handling output data on `RETURN` opcode. @@ -340,7 +340,7 @@ impl<'a, T: 'a, V: 'a, B: 'a> Ext for Externalities<'a, T, V, B> } fn log(&mut self, topics: Vec, data: &[u8]) -> vm::Result<()> { - use log_entry::LogEntry; + use types::log_entry::LogEntry; if self.static_flag { return Err(vm::Error::MutableCallInStaticContext); diff --git a/ethcore/src/json_tests/difficulty.rs b/ethcore/src/json_tests/difficulty.rs index 23a85594552..f70696c9423 100644 --- a/ethcore/src/json_tests/difficulty.rs +++ b/ethcore/src/json_tests/difficulty.rs @@ -15,7 +15,7 @@ // along with Parity. If not, see . use ethjson; -use header::Header; +use types::header::Header; use ethereum_types::U256; use spec::Spec; diff --git a/ethcore/src/json_tests/state.rs b/ethcore/src/json_tests/state.rs index 733e268028f..7dcb6dd8192 100644 --- a/ethcore/src/json_tests/state.rs +++ b/ethcore/src/json_tests/state.rs @@ -20,7 +20,7 @@ use pod_state::PodState; use trace; use client::{EvmTestClient, EvmTestError, TransactResult}; use ethjson; -use transaction::SignedTransaction; +use types::transaction::SignedTransaction; use vm::EnvInfo; use super::SKIP_TEST_STATE; use super::HookType; diff --git a/ethcore/src/json_tests/transaction.rs b/ethcore/src/json_tests/transaction.rs index 70021c9e985..b1475225b0a 100644 --- a/ethcore/src/json_tests/transaction.rs +++ b/ethcore/src/json_tests/transaction.rs @@ -17,10 +17,11 @@ use std::path::Path; use super::test_common::*; use client::EvmTestClient; -use header::Header; use ethjson; use rlp::Rlp; -use transaction::UnverifiedTransaction; +use types::header::Header; +use types::transaction::UnverifiedTransaction; +use transaction_ext::Transaction; /// Run transaction jsontests on a given folder. pub fn run_test_path(p: &Path, skip: &[&'static str], h: &mut H) { @@ -67,7 +68,7 @@ fn do_json_test(json_data: &[u8], start_stop_hook: &mu let minimal = t.gas_required(&spec.engine.schedule(header.number())).into(); if t.gas < minimal { - return Err(::transaction::Error::InsufficientGas { + return Err(::types::transaction::Error::InsufficientGas { minimal, got: t.gas, }.into()); } diff --git a/ethcore/src/lib.rs b/ethcore/src/lib.rs index fd9dd217ff2..21cf3320b65 100644 --- a/ethcore/src/lib.rs +++ b/ethcore/src/lib.rs @@ -14,7 +14,7 @@ // You should have received a copy of the GNU General Public License // along with Parity. If not, see . -#![warn(missing_docs)] +#![warn(missing_docs, unused_extern_crates)] //! Ethcore library //! @@ -57,61 +57,65 @@ // error_chain foreign_links. #![recursion_limit="128"] -extern crate blooms_db; +extern crate ansi_term; extern crate bn; extern crate byteorder; -extern crate crossbeam; extern crate common_types as types; +extern crate crossbeam; +extern crate ethabi; extern crate ethash; +extern crate ethcore_blockchain as blockchain; extern crate ethcore_bloom_journal as bloom_journal; -extern crate parity_crypto; +extern crate ethcore_db as db; extern crate ethcore_io as io; -extern crate parity_bytes as bytes; -extern crate ethcore_logger; extern crate ethcore_miner; -#[cfg(feature = "stratum")] -extern crate ethcore_stratum; -extern crate ethcore_transaction as transaction; extern crate ethereum_types; extern crate ethjson; extern crate ethkey; - +extern crate ethstore; extern crate hashdb; +extern crate heapsize; extern crate itertools; +extern crate journaldb; +extern crate keccak_hash as hash; +extern crate keccak_hasher; extern crate kvdb; extern crate kvdb_memorydb; -extern crate kvdb_rocksdb; +extern crate len_caching_lock; extern crate lru_cache; -extern crate num_cpus; +extern crate memory_cache; +extern crate memorydb; extern crate num; +extern crate num_cpus; +extern crate parity_bytes as bytes; +extern crate parity_crypto; extern crate parity_machine; +extern crate parity_snappy as snappy; extern crate parking_lot; +extern crate patricia_trie as trie; +extern crate patricia_trie_ethereum as ethtrie; extern crate rand; extern crate rayon; extern crate rlp; -extern crate rlp_compress; -extern crate keccak_hash as hash; -extern crate keccak_hasher; -extern crate heapsize; -extern crate memorydb; -extern crate patricia_trie as trie; -extern crate patricia_trie_ethereum as ethtrie; -extern crate triehash_ethereum as triehash; -extern crate ansi_term; -extern crate unexpected; -extern crate parity_snappy as snappy; -extern crate ethabi; extern crate rustc_hex; +extern crate serde; extern crate stats; +extern crate triehash_ethereum as triehash; +extern crate unexpected; extern crate using_queue; extern crate vm; extern crate wasm; -extern crate memory_cache; -extern crate journaldb; -extern crate serde; + +#[cfg(feature = "stratum")] +extern crate ethcore_stratum; #[cfg(any(test, feature = "json-tests", feature = "test-helpers"))] extern crate tempdir; -extern crate len_caching_lock; +#[cfg(any(test, feature = "json-tests"))] +extern crate ethcore_logger; +#[cfg(any(test, feature = "test-helpers"))] +extern crate kvdb_rocksdb; +#[cfg(any(test, feature = "test-helpers"))] +extern crate blooms_db; #[cfg(any(target_os = "linux", target_os = "macos", target_os = "windows", target_os = "android"))] extern crate hardware_wallet; @@ -143,24 +147,18 @@ extern crate evm; #[cfg(test)] extern crate env_logger; - -pub extern crate ethstore; - -#[macro_use] -pub mod views; +#[cfg(test)] +extern crate rlp_compress; pub mod account_provider; pub mod block; pub mod builtin; pub mod client; -pub mod db; -pub mod encoded; pub mod engines; pub mod error; pub mod ethereum; pub mod executed; pub mod executive; -pub mod header; pub mod machine; pub mod miner; pub mod pod_state; @@ -170,12 +168,11 @@ pub mod spec; pub mod state; pub mod state_db; pub mod trace; +pub mod transaction_ext; pub mod verification; -mod cache_manager; mod account_db; mod externalities; -mod blockchain; mod factory; mod tx_filter; @@ -186,8 +183,6 @@ pub mod json_tests; #[cfg(any(test, feature = "test-helpers"))] pub mod test_helpers; -pub use types::*; pub use executive::contract_address; pub use evm::CreateContractAddress; -pub use blockchain::{BlockChainDB, BlockChainDBHandler}; pub use trie::TrieSpec; diff --git a/ethcore/src/machine.rs b/ethcore/src/machine.rs index 47cea85059b..1580c364e21 100644 --- a/ethcore/src/machine.rs +++ b/ethcore/src/machine.rs @@ -20,23 +20,24 @@ use std::collections::{BTreeMap, HashMap}; use std::cmp; use std::sync::Arc; +use ethereum_types::{U256, H256, Address}; +use rlp::Rlp; +use types::transaction::{self, SYSTEM_ADDRESS, UNSIGNED_SENDER, UnverifiedTransaction, SignedTransaction}; +use types::BlockNumber; +use types::header::{Header, ExtendedHeader}; +use vm::{CallType, ActionParams, ActionValue, ParamsType}; +use vm::{EnvInfo, Schedule, CreateContractAddress}; + use block::{ExecutedBlock, IsBlock}; use builtin::Builtin; use client::{BlockInfo, CallContract}; use error::Error; use executive::Executive; -use header::{BlockNumber, Header, ExtendedHeader}; use spec::CommonParams; use state::{CleanupMode, Substate}; use trace::{NoopTracer, NoopVMTracer, Tracer, ExecutiveTracer, RewardType, Tracing}; -use transaction::{self, SYSTEM_ADDRESS, UNSIGNED_SENDER, UnverifiedTransaction, SignedTransaction}; use tx_filter::TransactionFilter; -use ethereum_types::{U256, H256, Address}; -use rlp::Rlp; -use vm::{CallType, ActionParams, ActionValue, ParamsType}; -use vm::{EnvInfo, Schedule, CreateContractAddress}; - /// Parity tries to round block.gas_limit to multiple of this constant pub const PARITY_GAS_LIMIT_DETERMINANT: U256 = U256([37, 0, 0, 0]); @@ -408,7 +409,7 @@ pub struct AuxiliaryData<'a> { /// The full block bytes, including the header. pub bytes: Option<&'a [u8]>, /// The block receipts. - pub receipts: Option<&'a [::receipt::Receipt]>, + pub receipts: Option<&'a [::types::receipt::Receipt]>, } /// Type alias for a function we can make calls through synchronously. @@ -526,7 +527,7 @@ mod tests { Default::default(), ethparams, ); - let mut header = ::header::Header::new(); + let mut header = ::types::header::Header::new(); header.set_number(15); let res = machine.verify_transaction_basic(&transaction, &header); @@ -546,8 +547,8 @@ mod tests { ethparams, ); - let mut parent = ::header::Header::new(); - let mut header = ::header::Header::new(); + let mut parent = ::types::header::Header::new(); + let mut header = ::types::header::Header::new(); header.set_number(1); // this test will work for this constant only diff --git a/ethcore/src/miner/miner.rs b/ethcore/src/miner/miner.rs index c73887800c8..70d35d6de72 100644 --- a/ethcore/src/miner/miner.rs +++ b/ethcore/src/miner/miner.rs @@ -21,39 +21,42 @@ use std::sync::Arc; use ansi_term::Colour; use bytes::Bytes; -use engines::{EthEngine, Seal}; -use error::{Error, ErrorKind, ExecutionError}; use ethcore_miner::gas_pricer::GasPricer; use ethcore_miner::pool::{self, TransactionQueue, VerifiedTransaction, QueueStatus, PrioritizationStrategy}; #[cfg(feature = "work-notify")] use ethcore_miner::work_notify::NotifyWork; use ethereum_types::{H256, U256, Address}; +use ethkey::Password; use io::IoChannel; +use miner::pool_client::{PoolClient, CachedNonceClient, NonceCache}; +use miner; use parking_lot::{Mutex, RwLock}; use rayon::prelude::*; -use transaction::{ +use types::transaction::{ self, Action, UnverifiedTransaction, SignedTransaction, PendingTransaction, }; +use types::BlockNumber; +use types::block::Block; +use types::header::Header; +use types::receipt::RichReceipt; use using_queue::{UsingQueue, GetAction}; use account_provider::{AccountProvider, SignError as AccountError}; -use block::{ClosedBlock, IsBlock, Block, SealedBlock}; +use block::{ClosedBlock, IsBlock, SealedBlock}; use client::{ BlockChain, ChainInfo, CallContract, BlockProducer, SealedBlockImporter, Nonce, TransactionInfo, TransactionId }; use client::{BlockId, ClientIoMessage}; +use engines::{EthEngine, Seal}; +use error::{Error, ErrorKind}; +use executed::ExecutionError; use executive::contract_address; -use header::{Header, BlockNumber}; -use miner; -use miner::pool_client::{PoolClient, CachedNonceClient, NonceCache}; -use receipt::RichReceipt; use spec::Spec; use state::State; -use ethkey::Password; /// Different possible definitions for pending transaction set. #[derive(Debug, PartialEq)] @@ -1284,13 +1287,13 @@ mod tests { use super::*; use ethkey::{Generator, Random}; use hash::keccak; - use header::BlockNumber; use rustc_hex::FromHex; + use types::BlockNumber; use client::{TestBlockChainClient, EachBlockWith, ChainInfo, ImportSealedBlock}; use miner::{MinerService, PendingOrdering}; use test_helpers::{generate_dummy_client, generate_dummy_client_with_spec_and_accounts}; - use transaction::{Transaction}; + use types::transaction::{Transaction}; #[test] fn should_prepare_block_to_seal() { diff --git a/ethcore/src/miner/mod.rs b/ethcore/src/miner/mod.rs index cca6e8c30f4..95ee00e9cc4 100644 --- a/ethcore/src/miner/mod.rs +++ b/ethcore/src/miner/mod.rs @@ -33,21 +33,23 @@ use std::sync::Arc; use std::collections::{BTreeSet, BTreeMap}; use bytes::Bytes; -use ethereum_types::{H256, U256, Address}; use ethcore_miner::pool::{VerifiedTransaction, QueueStatus, local_transactions}; +use ethereum_types::{H256, U256, Address}; +use ethkey::Password; +use types::transaction::{self, UnverifiedTransaction, SignedTransaction, PendingTransaction}; +use types::BlockNumber; +use types::block::Block; +use types::header::Header; +use types::receipt::RichReceipt; -use block::{Block, SealedBlock}; +use block::SealedBlock; use client::{ CallContract, RegistryInfo, ScheduleInfo, BlockChain, BlockProducer, SealedBlockImporter, ChainInfo, AccountData, Nonce, }; use error::Error; -use header::{BlockNumber, Header}; -use receipt::RichReceipt; -use transaction::{self, UnverifiedTransaction, SignedTransaction, PendingTransaction}; use state::StateInfo; -use ethkey::Password; /// Provides methods to verify incoming external transactions pub trait TransactionVerifierClient: Send + Sync diff --git a/ethcore/src/miner/pool_client.rs b/ethcore/src/miner/pool_client.rs index 25d9a809cdb..8be5b1e3717 100644 --- a/ethcore/src/miner/pool_client.rs +++ b/ethcore/src/miner/pool_client.rs @@ -25,19 +25,20 @@ use std::{ use ethereum_types::{H256, U256, Address}; use ethcore_miner::pool; use ethcore_miner::pool::client::NonceClient; -use transaction::{ +use types::transaction::{ self, UnverifiedTransaction, SignedTransaction, }; +use types::header::Header; use parking_lot::RwLock; use account_provider::AccountProvider; use client::{TransactionId, BlockInfo, CallContract, Nonce}; use engines::EthEngine; -use header::Header; use miner; use miner::service_transaction_checker::ServiceTransactionChecker; +use transaction_ext::Transaction; /// Cache for state nonces. #[derive(Debug, Clone)] diff --git a/ethcore/src/miner/service_transaction_checker.rs b/ethcore/src/miner/service_transaction_checker.rs index ecae3055849..f8b6354810f 100644 --- a/ethcore/src/miner/service_transaction_checker.rs +++ b/ethcore/src/miner/service_transaction_checker.rs @@ -17,7 +17,7 @@ //! A service transactions contract checker. use client::{RegistryInfo, CallContract, BlockId}; -use transaction::SignedTransaction; +use types::transaction::SignedTransaction; use ethabi::FunctionOutputDecoder; use_contract!(service_transaction, "res/contracts/service_transaction.json"); diff --git a/ethcore/src/snapshot/account.rs b/ethcore/src/snapshot/account.rs index 2ccf910f773..5c2df5ac34f 100644 --- a/ethcore/src/snapshot/account.rs +++ b/ethcore/src/snapshot/account.rs @@ -17,7 +17,7 @@ //! Account state encoding and decoding use account_db::{AccountDB, AccountDBMut}; -use basic_account::BasicAccount; +use types::basic_account::BasicAccount; use bytes::Bytes; use ethereum_types::{H256, U256}; use ethtrie::{TrieDB, TrieDBMut}; @@ -207,7 +207,7 @@ pub fn from_fat_rlp( #[cfg(test)] mod tests { use account_db::{AccountDB, AccountDBMut}; - use basic_account::BasicAccount; + use types::basic_account::BasicAccount; use test_helpers::get_temp_state_db; use snapshot::tests::helpers::fill_storage; diff --git a/ethcore/src/snapshot/block.rs b/ethcore/src/snapshot/block.rs index 3a18015e0c5..8cd65871a6c 100644 --- a/ethcore/src/snapshot/block.rs +++ b/ethcore/src/snapshot/block.rs @@ -16,14 +16,14 @@ //! Block RLP compression. -use block::Block; -use header::Header; +use bytes::Bytes; +use ethereum_types::H256; use hash::keccak; -use views::BlockView; use rlp::{DecoderError, RlpStream, Rlp}; -use ethereum_types::H256; -use bytes::Bytes; use triehash::ordered_trie_root; +use types::block::Block; +use types::header::Header; +use types::views::BlockView; const HEADER_FIELDS: usize = 8; const BLOCK_FIELDS: usize = 2; @@ -132,13 +132,14 @@ impl AbridgedBlock { #[cfg(test)] mod tests { - use views::BlockView; - use block::Block; use super::AbridgedBlock; - use transaction::{Action, Transaction}; - use ethereum_types::{H256, U256, Address}; use bytes::Bytes; + use ethereum_types::{H256, U256, Address}; + use types::transaction::{Action, Transaction}; + use types::block::Block; + use types::view; + use types::views::BlockView; fn encode_block(b: &Block) -> Bytes { b.rlp_bytes() diff --git a/ethcore/src/snapshot/consensus/authority.rs b/ethcore/src/snapshot/consensus/authority.rs index 1e21d6fccee..43c177b97b0 100644 --- a/ethcore/src/snapshot/consensus/authority.rs +++ b/ethcore/src/snapshot/consensus/authority.rs @@ -24,21 +24,20 @@ use super::{SnapshotComponents, Rebuilder, ChunkSink}; use std::sync::atomic::{AtomicBool, Ordering}; use std::sync::Arc; -use blockchain::{BlockChain, BlockChainDB, BlockProvider}; use engines::{EthEngine, EpochVerifier, EpochTransition}; use machine::EthereumMachine; -use ids::BlockId; -use header::Header; -use receipt::Receipt; use snapshot::{Error, ManifestData, Progress}; -use itertools::{Position, Itertools}; -use rlp::{RlpStream, Rlp}; +use blockchain::{BlockChain, BlockChainDB, BlockProvider}; +use bytes::Bytes; use ethereum_types::{H256, U256}; +use itertools::{Position, Itertools}; use kvdb::KeyValueDB; -use bytes::Bytes; -use encoded; - +use rlp::{RlpStream, Rlp}; +use types::encoded; +use types::header::Header; +use types::ids::BlockId; +use types::receipt::Receipt; /// Snapshot creation and restoration for PoA chains. /// Chunk format: @@ -319,7 +318,7 @@ impl Rebuilder for ChunkRebuilder { } if is_last_chunk { - use block::Block; + use types::block::Block; let last_rlp = rlp.at(num_items - 1)?; let block = Block { diff --git a/ethcore/src/snapshot/consensus/work.rs b/ethcore/src/snapshot/consensus/work.rs index b287ae9bb5f..7f4c6dfc643 100644 --- a/ethcore/src/snapshot/consensus/work.rs +++ b/ethcore/src/snapshot/consensus/work.rs @@ -35,7 +35,7 @@ use kvdb::KeyValueDB; use bytes::Bytes; use rlp::{RlpStream, Rlp}; use rand::OsRng; -use encoded; +use types::encoded; /// Snapshot creation and restoration for PoW chains. /// This includes blocks from the head of the chain as a @@ -250,7 +250,7 @@ impl Rebuilder for PowRebuilder { let pair = rlp.at(idx)?; let abridged_rlp = pair.at(0)?.as_raw().to_owned(); let abridged_block = AbridgedBlock::from_raw(abridged_rlp); - let receipts: Vec<::receipt::Receipt> = pair.list_at(1)?; + let receipts: Vec<::types::receipt::Receipt> = pair.list_at(1)?; let receipts_root = ordered_trie_root(pair.at(1)?.iter().map(|r| r.as_raw())); let block = abridged_block.to_block(parent_hash, cur_number, receipts_root)?; diff --git a/ethcore/src/snapshot/error.rs b/ethcore/src/snapshot/error.rs index eb1a16278b0..f0bb7d7ade7 100644 --- a/ethcore/src/snapshot/error.rs +++ b/ethcore/src/snapshot/error.rs @@ -18,7 +18,7 @@ use std::fmt; -use ids::BlockId; +use types::ids::BlockId; use ethereum_types::H256; use ethtrie::TrieError; diff --git a/ethcore/src/snapshot/mod.rs b/ethcore/src/snapshot/mod.rs index d52bf55cdb9..9bcf26e3f49 100644 --- a/ethcore/src/snapshot/mod.rs +++ b/ethcore/src/snapshot/mod.rs @@ -28,8 +28,8 @@ use hash::{keccak, KECCAK_NULL_RLP, KECCAK_EMPTY}; use account_db::{AccountDB, AccountDBMut}; use blockchain::{BlockChain, BlockProvider}; use engines::EthEngine; -use header::Header; -use ids::BlockId; +use types::header::Header; +use types::ids::BlockId; use ethereum_types::{H256, U256}; use hashdb::HashDB; diff --git a/ethcore/src/snapshot/service.rs b/ethcore/src/snapshot/service.rs index f547faab1e0..d85f6028a5b 100644 --- a/ethcore/src/snapshot/service.rs +++ b/ethcore/src/snapshot/service.rs @@ -33,7 +33,7 @@ use engines::EthEngine; use error::{Error, ErrorKind as SnapshotErrorKind}; use snapshot::{Error as SnapshotError}; use hash::keccak; -use ids::BlockId; +use types::ids::BlockId; use io::IoChannel; diff --git a/ethcore/src/snapshot/tests/helpers.rs b/ethcore/src/snapshot/tests/helpers.rs index 1bcbdb9f483..4a629afb494 100644 --- a/ethcore/src/snapshot/tests/helpers.rs +++ b/ethcore/src/snapshot/tests/helpers.rs @@ -23,7 +23,7 @@ use std::sync::Arc; use hash::{KECCAK_NULL_RLP}; use account_db::AccountDBMut; -use basic_account::BasicAccount; +use types::basic_account::BasicAccount; use blockchain::{BlockChain, BlockChainDB}; use client::{Client, ChainInfo}; use engines::EthEngine; @@ -142,7 +142,7 @@ pub fn compare_dbs(one: &HashDB, two: &HashDB (Box, TempDir) { - use ids::BlockId; + use types::ids::BlockId; let tempdir = TempDir::new("").unwrap(); let path = tempdir.path().join("file"); diff --git a/ethcore/src/snapshot/tests/proof_of_authority.rs b/ethcore/src/snapshot/tests/proof_of_authority.rs index d8c721518bb..c6e0b20d063 100644 --- a/ethcore/src/snapshot/tests/proof_of_authority.rs +++ b/ethcore/src/snapshot/tests/proof_of_authority.rs @@ -26,7 +26,7 @@ use ethkey::Secret; use snapshot::tests::helpers as snapshot_helpers; use spec::Spec; use test_helpers::generate_dummy_client_with_spec_and_accounts; -use transaction::{Transaction, Action, SignedTransaction}; +use types::transaction::{Transaction, Action, SignedTransaction}; use tempdir::TempDir; use ethereum_types::Address; diff --git a/ethcore/src/snapshot/tests/service.rs b/ethcore/src/snapshot/tests/service.rs index fd070eab86c..2718c7e0078 100644 --- a/ethcore/src/snapshot/tests/service.rs +++ b/ethcore/src/snapshot/tests/service.rs @@ -22,7 +22,7 @@ use std::sync::Arc; use tempdir::TempDir; use blockchain::BlockProvider; use client::{Client, ClientConfig, ImportBlock, BlockInfo}; -use ids::BlockId; +use types::ids::BlockId; use snapshot::io::{PackedReader, PackedWriter, SnapshotReader, SnapshotWriter}; use snapshot::service::{Service, ServiceParams}; use snapshot::{chunk_state, chunk_secondary, ManifestData, Progress, SnapshotService, RestorationStatus}; @@ -153,7 +153,7 @@ fn guards_delete_folders() { #[test] fn keep_ancient_blocks() { - ::env_logger::init().ok(); + ::env_logger::try_init().ok(); // Test variables const NUM_BLOCKS: u64 = 500; @@ -272,7 +272,7 @@ fn keep_ancient_blocks() { #[test] fn recover_aborted_recovery() { - ::env_logger::init().ok(); + ::env_logger::try_init().ok(); const NUM_BLOCKS: u32 = 400; let gas_prices = vec![1.into(), 2.into(), 3.into(), 999.into()]; diff --git a/ethcore/src/snapshot/tests/state.rs b/ethcore/src/snapshot/tests/state.rs index 82cee2af088..b8cacfab5e4 100644 --- a/ethcore/src/snapshot/tests/state.rs +++ b/ethcore/src/snapshot/tests/state.rs @@ -20,7 +20,7 @@ use std::sync::Arc; use std::sync::atomic::AtomicBool; use hash::{KECCAK_NULL_RLP, keccak}; -use basic_account::BasicAccount; +use types::basic_account::BasicAccount; use snapshot::account; use snapshot::{chunk_state, Error as SnapshotError, Progress, StateRebuilder, SNAPSHOT_SUBPARTS}; use snapshot::io::{PackedReader, PackedWriter, SnapshotReader, SnapshotWriter}; diff --git a/ethcore/src/snapshot/watcher.rs b/ethcore/src/snapshot/watcher.rs index 0eee7133b1c..2ef0beb89bd 100644 --- a/ethcore/src/snapshot/watcher.rs +++ b/ethcore/src/snapshot/watcher.rs @@ -18,7 +18,7 @@ use parking_lot::Mutex; use client::{BlockInfo, Client, ChainNotify, NewBlocks, ClientIoMessage}; -use ids::BlockId; +use types::ids::BlockId; use io::IoChannel; use ethereum_types::H256; diff --git a/ethcore/src/spec/spec.rs b/ethcore/src/spec/spec.rs index 2b1804caa15..360e255a5a2 100644 --- a/ethcore/src/spec/spec.rs +++ b/ethcore/src/spec/spec.rs @@ -29,10 +29,12 @@ use memorydb::MemoryDB; use parking_lot::RwLock; use rlp::{Rlp, RlpStream}; use rustc_hex::{FromHex, ToHex}; +use types::BlockNumber; +use types::encoded; +use types::header::Header; use vm::{EnvInfo, CallType, ActionValue, ActionParams, ParamsType}; use builtin::Builtin; -use encoded; use engines::{ EthEngine, NullEngine, InstantSeal, InstantSealParams, BasicAuthority, AuthorityRound, DEFAULT_BLOCKHASH_CONTRACT @@ -40,7 +42,6 @@ use engines::{ use error::Error; use executive::Executive; use factory::Factories; -use header::{BlockNumber, Header}; use machine::EthereumMachine; use pod_state::PodState; use spec::Genesis; @@ -840,7 +841,7 @@ impl Spec { /// initialize genesis epoch data, using in-memory database for /// constructor. pub fn genesis_epoch_data(&self) -> Result, String> { - use transaction::{Action, Transaction}; + use types::transaction::{Action, Transaction}; use journaldb; use kvdb_memorydb; @@ -989,8 +990,9 @@ mod tests { use super::*; use state::State; use test_helpers::get_temp_state_db; - use views::BlockView; use tempdir::TempDir; + use types::view; + use types::views::BlockView; // https://github.com/paritytech/parity-ethereum/issues/1840 #[test] diff --git a/ethcore/src/state/account.rs b/ethcore/src/state/account.rs index 91254787759..6d6f39db994 100644 --- a/ethcore/src/state/account.rs +++ b/ethcore/src/state/account.rs @@ -31,7 +31,7 @@ use ethtrie::{TrieFactory, TrieDB, SecTrieDB, Result as TrieResult}; use pod_account::*; use rlp::{RlpStream, encode}; use lru_cache::LruCache; -use basic_account::BasicAccount; +use types::basic_account::BasicAccount; use std::cell::{RefCell, Cell}; diff --git a/ethcore/src/state/mod.rs b/ethcore/src/state/mod.rs index b2c52e58369..ace2e77eccf 100644 --- a/ethcore/src/state/mod.rs +++ b/ethcore/src/state/mod.rs @@ -26,7 +26,7 @@ use std::fmt; use std::sync::Arc; use hash::{KECCAK_NULL_RLP, KECCAK_EMPTY}; -use receipt::{Receipt, TransactionOutcome}; +use types::receipt::{Receipt, TransactionOutcome}; use machine::EthereumMachine as Machine; use vm::EnvInfo; use error::Error; @@ -38,7 +38,7 @@ use pod_state::{self, PodState}; use types::basic_account::BasicAccount; use executed::{Executed, ExecutionError}; use types::state_diff::StateDiff; -use transaction::SignedTransaction; +use types::transaction::SignedTransaction; use state_db::StateDB; use factory::VmFactory; @@ -1316,7 +1316,7 @@ mod tests { use machine::EthereumMachine; use vm::EnvInfo; use spec::*; - use transaction::*; + use types::transaction::*; use ethcore_logger::init_log; use trace::{FlatTrace, TraceError, trace}; use evm::CallType; diff --git a/ethcore/src/state/substate.rs b/ethcore/src/state/substate.rs index 5565c8f91ee..784c5e9eab6 100644 --- a/ethcore/src/state/substate.rs +++ b/ethcore/src/state/substate.rs @@ -17,7 +17,7 @@ //! Execution environment substate. use std::collections::HashSet; use ethereum_types::Address; -use log_entry::LogEntry; +use types::log_entry::LogEntry; use evm::{Schedule, CleanDustMode}; use super::CleanupMode; @@ -69,7 +69,7 @@ impl Substate { #[cfg(test)] mod tests { use super::Substate; - use log_entry::LogEntry; + use types::log_entry::LogEntry; #[test] fn created() { diff --git a/ethcore/src/state_db.rs b/ethcore/src/state_db.rs index d103f1081aa..3cc3dfe081f 100644 --- a/ethcore/src/state_db.rs +++ b/ethcore/src/state_db.rs @@ -26,13 +26,14 @@ use db::COL_ACCOUNT_BLOOM; use ethereum_types::{H256, Address}; use hash::keccak; use hashdb::HashDB; -use keccak_hasher::KeccakHasher; -use header::BlockNumber; use journaldb::JournalDB; +use keccak_hasher::KeccakHasher; use kvdb::{KeyValueDB, DBTransaction, DBValue}; use lru_cache::LruCache; use memory_cache::MemoryLruCache; use parking_lot::Mutex; +use types::BlockNumber; + use state::{self, Account}; /// Value used to initialize bloom bitmap size. diff --git a/ethcore/src/test_helpers.rs b/ethcore/src/test_helpers.rs index 9f00f9662ce..54e35da45be 100644 --- a/ethcore/src/test_helpers.rs +++ b/ethcore/src/test_helpers.rs @@ -19,32 +19,35 @@ use std::path::Path; use std::sync::Arc; use std::{fs, io}; -use account_provider::AccountProvider; -use ethereum_types::{H256, U256, Address}; -use block::{OpenBlock, Drain}; + use blockchain::{BlockChain, BlockChainDB, BlockChainDBHandler, Config as BlockChainConfig, ExtrasInsert}; +use blooms_db; use bytes::Bytes; -use client::{Client, ClientConfig, ChainInfo, ImportBlock, ChainNotify, ChainMessageType, PrepareOpenBlock}; +use ethereum_types::{H256, U256, Address}; use ethkey::KeyPair; use evm::Factory as EvmFactory; -use factory::Factories; use hash::keccak; -use header::Header; -use io::*; -use miner::Miner; +use io::IoChannel; +use kvdb::KeyValueDB; +use kvdb_rocksdb::{self, Database, DatabaseConfig}; use parking_lot::RwLock; use rlp::{self, RlpStream}; +use tempdir::TempDir; +use types::transaction::{Action, Transaction, SignedTransaction}; +use types::encoded; +use types::header::Header; +use types::view; +use types::views::BlockView; + +use account_provider::AccountProvider; +use block::{OpenBlock, Drain}; +use client::{Client, ClientConfig, ChainInfo, ImportBlock, ChainNotify, ChainMessageType, PrepareOpenBlock}; +use factory::Factories; +use miner::Miner; use spec::Spec; -use state_db::StateDB; use state::*; -use transaction::{Action, Transaction, SignedTransaction}; -use views::BlockView; -use blooms_db; -use kvdb::KeyValueDB; -use kvdb_rocksdb::{self, Database, DatabaseConfig}; -use tempdir::TempDir; +use state_db::StateDB; use verification::queue::kind::blocks::Unverified; -use encoded; /// Creates test block with corresponding header pub fn create_test_block(header: &Header) -> Bytes { diff --git a/ethcore/src/tests/blockchain.rs b/ethcore/src/tests/blockchain.rs new file mode 100644 index 00000000000..bf38d784275 --- /dev/null +++ b/ethcore/src/tests/blockchain.rs @@ -0,0 +1,61 @@ +// Copyright 2015-2018 Parity Technologies (UK) Ltd. +// This file is part of Parity. + +// Parity is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. + +// Parity is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. + +// You should have received a copy of the GNU General Public License +// along with Parity. If not, see . + +use blockchain::BlockProvider; + +use test_helpers::{ + generate_dummy_blockchain, + generate_dummy_blockchain_with_extra, + generate_dummy_empty_blockchain, +}; + +#[test] +fn can_contain_arbitrary_block_sequence() { + let bc = generate_dummy_blockchain(50); + assert_eq!(bc.best_block_number(), 49); +} + +#[test] +fn can_collect_garbage() { + let bc = generate_dummy_blockchain(3000); + + assert_eq!(bc.best_block_number(), 2999); + let best_hash = bc.best_block_hash(); + let mut block_header = bc.block_header_data(&best_hash); + + while !block_header.is_none() { + block_header = bc.block_header_data(&block_header.unwrap().parent_hash()); + } + assert!(bc.cache_size().blocks > 1024 * 1024); + + for _ in 0..2 { + bc.collect_garbage(); + } + assert!(bc.cache_size().blocks < 1024 * 1024); +} + +#[test] +fn can_contain_arbitrary_block_sequence_with_extra() { + let bc = generate_dummy_blockchain_with_extra(25); + assert_eq!(bc.best_block_number(), 24); +} + +#[test] +fn can_contain_only_genesis_block() { + let bc = generate_dummy_empty_blockchain(); + assert_eq!(bc.best_block_number(), 0); +} + diff --git a/ethcore/src/tests/client.rs b/ethcore/src/tests/client.rs index 8f598a6c207..b8fad28c1c0 100644 --- a/ethcore/src/tests/client.rs +++ b/ethcore/src/tests/client.rs @@ -16,27 +16,29 @@ use std::str::FromStr; use std::sync::Arc; + +use ethereum_types::{U256, Address}; +use ethkey::KeyPair; use hash::keccak; use io::IoChannel; +use tempdir::TempDir; +use types::transaction::{PendingTransaction, Transaction, Action, Condition}; +use types::filter::Filter; +use types::view; +use types::views::BlockView; + +use block::IsBlock; use client::{BlockChainClient, Client, ClientConfig, BlockId, ChainInfo, BlockInfo, PrepareOpenBlock, ImportSealedBlock, ImportBlock}; -use state::{self, State, CleanupMode}; -use executive::{Executive, TransactOptions}; use ethereum; -use block::IsBlock; +use executive::{Executive, TransactOptions}; +use miner::{Miner, PendingOrdering, MinerService}; +use spec::Spec; +use state::{self, State, CleanupMode}; use test_helpers::{ + self, generate_dummy_client, push_blocks_to_client, get_test_client_with_blocks, get_good_dummy_block_seq, generate_dummy_client_with_data, get_good_dummy_block, get_bad_state_dummy_block }; -use types::filter::Filter; -use ethereum_types::{U256, Address}; -use miner::{Miner, PendingOrdering}; -use spec::Spec; -use views::BlockView; -use ethkey::KeyPair; -use transaction::{PendingTransaction, Transaction, Action, Condition}; -use miner::MinerService; -use tempdir::TempDir; -use test_helpers; use verification::queue::kind::blocks::Unverified; #[test] diff --git a/ethcore/src/tests/evm.rs b/ethcore/src/tests/evm.rs index 25ca8afd09e..3da872223e8 100644 --- a/ethcore/src/tests/evm.rs +++ b/ethcore/src/tests/evm.rs @@ -24,7 +24,7 @@ use executive::Executive; use state::Substate; use test_helpers::get_temp_state_with_factory; use trace::{NoopVMTracer, NoopTracer}; -use transaction::SYSTEM_ADDRESS; +use types::transaction::SYSTEM_ADDRESS; use rustc_hex::FromHex; diff --git a/ethcore/src/tests/mod.rs b/ethcore/src/tests/mod.rs index d1d5b6ef7fe..900336c3db3 100644 --- a/ethcore/src/tests/mod.rs +++ b/ethcore/src/tests/mod.rs @@ -15,5 +15,6 @@ // along with Parity. If not, see . mod client; +mod blockchain; mod evm; mod trace; diff --git a/ethcore/src/tests/trace.rs b/ethcore/src/tests/trace.rs index 24ef3780043..3bfb5071f6b 100644 --- a/ethcore/src/tests/trace.rs +++ b/ethcore/src/tests/trace.rs @@ -26,14 +26,15 @@ use client::*; use test_helpers::get_temp_state_db; use client::{BlockChainClient, Client, ClientConfig}; use std::sync::Arc; -use header::Header; use miner::Miner; -use transaction::{Action, Transaction}; -use views::BlockView; +use types::transaction::{Action, Transaction}; use trace::{RewardType, LocalizedTrace}; use trace::trace::Action::Reward; use test_helpers; use verification::queue::kind::blocks::Unverified; +use types::header::Header; +use types::view; +use types::views::BlockView; #[test] fn can_trace_block_and_uncle_reward() { diff --git a/ethcore/src/trace/db.rs b/ethcore/src/trace/db.rs index 12e62826951..e6d026eb754 100644 --- a/ethcore/src/trace/db.rs +++ b/ethcore/src/trace/db.rs @@ -17,16 +17,19 @@ //! Trace database. use std::collections::HashMap; use std::sync::Arc; -use blockchain::{BlockChainDB}; -use heapsize::HeapSizeOf; + + +use blockchain::BlockChainDB; +use db::cache_manager::CacheManager; +use db::{self, Key, Writable, Readable, CacheUpdatePolicy}; use ethereum_types::{H256, H264}; +use heapsize::HeapSizeOf; use kvdb::{DBTransaction}; use parking_lot::RwLock; -use header::BlockNumber; +use types::BlockNumber; + use trace::{LocalizedTrace, Config, Filter, Database as TraceDatabase, ImportRequest, DatabaseExtras}; -use db::{self, Key, Writable, Readable, CacheUpdatePolicy}; -use super::flat::{FlatTrace, FlatBlockTraces, FlatTransactionTraces}; -use cache_manager::CacheManager; +use trace::flat::{FlatTrace, FlatBlockTraces, FlatTransactionTraces}; const TRACE_DB_VER: &'static [u8] = b"1.0"; @@ -333,7 +336,7 @@ mod tests { use std::sync::Arc; use ethereum_types::{H256, U256, Address}; use kvdb::{DBTransaction}; - use header::BlockNumber; + use types::BlockNumber; use trace::{Config, TraceDB, Database as TraceDatabase, DatabaseExtras, ImportRequest}; use trace::{Filter, LocalizedTrace, AddressesFilter, TraceError}; use trace::trace::{Call, Action, Res}; diff --git a/ethcore/src/trace/import.rs b/ethcore/src/trace/import.rs index b720b0b86a9..af217076070 100644 --- a/ethcore/src/trace/import.rs +++ b/ethcore/src/trace/import.rs @@ -16,7 +16,8 @@ //! Traces import request. use ethereum_types::H256; -use header::BlockNumber; +use types::BlockNumber; + use trace::FlatBlockTraces; /// Traces import request. diff --git a/ethcore/src/trace/mod.rs b/ethcore/src/trace/mod.rs index 87e14f4dfeb..449ce13424d 100644 --- a/ethcore/src/trace/mod.rs +++ b/ethcore/src/trace/mod.rs @@ -39,7 +39,7 @@ pub use self::types::filter::{Filter, AddressesFilter}; use ethereum_types::{H256, U256, Address}; use kvdb::DBTransaction; use vm::{Error as VmError, ActionParams}; -use header::BlockNumber; +use types::BlockNumber; /// This trait is used by executive to build traces. pub trait Tracer: Send { diff --git a/ethcore/src/trace/types/localized.rs b/ethcore/src/trace/types/localized.rs index 816eccc9379..41eb21dc2dd 100644 --- a/ethcore/src/trace/types/localized.rs +++ b/ethcore/src/trace/types/localized.rs @@ -18,7 +18,7 @@ use ethereum_types::H256; use super::trace::{Action, Res}; -use header::BlockNumber; +use types::BlockNumber; /// Localized trace. #[derive(Debug, PartialEq, Clone)] diff --git a/ethcore/src/transaction_ext.rs b/ethcore/src/transaction_ext.rs new file mode 100644 index 00000000000..6293148c634 --- /dev/null +++ b/ethcore/src/transaction_ext.rs @@ -0,0 +1,44 @@ +// Copyright 2015-2018 Parity Technologies (UK) Ltd. +// This file is part of Parity. + +// Parity is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. + +// Parity is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. + +// You should have received a copy of the GNU General Public License +// along with Parity. If not, see . + +//! Ethereum transaction + +use evm::Schedule; +use types::transaction::{self, Action}; + +/// Extends transaction with gas verification method. +pub trait Transaction { + /// Get the transaction cost in gas for this transaction. + fn gas_required(&self, schedule: &Schedule) -> u64; +} + +impl Transaction for transaction::Transaction { + fn gas_required(&self, schedule: &Schedule) -> u64 { + gas_required_for(match self.action { + Action::Create => true, + Action::Call(_) => false + }, &self.data, schedule) + } +} + +/// Get the transaction cost in gas for the given params. +fn gas_required_for(is_create: bool, data: &[u8], schedule: &Schedule) -> u64 { + data.iter().fold( + (if is_create {schedule.tx_create_gas} else {schedule.tx_gas}) as u64, + |g, b| g + (match *b { 0 => schedule.tx_data_zero_gas, _ => schedule.tx_data_non_zero_gas }) as u64 + ) +} + diff --git a/ethcore/src/tx_filter.rs b/ethcore/src/tx_filter.rs index 4a80c259b60..bf1a74a777c 100644 --- a/ethcore/src/tx_filter.rs +++ b/ethcore/src/tx_filter.rs @@ -23,7 +23,7 @@ use ethabi::FunctionOutputDecoder; use client::{BlockInfo, CallContract, BlockId}; use parking_lot::Mutex; use spec::CommonParams; -use transaction::{Action, SignedTransaction}; +use types::transaction::{Action, SignedTransaction}; use types::BlockNumber; use hash::KECCAK_EMPTY; @@ -149,7 +149,7 @@ mod test { use io::IoChannel; use ethkey::{Secret, KeyPair}; use super::TransactionFilter; - use transaction::{Transaction, Action}; + use types::transaction::{Transaction, Action}; use tempdir::TempDir; use test_helpers; diff --git a/ethcore/src/verification/canon_verifier.rs b/ethcore/src/verification/canon_verifier.rs index 0ace8987e0b..f0756ae41ad 100644 --- a/ethcore/src/verification/canon_verifier.rs +++ b/ethcore/src/verification/canon_verifier.rs @@ -19,7 +19,7 @@ use client::{BlockInfo, CallContract}; use engines::EthEngine; use error::Error; -use header::Header; +use types::header::Header; use super::Verifier; use super::verification; diff --git a/ethcore/src/verification/noop_verifier.rs b/ethcore/src/verification/noop_verifier.rs index d04eec9b113..53c61f7ef15 100644 --- a/ethcore/src/verification/noop_verifier.rs +++ b/ethcore/src/verification/noop_verifier.rs @@ -19,7 +19,7 @@ use client::{BlockInfo, CallContract}; use engines::EthEngine; use error::Error; -use header::Header; +use types::header::Header; use super::{verification, Verifier}; /// A no-op verifier -- this will verify everything it's given immediately. diff --git a/ethcore/src/verification/queue/kind.rs b/ethcore/src/verification/queue/kind.rs index 5333cc7e311..625cd44f09e 100644 --- a/ethcore/src/verification/queue/kind.rs +++ b/ethcore/src/verification/queue/kind.rs @@ -70,9 +70,9 @@ pub mod blocks { use engines::EthEngine; use error::{Error, ErrorKind, BlockError}; - use header::Header; + use types::header::Header; use verification::{PreverifiedBlock, verify_block_basic, verify_block_unordered}; - use transaction::UnverifiedTransaction; + use types::transaction::UnverifiedTransaction; use heapsize::HeapSizeOf; use ethereum_types::{H256, U256}; @@ -190,7 +190,7 @@ pub mod headers { use engines::EthEngine; use error::Error; - use header::Header; + use types::header::Header; use verification::verify_header_params; use ethereum_types::{H256, U256}; diff --git a/ethcore/src/verification/queue/mod.rs b/ethcore/src/verification/queue/mod.rs index f7de3eaa127..9541ecc1ad1 100644 --- a/ethcore/src/verification/queue/mod.rs +++ b/ethcore/src/verification/queue/mod.rs @@ -117,9 +117,9 @@ pub enum Status { Unknown, } -impl Into<::block_status::BlockStatus> for Status { - fn into(self) -> ::block_status::BlockStatus { - use ::block_status::BlockStatus; +impl Into<::types::block_status::BlockStatus> for Status { + fn into(self) -> ::types::block_status::BlockStatus { + use ::types::block_status::BlockStatus; match self { Status::Queued => BlockStatus::Queued, Status::Bad => BlockStatus::Bad, @@ -744,8 +744,9 @@ mod tests { use super::kind::blocks::Unverified; use test_helpers::{get_good_dummy_block_seq, get_good_dummy_block}; use error::*; - use views::BlockView; use bytes::Bytes; + use types::view; + use types::views::BlockView; // create a test block queue. // auto_scaling enables verifier adjustment. diff --git a/ethcore/src/verification/verification.rs b/ethcore/src/verification/verification.rs index 3bfe30a4495..6382a7a7bfc 100644 --- a/ethcore/src/verification/verification.rs +++ b/ethcore/src/verification/verification.rs @@ -35,8 +35,8 @@ use blockchain::*; use client::{BlockInfo, CallContract}; use engines::EthEngine; use error::{BlockError, Error}; -use header::{BlockNumber, Header}; -use transaction::SignedTransaction; +use types::{BlockNumber, header::Header}; +use types::transaction::SignedTransaction; use verification::queue::kind::blocks::Unverified; /// Preprocessed block data gathered in `verify_block_unordered` call @@ -378,7 +378,7 @@ mod tests { use std::time::{SystemTime, UNIX_EPOCH}; use ethereum_types::{H256, BloomRef, U256}; use blockchain::{BlockDetails, TransactionAddress, BlockReceipts}; - use encoded; + use types::encoded; use hash::keccak; use engines::EthEngine; use error::BlockError::*; @@ -386,7 +386,7 @@ mod tests { use ethkey::{Random, Generator}; use spec::{CommonParams, Spec}; use test_helpers::{create_test_block_with_data, create_test_block}; - use transaction::{SignedTransaction, Transaction, UnverifiedTransaction, Action}; + use types::transaction::{SignedTransaction, Transaction, UnverifiedTransaction, Action}; use types::log_entry::{LogEntry, LocalizedLogEntry}; use rlp; use triehash::ordered_trie_root; @@ -638,14 +638,18 @@ mod tests { good_uncle1.set_parent_hash(parent8.hash()); good_uncle1.set_difficulty(parent8.difficulty().clone() + diff_inc); good_uncle1.set_timestamp(parent8.timestamp() + 10); - good_uncle1.extra_data_mut().push(1u8); + let mut ex = good_uncle1.extra_data().to_vec(); + ex.push(1u8); + good_uncle1.set_extra_data(ex); let mut good_uncle2 = good.clone(); good_uncle2.set_number(8); good_uncle2.set_parent_hash(parent7.hash()); good_uncle2.set_difficulty(parent7.difficulty().clone() + diff_inc); good_uncle2.set_timestamp(parent7.timestamp() + 10); - good_uncle2.extra_data_mut().push(2u8); + let mut ex = good_uncle2.extra_data().to_vec(); + ex.push(2u8); + good_uncle2.set_extra_data(ex); let good_uncles = vec![ good_uncle1.clone(), good_uncle2.clone() ]; let mut uncles_rlp = RlpStream::new(); @@ -702,12 +706,16 @@ mod tests { TooMuchGasUsed(OutOfBounds { max: Some(header.gas_limit().clone()), min: None, found: header.gas_used().clone() })); header = good.clone(); - header.extra_data_mut().resize(engine.maximum_extra_data_size() + 1, 0u8); + let mut ex = header.extra_data().to_vec(); + ex.resize(engine.maximum_extra_data_size() + 1, 0u8); + header.set_extra_data(ex); check_fail(basic_test(&create_test_block(&header), engine), ExtraDataOutOfBounds(OutOfBounds { max: Some(engine.maximum_extra_data_size()), min: None, found: header.extra_data().len() })); header = good.clone(); - header.extra_data_mut().resize(engine.maximum_extra_data_size() + 1, 0u8); + let mut ex = header.extra_data().to_vec(); + ex.resize(engine.maximum_extra_data_size() + 1, 0u8); + header.set_extra_data(ex); check_fail(basic_test(&create_test_block(&header), engine), ExtraDataOutOfBounds(OutOfBounds { max: Some(engine.maximum_extra_data_size()), min: None, found: header.extra_data().len() })); @@ -778,7 +786,7 @@ mod tests { #[test] fn dust_protection() { use ethkey::{Generator, Random}; - use transaction::{Transaction, Action}; + use types::transaction::{Transaction, Action}; use machine::EthereumMachine; use engines::NullEngine; diff --git a/ethcore/src/verification/verifier.rs b/ethcore/src/verification/verifier.rs index 188254b4317..add4d33f6aa 100644 --- a/ethcore/src/verification/verifier.rs +++ b/ethcore/src/verification/verifier.rs @@ -19,7 +19,7 @@ use client::{BlockInfo, CallContract}; use engines::EthEngine; use error::Error; -use header::Header; +use types::header::Header; use super::verification; /// Should be used to verify blocks. diff --git a/ethcore/sync/Cargo.toml b/ethcore/sync/Cargo.toml index f185ef1ac21..7d6a6c27e19 100644 --- a/ethcore/sync/Cargo.toml +++ b/ethcore/sync/Cargo.toml @@ -9,28 +9,28 @@ authors = ["Parity Technologies "] [dependencies] common-types = { path = "../types" } -parity-bytes = "0.1" -ethcore-network = { path = "../../util/network" } -ethcore-network-devp2p = { path = "../../util/network-devp2p" } +env_logger = "0.5" +ethcore = { path = ".." } ethcore-io = { path = "../../util/io" } ethcore-light = { path = "../light" } -ethcore-transaction = { path = "../transaction" } -ethcore = { path = ".." } +ethcore-network = { path = "../../util/network" } +ethcore-network-devp2p = { path = "../../util/network-devp2p" } ethereum-types = "0.4" -hashdb = "0.3.0" +ethstore = { path = "../../accounts/ethstore" } fastmap = { path = "../../util/fastmap" } -rlp = { version = "0.3.0", features = ["ethereum"] } +hashdb = "0.3.0" +heapsize = "0.4" keccak-hash = "0.1" keccak-hasher = { path = "../../util/keccak-hasher" } -triehash-ethereum = {version = "0.2", path = "../../util/triehash-ethereum" } kvdb = "0.1" -macros = { path = "../../util/macros" } log = "0.4" -env_logger = "0.5" -rand = "0.4" -heapsize = "0.4" +macros = { path = "../../util/macros" } +parity-bytes = "0.1" parking_lot = "0.7" +rand = "0.4" +rlp = { version = "0.3.0", features = ["ethereum"] } trace-time = "0.1" +triehash-ethereum = {version = "0.2", path = "../../util/triehash-ethereum" } [dev-dependencies] ethcore-io = { path = "../../util/io", features = ["mio"] } diff --git a/ethcore/sync/src/api.rs b/ethcore/sync/src/api.rs index 7d7a1afc701..108d8bf0ff5 100644 --- a/ethcore/sync/src/api.rs +++ b/ethcore/sync/src/api.rs @@ -28,10 +28,10 @@ use network::{NetworkProtocolHandler, NetworkContext, PeerId, ProtocolId, use types::pruning_info::PruningInfo; use ethereum_types::{H256, H512, U256}; use io::{TimerToken}; -use ethcore::ethstore::ethkey::Secret; +use ethstore::ethkey::Secret; use ethcore::client::{BlockChainClient, ChainNotify, NewBlocks, ChainMessageType}; use ethcore::snapshot::SnapshotService; -use ethcore::header::BlockNumber; +use types::BlockNumber; use sync_io::NetSyncIo; use chain::{ChainSyncApi, SyncStatus as EthSyncStatus}; use std::net::{SocketAddr, AddrParseError}; @@ -48,7 +48,7 @@ use light::net::{ }; use network::IpFilter; use private_tx::PrivateTxHandler; -use transaction::UnverifiedTransaction; +use types::transaction::UnverifiedTransaction; /// Parity sync protocol pub const WARP_SYNC_PROTOCOL_ID: ProtocolId = *b"par"; @@ -594,7 +594,7 @@ impl ChainNotify for EthSync { struct TxRelay(Arc); impl LightHandler for TxRelay { - fn on_transactions(&self, ctx: &EventContext, relay: &[::transaction::UnverifiedTransaction]) { + fn on_transactions(&self, ctx: &EventContext, relay: &[::types::transaction::UnverifiedTransaction]) { trace!(target: "pip", "Relaying {} transactions from peer {}", relay.len(), ctx.peer()); self.0.queue_transactions(relay.iter().map(|tx| ::rlp::encode(tx)).collect(), ctx.peer()) } diff --git a/ethcore/sync/src/block_sync.rs b/ethcore/sync/src/block_sync.rs index 149e312245d..ed01643e26a 100644 --- a/ethcore/sync/src/block_sync.rs +++ b/ethcore/sync/src/block_sync.rs @@ -23,7 +23,7 @@ use std::cmp; use heapsize::HeapSizeOf; use ethereum_types::H256; use rlp::{self, Rlp}; -use ethcore::header::BlockNumber; +use types::BlockNumber; use ethcore::client::{BlockStatus, BlockId}; use ethcore::error::{ImportErrorKind, QueueErrorKind, BlockError, Error as EthcoreError, ErrorKind as EthcoreErrorKind}; use sync_io::SyncIo; @@ -621,7 +621,6 @@ fn all_expected(values: &[A], expected_values: &[B], is_expected: F) -> mod tests { use super::*; use ethcore::client::TestBlockChainClient; - use ethcore::header::Header as BlockHeader; use ethcore::spec::Spec; use ethkey::{Generator,Random}; use hash::keccak; @@ -629,8 +628,9 @@ mod tests { use rlp::{encode_list,RlpStream}; use tests::helpers::TestIo; use tests::snapshot::TestSnapshotService; - use transaction::{Transaction,SignedTransaction}; + use types::transaction::{Transaction,SignedTransaction}; use triehash_ethereum::ordered_trie_root; + use types::header::Header as BlockHeader; fn dummy_header(number: u64, parent_hash: H256) -> BlockHeader { let mut header = BlockHeader::new(); diff --git a/ethcore/sync/src/blocks.rs b/ethcore/sync/src/blocks.rs index 5f0f6a0c23d..5e378eff100 100644 --- a/ethcore/sync/src/blocks.rs +++ b/ethcore/sync/src/blocks.rs @@ -22,9 +22,9 @@ use triehash_ethereum::ordered_trie_root; use bytes::Bytes; use rlp::{Rlp, RlpStream, DecoderError}; use network; -use ethcore::header::Header as BlockHeader; use ethcore::verification::queue::kind::blocks::Unverified; -use transaction::UnverifiedTransaction; +use types::transaction::UnverifiedTransaction; +use types::header::Header as BlockHeader; known_heap_size!(0, HeaderId); @@ -571,7 +571,7 @@ impl BlockCollection { mod test { use super::{BlockCollection, SyncHeader}; use ethcore::client::{TestBlockChainClient, EachBlockWith, BlockId, BlockChainClient}; - use ethcore::header::BlockNumber; + use types::BlockNumber; use ethcore::verification::queue::kind::blocks::Unverified; use rlp::*; diff --git a/ethcore/sync/src/chain/handler.rs b/ethcore/sync/src/chain/handler.rs index e1518d4f522..6a3a50bfd21 100644 --- a/ethcore/sync/src/chain/handler.rs +++ b/ethcore/sync/src/chain/handler.rs @@ -17,9 +17,7 @@ use api::WARP_SYNC_PROTOCOL_ID; use block_sync::{BlockDownloaderImportError as DownloaderImportError, DownloadAction}; use bytes::Bytes; -use ethcore::client::{BlockId, BlockStatus}; use ethcore::error::{Error as EthcoreError, ErrorKind as EthcoreErrorKind, ImportErrorKind, BlockError}; -use ethcore::header::BlockNumber; use ethcore::snapshot::{ManifestData, RestorationStatus}; use ethcore::verification::queue::kind::blocks::Unverified; use ethereum_types::{H256, U256}; @@ -27,10 +25,12 @@ use hash::keccak; use network::PeerId; use rlp::Rlp; use snapshot::ChunkType; -use std::cmp; -use std::mem; use std::time::Instant; +use std::{mem, cmp}; use sync_io::SyncIo; +use types::BlockNumber; +use types::block_status::BlockStatus; +use types::ids::BlockId; use super::{ BlockSet, diff --git a/ethcore/sync/src/chain/mod.rs b/ethcore/sync/src/chain/mod.rs index a01b25528f0..ff976f6680d 100644 --- a/ethcore/sync/src/chain/mod.rs +++ b/ethcore/sync/src/chain/mod.rs @@ -104,7 +104,6 @@ use parking_lot::{Mutex, RwLock, RwLockWriteGuard}; use bytes::Bytes; use rlp::{RlpStream, DecoderError}; use network::{self, PeerId, PacketId}; -use ethcore::header::{BlockNumber}; use ethcore::client::{BlockChainClient, BlockStatus, BlockId, BlockChainInfo, BlockQueueInfo}; use ethcore::snapshot::{RestorationStatus}; use sync_io::SyncIo; @@ -115,7 +114,8 @@ use snapshot::{Snapshot}; use api::{EthProtocolInfo as PeerInfoDigest, WARP_SYNC_PROTOCOL_ID, PriorityTask}; use private_tx::PrivateTxHandler; use transactions_stats::{TransactionsStats, Stats as TransactionStats}; -use transaction::UnverifiedTransaction; +use types::transaction::UnverifiedTransaction; +use types::BlockNumber; use self::handler::SyncHandler; use self::propagator::SyncPropagator; @@ -1339,9 +1339,9 @@ pub mod tests { use super::*; use ::SyncConfig; use super::{PeerInfo, PeerAsking}; - use ethcore::header::*; use ethcore::client::{BlockChainClient, EachBlockWith, TestBlockChainClient, ChainInfo, BlockInfo}; use ethcore::miner::{MinerService, PendingOrdering}; + use types::header::Header; use private_tx::NoopPrivateTxHandler; pub fn get_dummy_block(order: u32, parent_hash: H256) -> Bytes { diff --git a/ethcore/sync/src/chain/propagator.rs b/ethcore/sync/src/chain/propagator.rs index 89918411164..de57ede0989 100644 --- a/ethcore/sync/src/chain/propagator.rs +++ b/ethcore/sync/src/chain/propagator.rs @@ -14,18 +14,19 @@ // You should have received a copy of the GNU General Public License // along with Parity. If not, see . +use std::cmp; +use std::collections::HashSet; + use bytes::Bytes; use ethereum_types::H256; -use ethcore::client::BlockChainInfo; -use ethcore::header::BlockNumber; use fastmap::H256FastSet; use network::{PeerId, PacketId}; use rand::Rng; use rlp::{Encodable, RlpStream}; use sync_io::SyncIo; -use std::cmp; -use std::collections::HashSet; -use transaction::SignedTransaction; +use types::transaction::SignedTransaction; +use types::BlockNumber; +use types::blockchain_info::BlockChainInfo; use super::{ random, diff --git a/ethcore/sync/src/chain/requester.rs b/ethcore/sync/src/chain/requester.rs index a85874d2927..c05c4330f7b 100644 --- a/ethcore/sync/src/chain/requester.rs +++ b/ethcore/sync/src/chain/requester.rs @@ -17,12 +17,12 @@ use api::WARP_SYNC_PROTOCOL_ID; use block_sync::BlockRequest; use bytes::Bytes; -use ethcore::header::BlockNumber; use ethereum_types::H256; use network::{PeerId, PacketId}; use rlp::RlpStream; use std::time::Instant; use sync_io::SyncIo; +use types::BlockNumber; use super::{ BlockSet, diff --git a/ethcore/sync/src/chain/supplier.rs b/ethcore/sync/src/chain/supplier.rs index eaee584cad0..066a586e12a 100644 --- a/ethcore/sync/src/chain/supplier.rs +++ b/ethcore/sync/src/chain/supplier.rs @@ -15,13 +15,13 @@ // along with Parity. If not, see . use bytes::Bytes; -use ethcore::client::BlockId; -use ethcore::header::BlockNumber; use ethereum_types::H256; use network::{self, PeerId}; use parking_lot::RwLock; use rlp::{Rlp, RlpStream}; use std::cmp; +use types::BlockNumber; +use types::ids::BlockId; use sync_io::SyncIo; diff --git a/ethcore/sync/src/lib.rs b/ethcore/sync/src/lib.rs index 294ba0cd781..2aa4c391bae 100644 --- a/ethcore/sync/src/lib.rs +++ b/ethcore/sync/src/lib.rs @@ -22,19 +22,19 @@ //! extern crate common_types as types; +extern crate env_logger; +extern crate ethcore; +extern crate ethcore_io as io; extern crate ethcore_network as network; extern crate ethcore_network_devp2p as devp2p; -extern crate parity_bytes as bytes; -extern crate ethcore_io as io; -extern crate ethcore_transaction as transaction; -extern crate ethcore; extern crate ethereum_types; -extern crate env_logger; +extern crate ethstore; extern crate fastmap; -extern crate rand; +extern crate keccak_hash as hash; +extern crate parity_bytes as bytes; extern crate parking_lot; +extern crate rand; extern crate rlp; -extern crate keccak_hash as hash; extern crate triehash_ethereum; extern crate ethcore_light as light; diff --git a/ethcore/sync/src/light_sync/mod.rs b/ethcore/sync/src/light_sync/mod.rs index cda250f12ea..478e6a09df9 100644 --- a/ethcore/sync/src/light_sync/mod.rs +++ b/ethcore/sync/src/light_sync/mod.rs @@ -38,7 +38,7 @@ use std::ops::Deref; use std::sync::Arc; use std::time::{Instant, Duration}; -use ethcore::encoded; +use types::encoded; use light::client::{AsLightClient, LightChainClient}; use light::net::{ PeerStatus, Announcement, Handler, BasicContext, diff --git a/ethcore/sync/src/light_sync/response.rs b/ethcore/sync/src/light_sync/response.rs index c3175d6e9d0..1e312aa204b 100644 --- a/ethcore/sync/src/light_sync/response.rs +++ b/ethcore/sync/src/light_sync/response.rs @@ -16,7 +16,7 @@ //! Helpers for decoding and verifying responses for headers. -use ethcore::{encoded, header::Header}; +use types::{encoded, header::Header}; use ethereum_types::H256; use light::request::{HashOrNumber, CompleteHeadersRequest as HeadersRequest}; use rlp::DecoderError; @@ -153,8 +153,8 @@ impl Constraint for Max { #[cfg(test)] mod tests { - use ethcore::encoded; - use ethcore::header::Header; + use types::encoded; + use types::header::Header; use light::request::CompleteHeadersRequest as HeadersRequest; use super::*; diff --git a/ethcore/sync/src/light_sync/sync_round.rs b/ethcore/sync/src/light_sync/sync_round.rs index 71c4cdb5bdd..cb939ad81ac 100644 --- a/ethcore/sync/src/light_sync/sync_round.rs +++ b/ethcore/sync/src/light_sync/sync_round.rs @@ -20,8 +20,8 @@ use std::cmp::Ordering; use std::collections::{BinaryHeap, HashMap, HashSet, VecDeque}; use std::fmt; -use ethcore::encoded; -use ethcore::header::Header; +use types::encoded; +use types::header::Header; use light::net::ReqId; use light::request::CompleteHeadersRequest as HeadersRequest; diff --git a/ethcore/sync/src/sync_io.rs b/ethcore/sync/src/sync_io.rs index a5e9f7b2f44..4516394aa4f 100644 --- a/ethcore/sync/src/sync_io.rs +++ b/ethcore/sync/src/sync_io.rs @@ -18,7 +18,7 @@ use std::collections::HashMap; use network::{NetworkContext, PeerId, PacketId, Error, SessionInfo, ProtocolId}; use bytes::Bytes; use ethcore::client::BlockChainClient; -use ethcore::header::BlockNumber; +use types::BlockNumber; use ethcore::snapshot::SnapshotService; use parking_lot::RwLock; diff --git a/ethcore/sync/src/tests/consensus.rs b/ethcore/sync/src/tests/consensus.rs index 4a6871d16b3..abfba559bcb 100644 --- a/ethcore/sync/src/tests/consensus.rs +++ b/ethcore/sync/src/tests/consensus.rs @@ -23,7 +23,7 @@ use ethcore::spec::Spec; use ethcore::miner::MinerService; use ethcore::account_provider::AccountProvider; use ethkey::{KeyPair, Secret}; -use transaction::{Action, PendingTransaction, Transaction}; +use types::transaction::{Action, PendingTransaction, Transaction}; use super::helpers::*; use SyncConfig; diff --git a/ethcore/sync/src/tests/helpers.rs b/ethcore/sync/src/tests/helpers.rs index cc4a8ba08d4..915a3a26aea 100644 --- a/ethcore/sync/src/tests/helpers.rs +++ b/ethcore/sync/src/tests/helpers.rs @@ -23,7 +23,6 @@ use network::{self, PeerId, ProtocolId, PacketId, SessionInfo}; use tests::snapshot::*; use ethcore::client::{TestBlockChainClient, BlockChainClient, Client as EthcoreClient, ClientConfig, ChainNotify, NewBlocks, ChainMessageType, ClientIoMessage}; -use ethcore::header::BlockNumber; use ethcore::snapshot::SnapshotService; use ethcore::spec::Spec; use ethcore::account_provider::AccountProvider; @@ -35,6 +34,7 @@ use api::WARP_SYNC_PROTOCOL_ID; use chain::{ChainSync, ETH_PROTOCOL_VERSION_63, PAR_PROTOCOL_VERSION_3, PRIVATE_TRANSACTION_PACKET, SIGNED_PRIVATE_TRANSACTION_PACKET, SyncSupplier}; use SyncConfig; use private_tx::SimplePrivateTxHandler; +use types::BlockNumber; pub trait FlushingBlockChainClient: BlockChainClient { fn flush(&self) {} diff --git a/ethcore/sync/src/tests/private.rs b/ethcore/sync/src/tests/private.rs index 9b39aed76d7..0a390079b43 100644 --- a/ethcore/sync/src/tests/private.rs +++ b/ethcore/sync/src/tests/private.rs @@ -21,7 +21,7 @@ use ethcore::client::{BlockChainClient, BlockId, ClientIoMessage}; use ethcore::spec::Spec; use ethcore::miner::MinerService; use ethcore::CreateContractAddress; -use transaction::{Transaction, Action}; +use types::transaction::{Transaction, Action}; use ethcore::executive::{contract_address}; use ethcore::test_helpers::{push_block_with_transactions}; use ethcore_private_tx::{Provider, ProviderConfig, NoopEncryptor, Importer, SignedPrivateTransaction}; diff --git a/ethcore/sync/src/tests/snapshot.rs b/ethcore/sync/src/tests/snapshot.rs index 2316745c1bc..bada7c8cd20 100644 --- a/ethcore/sync/src/tests/snapshot.rs +++ b/ethcore/sync/src/tests/snapshot.rs @@ -21,8 +21,8 @@ use ethereum_types::H256; use parking_lot::Mutex; use bytes::Bytes; use ethcore::snapshot::{SnapshotService, ManifestData, RestorationStatus}; -use ethcore::header::BlockNumber; use ethcore::client::EachBlockWith; +use types::BlockNumber; use super::helpers::*; use {SyncConfig, WarpSync}; diff --git a/ethcore/sync/src/transactions_stats.rs b/ethcore/sync/src/transactions_stats.rs index 7d5e2ca4a86..2f0aa858ac8 100644 --- a/ethcore/sync/src/transactions_stats.rs +++ b/ethcore/sync/src/transactions_stats.rs @@ -19,9 +19,9 @@ use std::hash::BuildHasher; use std::collections::{HashSet, HashMap}; use ethereum_types::{H256, H512}; use fastmap::H256FastMap; +use types::BlockNumber; type NodeId = H512; -type BlockNumber = u64; #[derive(Debug, PartialEq, Clone)] pub struct Stats { diff --git a/ethcore/transaction/Cargo.toml b/ethcore/transaction/Cargo.toml deleted file mode 100644 index 5e5caef687c..00000000000 --- a/ethcore/transaction/Cargo.toml +++ /dev/null @@ -1,21 +0,0 @@ -[package] -name = "ethcore-transaction" -description = "Transaction type" -version = "0.1.0" -authors = ["Parity Technologies "] - -[dependencies] -ethjson = { path = "../../json" } -ethkey = { path = "../../accounts/ethkey" } -evm = { path = "../evm" } -heapsize = "0.4" -keccak-hash = "0.1" -rlp = { version = "0.3.0", features = ["ethereum"] } -unexpected = { path = "../../util/unexpected" } -ethereum-types = "0.4" - -[dev-dependencies] -rustc-hex= "1.0" - -[features] -json-tests = [] diff --git a/ethcore/types/Cargo.toml b/ethcore/types/Cargo.toml index 2bedb093de4..855fd717287 100644 --- a/ethcore/types/Cargo.toml +++ b/ethcore/types/Cargo.toml @@ -5,13 +5,16 @@ version = "0.1.0" authors = ["Parity Technologies "] [dependencies] -rlp = { version = "0.3.0", features = ["ethereum"] } -rlp_derive = { path = "../../util/rlp-derive" } -parity-bytes = "0.1" ethereum-types = "0.4" ethjson = { path = "../../json" } -keccak-hash = "0.1" +ethkey = { path = "../../accounts/ethkey" } heapsize = "0.4" +keccak-hash = "0.1" +parity-bytes = "0.1" +parity-machine = { path = "../../machine" } +rlp = { version = "0.3.0", features = ["ethereum"] } +rlp_derive = { path = "../../util/rlp-derive" } +unexpected = { path = "../../util/unexpected" } [dev-dependencies] rustc-hex= "1.0" diff --git a/ethcore/types/src/block.rs b/ethcore/types/src/block.rs new file mode 100644 index 00000000000..e3d89bbe0c2 --- /dev/null +++ b/ethcore/types/src/block.rs @@ -0,0 +1,77 @@ +// Copyright 2015-2018 Parity Technologies (UK) Ltd. +// This file is part of Parity. + +// Parity is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. + +// Parity is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. + +// You should have received a copy of the GNU General Public License +// along with Parity. If not, see . + +//! Base data structure of this module is `Block`. +//! +//! Blocks can be produced by a local node or they may be received from the network. +//! +//! To create a block locally, we start with an `OpenBlock`. This block is mutable +//! and can be appended to with transactions and uncles. +//! +//! When ready, `OpenBlock` can be closed and turned into a `ClosedBlock`. A `ClosedBlock` can +//! be reopend again by a miner under certain circumstances. On block close, state commit is +//! performed. +//! +//! `LockedBlock` is a version of a `ClosedBlock` that cannot be reopened. It can be sealed +//! using an engine. +//! +//! `ExecutedBlock` is an underlaying data structure used by all structs above to store block +//! related info. + +use bytes::Bytes; + +use header::Header; +use rlp::{Rlp, RlpStream, Decodable, DecoderError}; +use transaction::UnverifiedTransaction; + +/// A block, encoded as it is on the block chain. +#[derive(Default, Debug, Clone, PartialEq)] +pub struct Block { + /// The header of this block. + pub header: Header, + /// The transactions in this block. + pub transactions: Vec, + /// The uncles of this block. + pub uncles: Vec
, +} + +impl Block { + /// Get the RLP-encoding of the block with the seal. + pub fn rlp_bytes(&self) -> Bytes { + let mut block_rlp = RlpStream::new_list(3); + block_rlp.append(&self.header); + block_rlp.append_list(&self.transactions); + block_rlp.append_list(&self.uncles); + block_rlp.out() + } +} + +impl Decodable for Block { + fn decode(rlp: &Rlp) -> Result { + if rlp.as_raw().len() != rlp.payload_info()?.total() { + return Err(DecoderError::RlpIsTooBig); + } + if rlp.item_count()? != 3 { + return Err(DecoderError::RlpIncorrectListLen); + } + Ok(Block { + header: rlp.val_at(0)?, + transactions: rlp.list_at(1)?, + uncles: rlp.list_at(2)?, + }) + } +} + diff --git a/ethcore/types/src/block_status.rs b/ethcore/types/src/block_status.rs index 460fdc29772..c1f21cc2258 100644 --- a/ethcore/types/src/block_status.rs +++ b/ethcore/types/src/block_status.rs @@ -14,6 +14,8 @@ // You should have received a copy of the GNU General Public License // along with Parity. If not, see . +//! General block status + /// General block status #[derive(Debug, Eq, PartialEq)] pub enum BlockStatus { diff --git a/ethcore/src/encoded.rs b/ethcore/types/src/encoded.rs similarity index 99% rename from ethcore/src/encoded.rs rename to ethcore/types/src/encoded.rs index 9573bb5d16c..20a7301aafe 100644 --- a/ethcore/src/encoded.rs +++ b/ethcore/types/src/encoded.rs @@ -26,11 +26,12 @@ use block::Block as FullBlock; use ethereum_types::{H256, Bloom, U256, Address}; use hash::keccak; -use header::{BlockNumber, Header as FullHeader}; +use header::{Header as FullHeader}; use heapsize::HeapSizeOf; use rlp::{self, Rlp, RlpStream}; use transaction::UnverifiedTransaction; use views::{self, BlockView, HeaderView, BodyView}; +use BlockNumber; /// Owning header view. #[derive(Debug, Clone, PartialEq, Eq)] diff --git a/ethcore/src/engines/epoch.rs b/ethcore/types/src/engines/epoch.rs similarity index 100% rename from ethcore/src/engines/epoch.rs rename to ethcore/types/src/engines/epoch.rs diff --git a/ethcore/types/src/engines/mod.rs b/ethcore/types/src/engines/mod.rs new file mode 100644 index 00000000000..0ff1503a6ba --- /dev/null +++ b/ethcore/types/src/engines/mod.rs @@ -0,0 +1,29 @@ +// Copyright 2015-2018 Parity Technologies (UK) Ltd. +// This file is part of Parity. + +// Parity is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. + +// Parity is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. + +// You should have received a copy of the GNU General Public License +// along with Parity. If not, see . + +//! Engine-specific types. + +pub mod epoch; + +/// Fork choice. +#[derive(Debug, PartialEq, Eq)] +pub enum ForkChoice { + /// Choose the new block. + New, + /// Choose the current best block. + Old, +} + diff --git a/ethcore/src/header.rs b/ethcore/types/src/header.rs similarity index 98% rename from ethcore/src/header.rs rename to ethcore/types/src/header.rs index 100210b70bc..a75f9cd6c82 100644 --- a/ethcore/src/header.rs +++ b/ethcore/types/src/header.rs @@ -22,8 +22,7 @@ use heapsize::HeapSizeOf; use ethereum_types::{H256, U256, Address, Bloom}; use bytes::Bytes; use rlp::{Rlp, RlpStream, Encodable, DecoderError, Decodable}; - -pub use types::BlockNumber; +use BlockNumber; /// Semantic boolean for when a seal/signature is included. #[derive(Debug, Clone, Copy)] @@ -192,13 +191,6 @@ impl Header { }).collect() } - /// Get a mutable reference to extra_data - #[cfg(test)] - pub fn extra_data_mut(&mut self) -> &mut Bytes { - self.hash = None; - &mut self.extra_data - } - /// Set the number field of the header. pub fn set_parent_hash(&mut self, a: H256) { change_field(&mut self.hash, &mut self.parent_hash, a); diff --git a/ethcore/types/src/lib.rs b/ethcore/types/src/lib.rs index f375fec13c9..b5b85c5ddbf 100644 --- a/ethcore/types/src/lib.rs +++ b/ethcore/types/src/lib.rs @@ -15,25 +15,54 @@ // along with Parity. If not, see . //! Types used in the public API +//! +//! This crate stores Parity Etherem specific types that are +//! COMMONLY used across different separate modules of the codebase. +//! It should only focus on data structures, not any logic that relates to them. +//! +//! The interaction between modules should be possible by +//! implementing a required trait that potentially uses some of the data +//! structures from that crate. +//! +//! NOTE If you can specify your data type in the same crate as your trait, please do that. +//! Don't treat this crate as a bag for any types that we use in Parity Ethereum. +//! This one is reserved for types that are shared heavily (like transactions), +//! historically this contains types extracted from `ethcore` crate, if possible +//! we should try to dissolve that crate in favour of more fine-grained crates, +//! by moving the types closer to where they are actually required. + +#![warn(missing_docs, unused_extern_crates)] extern crate ethereum_types; -extern crate parity_bytes as bytes; extern crate ethjson; +extern crate ethkey; +extern crate heapsize; +extern crate keccak_hash as hash; +extern crate parity_bytes as bytes; +extern crate parity_machine; extern crate rlp; +extern crate unexpected; + #[macro_use] extern crate rlp_derive; -extern crate keccak_hash as hash; -extern crate heapsize; #[cfg(test)] extern crate rustc_hex; +#[macro_use] +pub mod views; + pub mod account_diff; +pub mod ancestry_action; pub mod basic_account; +pub mod block; pub mod block_status; pub mod blockchain_info; pub mod call_analytics; +pub mod encoded; +pub mod engines; pub mod filter; +pub mod header; pub mod ids; pub mod log_entry; pub mod pruning_info; @@ -43,9 +72,9 @@ pub mod security_level; pub mod snapshot_manifest; pub mod state_diff; pub mod trace_filter; +pub mod transaction; pub mod tree_route; pub mod verification_queue_info; -pub mod ancestry_action; /// Type for block number. pub type BlockNumber = u64; diff --git a/ethcore/transaction/src/error.rs b/ethcore/types/src/transaction/error.rs similarity index 100% rename from ethcore/transaction/src/error.rs rename to ethcore/types/src/transaction/error.rs diff --git a/ethcore/transaction/src/lib.rs b/ethcore/types/src/transaction/mod.rs similarity index 73% rename from ethcore/transaction/src/lib.rs rename to ethcore/types/src/transaction/mod.rs index 829613cf9c7..f3e3f0a4e63 100644 --- a/ethcore/transaction/src/lib.rs +++ b/ethcore/types/src/transaction/mod.rs @@ -16,20 +16,8 @@ //! Ethereum Transactions -extern crate ethereum_types; -extern crate ethjson; -extern crate ethkey; -extern crate evm; -extern crate heapsize; -extern crate keccak_hash as hash; -extern crate rlp; -extern crate unexpected; - -#[cfg(test)] -extern crate rustc_hex; - mod error; mod transaction; -pub use error::Error; -pub use transaction::*; +pub use self::error::Error; +pub use self::transaction::*; diff --git a/ethcore/transaction/src/transaction.rs b/ethcore/types/src/transaction/transaction.rs similarity index 97% rename from ethcore/transaction/src/transaction.rs rename to ethcore/types/src/transaction/transaction.rs index ee37f68524d..dcb249e4aec 100644 --- a/ethcore/transaction/src/transaction.rs +++ b/ethcore/types/src/transaction/transaction.rs @@ -17,15 +17,16 @@ //! Transaction data structure. use std::ops::Deref; + use ethereum_types::{H256, H160, Address, U256}; -use error; use ethjson; use ethkey::{self, Signature, Secret, Public, recover, public_to_address}; -use evm::Schedule; use hash::keccak; use heapsize::HeapSizeOf; use rlp::{self, RlpStream, Rlp, DecoderError, Encodable}; +use transaction::error; + type Bytes = Vec; type BlockNumber = u64; @@ -251,19 +252,6 @@ impl Transaction { public: None, } } - - /// Get the transaction cost in gas for the given params. - pub fn gas_required_for(is_create: bool, data: &[u8], schedule: &Schedule) -> u64 { - data.iter().fold( - (if is_create {schedule.tx_create_gas} else {schedule.tx_gas}) as u64, - |g, b| g + (match *b { 0 => schedule.tx_data_zero_gas, _ => schedule.tx_data_non_zero_gas }) as u64 - ) - } - - /// Get the transaction cost in gas for this transaction. - pub fn gas_required(&self, schedule: &Schedule) -> u64 { - Self::gas_required_for(match self.action{Action::Create=>true, Action::Call(_)=>false}, &self.data, schedule) - } } /// Signed transaction information without verified signature. @@ -355,6 +343,7 @@ impl UnverifiedTransaction { &self.unsigned } + /// Returns standardized `v` value (0, 1 or 4 (invalid)) pub fn standard_v(&self) -> u8 { signature::check_replay_protection(self.v) } /// The `v` value that appears in the RLP. diff --git a/ethcore/src/views/block.rs b/ethcore/types/src/views/block.rs similarity index 98% rename from ethcore/src/views/block.rs rename to ethcore/types/src/views/block.rs index 2a7c2ebd531..0d279ea6254 100644 --- a/ethcore/src/views/block.rs +++ b/ethcore/types/src/views/block.rs @@ -37,9 +37,9 @@ impl<'a> BlockView<'a> { /// /// ``` /// #[macro_use] - /// extern crate ethcore; + /// extern crate common_types as types; /// - /// use ethcore::views::{BlockView}; + /// use types::views::{BlockView}; /// /// fn main() { /// let bytes : &[u8] = &[]; diff --git a/ethcore/src/views/body.rs b/ethcore/types/src/views/body.rs similarity index 92% rename from ethcore/src/views/body.rs rename to ethcore/types/src/views/body.rs index f1a30949b32..ad4346d146a 100644 --- a/ethcore/src/views/body.rs +++ b/ethcore/types/src/views/body.rs @@ -19,10 +19,11 @@ use bytes::Bytes; use ethereum_types::H256; use hash::keccak; -use header::{Header, BlockNumber}; +use header::Header; use transaction::{LocalizedTransaction, UnverifiedTransaction}; use views::{TransactionView, HeaderView}; use super::ViewRlp; +use BlockNumber; /// View onto block rlp. pub struct BodyView<'a> { @@ -37,9 +38,9 @@ impl<'a> BodyView<'a> { /// /// ``` /// #[macro_use] - /// extern crate ethcore; + /// extern crate common_types as types; /// - /// use ethcore::views::{BodyView}; + /// use types::views::{BodyView}; /// /// fn main() { /// let bytes : &[u8] = &[]; @@ -149,15 +150,25 @@ impl<'a> BodyView<'a> { #[cfg(test)] mod tests { + use bytes::Bytes; + use rlp::RlpStream; use rustc_hex::FromHex; use super::BodyView; - use blockchain::BlockChain; + use views::BlockView; + + fn block_to_body(block: &[u8]) -> Bytes { + let mut body = RlpStream::new_list(2); + let block_view = view!(BlockView, block); + body.append_raw(block_view.transactions_rlp().as_raw(), 1); + body.append_raw(block_view.uncles_rlp().as_raw(), 1); + body.out() + } #[test] fn test_block_view() { // that's rlp of block created with ethash engine. let rlp = "f90261f901f9a0d405da4e66f1445d455195229624e133f5baafe72b5cf7b3c36c12c8146e98b7a01dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347948888f1f195afa192cfee860698584c030f4c9db1a05fb2b4bfdef7b314451cb138a534d225c922fc0e5fbe25e451142732c3e25c25a088d2ec6b9860aae1a2c3b299f72b6a5d70d7f7ba4722c78f2c49ba96273c2158a007c6fdfa8eea7e86b81f5b0fc0f78f90cc19f4aa60d323151e0cac660199e9a1b90100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008302008003832fefba82524d84568e932a80a0a0349d8c3df71f1a48a9df7d03fd5f14aeee7d91332c009ecaff0a71ead405bd88ab4e252a7e8c2a23f862f86002018304cb2f94ec0e71ad0a90ffe1909d27dac207f7680abba42d01801ba03a347e72953c860f32b1eb2c78a680d8734b2ea08085d949d729479796f218d5a047ea6239d9e31ccac8af3366f5ca37184d26e7646e3191a3aeb81c4cf74de500c0".from_hex().unwrap(); - let body = BlockChain::block_to_body(&rlp); + let body = block_to_body(&rlp); let view = view!(BodyView, &body); assert_eq!(view.transactions_count(), 1); assert_eq!(view.uncles_count(), 0); diff --git a/ethcore/src/views/header.rs b/ethcore/types/src/views/header.rs similarity index 98% rename from ethcore/src/views/header.rs rename to ethcore/types/src/views/header.rs index 4b7b1225d02..761f09128a2 100644 --- a/ethcore/src/views/header.rs +++ b/ethcore/types/src/views/header.rs @@ -19,9 +19,9 @@ use bytes::Bytes; use ethereum_types::{H256, Bloom, U256, Address}; use hash::keccak; -use header::BlockNumber; use rlp::{self}; use super::ViewRlp; +use BlockNumber; /// View onto block header rlp. pub struct HeaderView<'a> { @@ -36,10 +36,10 @@ impl<'a> HeaderView<'a> { /// /// ``` /// #[macro_use] - /// extern crate ethcore; - /// - /// use ethcore::views::{HeaderView}; - /// + /// extern crate common_types as types; + /// + /// use types::views::{HeaderView}; + /// /// fn main() { /// let bytes : &[u8] = &[]; /// let tx_view = view!(HeaderView, bytes); diff --git a/ethcore/src/views/mod.rs b/ethcore/types/src/views/mod.rs similarity index 100% rename from ethcore/src/views/mod.rs rename to ethcore/types/src/views/mod.rs diff --git a/ethcore/src/views/transaction.rs b/ethcore/types/src/views/transaction.rs similarity index 96% rename from ethcore/src/views/transaction.rs rename to ethcore/types/src/views/transaction.rs index 911fde944e3..1f4782cd2d5 100644 --- a/ethcore/src/views/transaction.rs +++ b/ethcore/types/src/views/transaction.rs @@ -18,7 +18,6 @@ use bytes::Bytes; use ethereum_types::{H256, U256}; use hash::keccak; -// use rlp::{Rlp, Decodable}; use super::ViewRlp; /// View onto transaction rlp. @@ -34,10 +33,10 @@ impl<'a> TransactionView<'a> { /// /// ``` /// #[macro_use] - /// extern crate ethcore; - /// - /// use ethcore::views::{TransactionView}; - /// + /// extern crate common_types as types; + /// + /// use types::views::{TransactionView}; + /// /// fn main() { /// let bytes : &[u8] = &[]; /// let tx_view = view!(TransactionView, bytes); diff --git a/ethcore/src/views/view_rlp.rs b/ethcore/types/src/views/view_rlp.rs similarity index 100% rename from ethcore/src/views/view_rlp.rs rename to ethcore/types/src/views/view_rlp.rs diff --git a/ethcore/vm/Cargo.toml b/ethcore/vm/Cargo.toml index 20bbea09aec..bd5fb238fb2 100644 --- a/ethcore/vm/Cargo.toml +++ b/ethcore/vm/Cargo.toml @@ -10,7 +10,6 @@ ethereum-types = "0.4" patricia-trie = "0.3.0" patricia-trie-ethereum = { path = "../../util/patricia-trie-ethereum" } log = "0.4" -common-types = { path = "../types" } ethjson = { path = "../../json" } rlp = { version = "0.3.0", features = ["ethereum"] } keccak-hash = "0.1" diff --git a/ethcore/vm/src/env_info.rs b/ethcore/vm/src/env_info.rs index bb1c9ecd91f..77e67c0f138 100644 --- a/ethcore/vm/src/env_info.rs +++ b/ethcore/vm/src/env_info.rs @@ -20,9 +20,10 @@ use std::cmp; use std::sync::Arc; use hash::keccak; use ethereum_types::{U256, H256, Address}; -use types::BlockNumber; use ethjson; +type BlockNumber = u64; + /// Simple vector of hashes, should be at most 256 items large, can be smaller if being used /// for a block whose number is less than 257. pub type LastHashes = Vec; diff --git a/ethcore/vm/src/lib.rs b/ethcore/vm/src/lib.rs index b48eb1d849f..49672d3450c 100644 --- a/ethcore/vm/src/lib.rs +++ b/ethcore/vm/src/lib.rs @@ -18,7 +18,6 @@ extern crate ethereum_types; extern crate parity_bytes as bytes; -extern crate common_types as types; extern crate ethjson; extern crate rlp; extern crate keccak_hash as hash; diff --git a/evmbin/Cargo.toml b/evmbin/Cargo.toml index e75e2492c6e..95b532366cd 100644 --- a/evmbin/Cargo.toml +++ b/evmbin/Cargo.toml @@ -9,15 +9,15 @@ name = "parity-evm" path = "./src/main.rs" [dependencies] +common-types = { path = "../ethcore/types" } docopt = "1.0" env_logger = "0.5" ethcore = { path = "../ethcore", features = ["test-helpers", "json-tests", "to-pod-full"] } -ethjson = { path = "../json" } -parity-bytes = "0.1" -ethcore-transaction = { path = "../ethcore/transaction" } ethereum-types = "0.4" +ethjson = { path = "../json" } evm = { path = "../ethcore/evm" } panic_hook = { path = "../util/panic-hook" } +parity-bytes = "0.1" rustc-hex = "1.0" serde = "1.0" serde_derive = "1.0" diff --git a/evmbin/src/info.rs b/evmbin/src/info.rs index 67df1d28464..92726ecd568 100644 --- a/evmbin/src/info.rs +++ b/evmbin/src/info.rs @@ -21,7 +21,7 @@ use ethereum_types::{H256, U256}; use ethcore::client::{self, EvmTestClient, EvmTestError, TransactResult}; use ethcore::{state, state_db, trace, spec, pod_state, TrieSpec}; use ethjson; -use transaction; +use types::transaction; use vm::ActionParams; /// VM execution informant diff --git a/evmbin/src/main.rs b/evmbin/src/main.rs index 41bfbe1bd3e..f7448352fa9 100644 --- a/evmbin/src/main.rs +++ b/evmbin/src/main.rs @@ -18,6 +18,7 @@ #![warn(missing_docs)] +extern crate common_types as types; extern crate ethcore; extern crate ethjson; extern crate rustc_hex; @@ -27,7 +28,6 @@ extern crate serde_derive; #[macro_use] extern crate serde_json; extern crate docopt; -extern crate ethcore_transaction as transaction; extern crate parity_bytes as bytes; extern crate ethereum_types; extern crate vm; diff --git a/miner/Cargo.toml b/miner/Cargo.toml index b1372e87b58..d37ed692c73 100644 --- a/miner/Cargo.toml +++ b/miner/Cargo.toml @@ -15,15 +15,15 @@ url = { version = "1", optional = true } # Miner ansi_term = "0.10" +common-types = { path = "../ethcore/types" } error-chain = "0.12" -ethcore-transaction = { path = "../ethcore/transaction" } ethereum-types = "0.4" futures = "0.1" -parity-runtime = { path = "../util/runtime" } heapsize = "0.4" keccak-hash = "0.1" linked-hash-map = "0.5" log = "0.4" +parity-runtime = { path = "../util/runtime" } parking_lot = "0.7" price-info = { path = "./price-info", optional = true } rlp = { version = "0.3.0", features = ["ethereum"] } diff --git a/miner/local-store/Cargo.toml b/miner/local-store/Cargo.toml index 0198899dc0e..d16c6440719 100644 --- a/miner/local-store/Cargo.toml +++ b/miner/local-store/Cargo.toml @@ -5,9 +5,8 @@ version = "0.1.0" authors = ["Parity Technologies "] [dependencies] -ethcore = { path = "../../ethcore" } +common-types = { path = "../../ethcore/types" } ethcore-io = { path = "../../util/io" } -ethcore-transaction = { path = "../../ethcore/transaction" } kvdb = "0.1" log = "0.4" rlp = { version = "0.3.0", features = ["ethereum"] } @@ -16,6 +15,5 @@ serde_derive = "1.0" serde_json = "1.0" [dev-dependencies] -ethcore = { path = "../../ethcore", features = ["test-helpers"] } ethkey = { path = "../../accounts/ethkey" } kvdb-memorydb = "0.1" diff --git a/miner/local-store/src/lib.rs b/miner/local-store/src/lib.rs index aa75ada8fc0..f8eaec5a94c 100644 --- a/miner/local-store/src/lib.rs +++ b/miner/local-store/src/lib.rs @@ -20,17 +20,15 @@ use std::sync::Arc; use std::fmt; use std::time::Duration; -use transaction::{ +use types::transaction::{ SignedTransaction, PendingTransaction, UnverifiedTransaction, Condition as TransactionCondition }; -use ethcore::client::ClientIoMessage; use io::IoHandler; use rlp::Rlp; use kvdb::KeyValueDB; -extern crate ethcore; -extern crate ethcore_transaction as transaction; +extern crate common_types as types; extern crate ethcore_io as io; extern crate rlp; extern crate serde_json; @@ -73,7 +71,7 @@ impl fmt::Display for Error { #[derive(Serialize, Deserialize)] enum Condition { - Number(::ethcore::header::BlockNumber), + Number(types::BlockNumber), Timestamp(u64), } @@ -204,14 +202,14 @@ impl LocalDataStore { } } -impl IoHandler for LocalDataStore { - fn initialize(&self, io: &::io::IoContext) { +impl IoHandler for LocalDataStore { + fn initialize(&self, io: &::io::IoContext) { if let Err(e) = io.register_timer(UPDATE_TIMER, UPDATE_TIMEOUT) { warn!(target: "local_store", "Error registering local store update timer: {}", e); } } - fn timeout(&self, _io: &::io::IoContext, timer: ::io::TimerToken) { + fn timeout(&self, _io: &::io::IoContext, timer: ::io::TimerToken) { if let UPDATE_TIMER = timer { if let Err(e) = self.update() { debug!(target: "local_store", "Error updating local store: {}", e); @@ -233,7 +231,7 @@ mod tests { use super::NodeInfo; use std::sync::Arc; - use transaction::{Transaction, Condition, PendingTransaction}; + use types::transaction::{Transaction, Condition, PendingTransaction}; use ethkey::{Brain, Generator}; // we want to test: round-trip of good transactions. diff --git a/miner/src/lib.rs b/miner/src/lib.rs index 2288d1db180..de7da33efe0 100644 --- a/miner/src/lib.rs +++ b/miner/src/lib.rs @@ -20,13 +20,13 @@ //! Keeps track of transactions and mined block. extern crate ansi_term; -extern crate ethcore_transaction as transaction; +extern crate common_types as types; extern crate ethereum_types; extern crate futures; -extern crate parity_runtime; extern crate heapsize; extern crate keccak_hash as hash; extern crate linked_hash_map; +extern crate parity_runtime; extern crate parking_lot; #[cfg(feature = "price-info")] extern crate price_info; diff --git a/miner/src/pool/client.rs b/miner/src/pool/client.rs index bdf57312eec..1b0452cf158 100644 --- a/miner/src/pool/client.rs +++ b/miner/src/pool/client.rs @@ -23,7 +23,7 @@ use std::fmt; use ethereum_types::{U256, H256, H160 as Address}; -use transaction; +use types::transaction; /// Account Details #[derive(Debug, Clone)] diff --git a/miner/src/pool/listener.rs b/miner/src/pool/listener.rs index f5e76e15d52..7dcac1f80b4 100644 --- a/miner/src/pool/listener.rs +++ b/miner/src/pool/listener.rs @@ -120,7 +120,7 @@ impl txpool::Listener for Logger { mod tests { use super::*; use parking_lot::Mutex; - use transaction; + use types::transaction; use txpool::Listener; #[test] diff --git a/miner/src/pool/local_transactions.rs b/miner/src/pool/local_transactions.rs index a71d9244cd6..f616d1f3a66 100644 --- a/miner/src/pool/local_transactions.rs +++ b/miner/src/pool/local_transactions.rs @@ -236,7 +236,7 @@ mod tests { use super::*; use ethereum_types::U256; use ethkey::{Random, Generator}; - use transaction; + use types::transaction; use txpool::Listener; use pool; diff --git a/miner/src/pool/mod.rs b/miner/src/pool/mod.rs index ccfbba7f800..07c056a80d4 100644 --- a/miner/src/pool/mod.rs +++ b/miner/src/pool/mod.rs @@ -18,7 +18,7 @@ use ethereum_types::{U256, H256, Address}; use heapsize::HeapSizeOf; -use transaction; +use types::transaction; use txpool; mod listener; diff --git a/miner/src/pool/queue.rs b/miner/src/pool/queue.rs index 612ec1af080..1540c8f46ed 100644 --- a/miner/src/pool/queue.rs +++ b/miner/src/pool/queue.rs @@ -23,8 +23,8 @@ use std::collections::{BTreeMap, BTreeSet, HashMap}; use ethereum_types::{H256, U256, Address}; use parking_lot::RwLock; -use transaction; use txpool::{self, Verifier}; +use types::transaction; use pool::{ self, scoring, verifier, client, ready, listener, diff --git a/miner/src/pool/ready.rs b/miner/src/pool/ready.rs index 26ea35dd47e..3a4b9d28711 100644 --- a/miner/src/pool/ready.rs +++ b/miner/src/pool/ready.rs @@ -42,8 +42,8 @@ use std::cmp; use std::collections::HashMap; use ethereum_types::{U256, H160 as Address}; -use transaction; use txpool::{self, VerifiedTransaction as PoolVerifiedTransaction}; +use types::transaction; use super::client::NonceClient; use super::VerifiedTransaction; diff --git a/miner/src/pool/tests/client.rs b/miner/src/pool/tests/client.rs index 08b43f12adf..ec4d8e79625 100644 --- a/miner/src/pool/tests/client.rs +++ b/miner/src/pool/tests/client.rs @@ -18,7 +18,7 @@ use std::sync::{atomic, Arc}; use ethereum_types::{U256, H256, Address}; use rlp::Rlp; -use transaction::{self, Transaction, SignedTransaction, UnverifiedTransaction}; +use types::transaction::{self, Transaction, SignedTransaction, UnverifiedTransaction}; use pool; use pool::client::AccountDetails; diff --git a/miner/src/pool/tests/mod.rs b/miner/src/pool/tests/mod.rs index 2fc68d0ac71..c667dacc666 100644 --- a/miner/src/pool/tests/mod.rs +++ b/miner/src/pool/tests/mod.rs @@ -15,7 +15,7 @@ // along with Parity. If not, see . use ethereum_types::U256; -use transaction::{self, PendingTransaction}; +use types::transaction::{self, PendingTransaction}; use txpool; use pool::{verifier, TransactionQueue, PrioritizationStrategy, PendingSettings, PendingOrdering}; @@ -30,7 +30,7 @@ use self::client::TestClient; // to the global use allocator, the value is currently // set to reflect malloc usage. // 50 was enough when using jmalloc. -const TEST_QUEUE_MAX_MEM: usize = 80; +const TEST_QUEUE_MAX_MEM: usize = 100; fn new_queue() -> TransactionQueue { TransactionQueue::new( diff --git a/miner/src/pool/tests/tx.rs b/miner/src/pool/tests/tx.rs index 78cd8502456..1b5ec84735c 100644 --- a/miner/src/pool/tests/tx.rs +++ b/miner/src/pool/tests/tx.rs @@ -17,7 +17,7 @@ use ethereum_types::{U256, H256}; use ethkey::{Random, Generator}; use rustc_hex::FromHex; -use transaction::{self, Transaction, SignedTransaction, UnverifiedTransaction}; +use types::transaction::{self, Transaction, SignedTransaction, UnverifiedTransaction}; use pool::{verifier, VerifiedTransaction}; diff --git a/miner/src/pool/verifier.rs b/miner/src/pool/verifier.rs index eaa13b3da1f..b055bb2d2dd 100644 --- a/miner/src/pool/verifier.rs +++ b/miner/src/pool/verifier.rs @@ -28,8 +28,8 @@ use std::sync::atomic::{self, AtomicUsize}; use ethereum_types::{U256, H256}; use rlp::Encodable; -use transaction; use txpool; +use types::transaction; use super::client::{Client, TransactionType}; use super::VerifiedTransaction; diff --git a/parity/account.rs b/parity/account.rs index e09667379fa..92297cf7ee9 100644 --- a/parity/account.rs +++ b/parity/account.rs @@ -15,9 +15,9 @@ // along with Parity. If not, see . use std::path::PathBuf; -use ethcore::ethstore::{EthStore, SecretStore, import_account, import_accounts, read_geth_accounts}; -use ethcore::ethstore::accounts_dir::RootDiskDirectory; -use ethcore::ethstore::SecretVaultRef; +use ethstore::{EthStore, SecretStore, import_account, import_accounts, read_geth_accounts}; +use ethstore::accounts_dir::RootDiskDirectory; +use ethstore::SecretVaultRef; use ethcore::account_provider::{AccountProvider, AccountProviderSettings}; use helpers::{password_prompt, password_from_file}; use params::SpecType; @@ -130,7 +130,7 @@ fn import(i: ImportAccounts) -> Result { fn import_geth(i: ImportFromGethAccounts) -> Result { use std::io::ErrorKind; - use ethcore::ethstore::Error; + use ethstore::Error; let dir = Box::new(keys_dir(i.to, i.spec)?); let secret_store = Box::new(secret_store(dir, None)?); diff --git a/parity/blockchain.rs b/parity/blockchain.rs index d0146eb3e1f..55903f46d6b 100644 --- a/parity/blockchain.rs +++ b/parity/blockchain.rs @@ -196,7 +196,7 @@ fn execute_import_light(cmd: ImportBlockchain) -> Result<(), String> { let mut config = LightClientConfig { queue: Default::default(), - chain_column: ::ethcore::db::COL_LIGHT_CHAIN, + chain_column: ethcore_db::COL_LIGHT_CHAIN, verify_full: true, check_seal: cmd.check_seal, no_hardcoded_sync: true, @@ -244,7 +244,7 @@ fn execute_import_light(cmd: ImportBlockchain) -> Result<(), String> { let do_import = |bytes: Vec| { while client.queue_info().is_full() { sleep(Duration::from_secs(1)); } - let header: ::ethcore::header::Header = ::rlp::Rlp::new(&bytes).val_at(0) + let header: ::types::header::Header = ::rlp::Rlp::new(&bytes).val_at(0) .map_err(|e| format!("Bad block: {}", e))?; if client.best_block_header().number() >= header.number() { return Ok(()) } diff --git a/parity/configuration.rs b/parity/configuration.rs index 5644e4dac91..9de5c790253 100644 --- a/parity/configuration.rs +++ b/parity/configuration.rs @@ -27,7 +27,7 @@ use parity_version::{version_data, version}; use bytes::Bytes; use ansi_term::Colour; use sync::{NetworkConfiguration, validate_node_url, self}; -use ethcore::ethstore::ethkey::{Secret, Public}; +use ethstore::ethkey::{Secret, Public}; use ethcore::client::{VMType}; use ethcore::miner::{stratum, MinerOptions}; use ethcore::snapshot::SnapshotConfiguration; diff --git a/parity/db/rocksdb/helpers.rs b/parity/db/rocksdb/helpers.rs index 1b7f05c1a14..6a59a939cd3 100644 --- a/parity/db/rocksdb/helpers.rs +++ b/parity/db/rocksdb/helpers.rs @@ -15,7 +15,7 @@ // along with Parity. If not, see . use std::path::Path; -use ethcore::db::NUM_COLUMNS; +use ethcore_db::NUM_COLUMNS; use ethcore::client::{ClientConfig, DatabaseCompactionProfile}; use super::kvdb_rocksdb::{CompactionProfile, DatabaseConfig}; diff --git a/parity/db/rocksdb/migration.rs b/parity/db/rocksdb/migration.rs index c6489116b5d..1844f424e48 100644 --- a/parity/db/rocksdb/migration.rs +++ b/parity/db/rocksdb/migration.rs @@ -21,7 +21,7 @@ use std::fmt::{Display, Formatter, Error as FmtError}; use super::migration_rocksdb::{Manager as MigrationManager, Config as MigrationConfig, ChangeColumns}; use super::kvdb_rocksdb::{CompactionProfile, DatabaseConfig}; use ethcore::client::DatabaseCompactionProfile; -use ethcore::{self, db}; +use ethcore; use super::helpers; use super::blooms::migrate_blooms; @@ -217,7 +217,7 @@ pub fn migrate(path: &Path, compaction_profile: &DatabaseCompactionProfile) -> R max_open_files: 64, memory_budget: None, compaction: compaction_profile, - columns: db::NUM_COLUMNS, + columns: ethcore_db::NUM_COLUMNS, }; migrate_blooms(&db_path, &db_config).map_err(Error::BloomsDB)?; diff --git a/parity/db/rocksdb/mod.rs b/parity/db/rocksdb/mod.rs index 91160f9218a..beac78e2b8f 100644 --- a/parity/db/rocksdb/mod.rs +++ b/parity/db/rocksdb/mod.rs @@ -16,15 +16,16 @@ extern crate kvdb_rocksdb; extern crate migration_rocksdb; +extern crate ethcore_blockchain; use std::{io, fs}; use std::sync::Arc; use std::path::Path; use blooms_db; -use ethcore::{BlockChainDBHandler, BlockChainDB}; -use ethcore::db::NUM_COLUMNS; +use ethcore_db::NUM_COLUMNS; use ethcore::client::{ClientConfig, DatabaseCompactionProfile}; use kvdb::KeyValueDB; +use self::ethcore_blockchain::{BlockChainDBHandler, BlockChainDB}; use self::kvdb_rocksdb::{Database, DatabaseConfig}; use cache::CacheConfig; diff --git a/parity/export_hardcoded_sync.rs b/parity/export_hardcoded_sync.rs index b3121f08616..039ce9e66e1 100644 --- a/parity/export_hardcoded_sync.rs +++ b/parity/export_hardcoded_sync.rs @@ -77,7 +77,7 @@ pub fn execute(cmd: ExportHsyncCmd) -> Result { // start client and create transaction queue. let mut config = light_client::Config { queue: Default::default(), - chain_column: ::ethcore::db::COL_LIGHT_CHAIN, + chain_column: ::ethcore_db::COL_LIGHT_CHAIN, verify_full: true, check_seal: true, no_hardcoded_sync: true, diff --git a/parity/informant.rs b/parity/informant.rs index 5209a855156..067bc741d2c 100644 --- a/parity/informant.rs +++ b/parity/informant.rs @@ -27,7 +27,7 @@ use ethcore::client::{ BlockId, BlockChainClient, ChainInfo, BlockInfo, BlockChainInfo, BlockQueueInfo, ChainNotify, NewBlocks, ClientReport, Client, ClientIoMessage }; -use ethcore::header::BlockNumber; +use types::BlockNumber; use ethcore::snapshot::{RestorationStatus, SnapshotService as SS}; use ethcore::snapshot::service::Service as SnapshotService; use sync::{LightSyncProvider, LightSync, SyncProvider, ManageNetwork}; diff --git a/parity/lib.rs b/parity/lib.rs index 88330f1ac09..960982e290e 100644 --- a/parity/lib.rs +++ b/parity/lib.rs @@ -43,8 +43,10 @@ extern crate toml; extern crate blooms_db; extern crate cli_signer; +extern crate common_types as types; extern crate ethcore; extern crate parity_bytes as bytes; +extern crate ethcore_db; extern crate ethcore_io as io; extern crate ethcore_light as light; extern crate ethcore_logger; @@ -53,8 +55,8 @@ extern crate ethcore_network as network; extern crate ethcore_private_tx; extern crate ethcore_service; extern crate ethcore_sync as sync; -extern crate ethcore_transaction as transaction; extern crate ethereum_types; +extern crate ethstore; extern crate ethkey; extern crate kvdb; extern crate parity_hash_fetch as hash_fetch; diff --git a/parity/light_helpers/epoch_fetch.rs b/parity/light_helpers/epoch_fetch.rs index a7d8f4171fb..6b912bacde7 100644 --- a/parity/light_helpers/epoch_fetch.rs +++ b/parity/light_helpers/epoch_fetch.rs @@ -16,12 +16,12 @@ use std::sync::{Arc, Weak}; -use ethcore::encoded; use ethcore::engines::{EthEngine, StateDependentProof}; -use ethcore::header::Header; use ethcore::machine::EthereumMachine; -use ethcore::receipt::Receipt; use sync::LightSync; +use types::encoded; +use types::header::Header; +use types::receipt::Receipt; use futures::{future, Future}; use futures::future::Either; diff --git a/parity/presale.rs b/parity/presale.rs index 16af2fb8231..387983968ff 100644 --- a/parity/presale.rs +++ b/parity/presale.rs @@ -14,8 +14,8 @@ // You should have received a copy of the GNU General Public License // along with Parity. If not, see . -use ethcore::ethstore::{PresaleWallet, EthStore}; -use ethcore::ethstore::accounts_dir::RootDiskDirectory; +use ethstore::{PresaleWallet, EthStore}; +use ethstore::accounts_dir::RootDiskDirectory; use ethcore::account_provider::{AccountProvider, AccountProviderSettings}; use helpers::{password_prompt, password_from_file}; use params::SpecType; diff --git a/parity/run.rs b/parity/run.rs index 6dad5fd6d54..4be9539a563 100644 --- a/parity/run.rs +++ b/parity/run.rs @@ -23,7 +23,7 @@ use ansi_term::Colour; use bytes::Bytes; use ethcore::account_provider::{AccountProvider, AccountProviderSettings}; use ethcore::client::{BlockId, CallContract, Client, Mode, DatabaseCompactionProfile, VMType, BlockChainClient, BlockInfo}; -use ethcore::ethstore::ethkey; +use ethstore::ethkey; use ethcore::miner::{stratum, Miner, MinerService, MinerOptions}; use ethcore::snapshot::{self, SnapshotConfiguration}; use ethcore::spec::{SpecParams, OptimizeFor}; @@ -150,7 +150,7 @@ struct FullNodeInfo { } impl ::local_store::NodeInfo for FullNodeInfo { - fn pending_transactions(&self) -> Vec<::transaction::PendingTransaction> { + fn pending_transactions(&self) -> Vec<::types::transaction::PendingTransaction> { let miner = match self.miner.as_ref() { Some(m) => m, None => return Vec::new(), @@ -210,7 +210,7 @@ fn execute_light_impl(cmd: RunCmd, logger: Arc) -> Result(cmd: RunCmd, logger: Arc, on_client_rq: } }; - let store = ::local_store::create(db.key_value().clone(), ::ethcore::db::COL_NODE_INFO, node_info); + let store = ::local_store::create(db.key_value().clone(), ::ethcore_db::COL_NODE_INFO, node_info); if cmd.no_persistent_txqueue { info!("Running without a persistent transaction queue."); @@ -972,8 +972,8 @@ fn print_running_environment(data_dir: &str, dirs: &Directories, db_dirs: &Datab } fn prepare_account_provider(spec: &SpecType, dirs: &Directories, data_dir: &str, cfg: AccountsConfig, passwords: &[Password]) -> Result { - use ethcore::ethstore::EthStore; - use ethcore::ethstore::accounts_dir::RootDiskDirectory; + use ethstore::EthStore; + use ethstore::accounts_dir::RootDiskDirectory; let path = dirs.keys_path(data_dir); upgrade_key_location(&dirs.legacy_keys_path(cfg.testnet), &path); diff --git a/parity/snapshot.rs b/parity/snapshot.rs index 5f30caad7ec..43cb69cc004 100644 --- a/parity/snapshot.rs +++ b/parity/snapshot.rs @@ -27,8 +27,8 @@ use ethcore::snapshot::io::{SnapshotReader, PackedReader, PackedWriter}; use ethcore::snapshot::service::Service as SnapshotService; use ethcore::client::{Mode, DatabaseCompactionProfile, VMType}; use ethcore::miner::Miner; -use ethcore::ids::BlockId; use ethcore_service::ClientService; +use types::ids::BlockId; use cache::CacheConfig; use params::{SpecType, Pruning, Switch, tracing_switch_to_bool, fatdb_switch_to_bool}; diff --git a/rpc/Cargo.toml b/rpc/Cargo.toml index 9babb4f77b0..59dc43ab259 100644 --- a/rpc/Cargo.toml +++ b/rpc/Cargo.toml @@ -34,6 +34,7 @@ jsonrpc-ipc-server = { git = "https://github.com/paritytech/jsonrpc.git", branch jsonrpc-macros = { git = "https://github.com/paritytech/jsonrpc.git", branch = "parity-2.2" } jsonrpc-pubsub = { git = "https://github.com/paritytech/jsonrpc.git", branch = "parity-2.2" } +common-types = { path = "../ethcore/types" } ethash = { path = "../ethash" } ethcore = { path = "../ethcore", features = ["test-helpers"] } fastmap = { path = "../util/fastmap" } @@ -45,7 +46,6 @@ ethcore-logger = { path = "../logger" } ethcore-miner = { path = "../miner" } ethcore-private-tx = { path = "../ethcore/private-tx" } ethcore-sync = { path = "../ethcore/sync" } -ethcore-transaction = { path = "../ethcore/transaction" } ethereum-types = "0.4" ethjson = { path = "../json" } diff --git a/rpc/src/lib.rs b/rpc/src/lib.rs index ca5ed28bae3..bd063968e03 100644 --- a/rpc/src/lib.rs +++ b/rpc/src/lib.rs @@ -41,6 +41,7 @@ extern crate jsonrpc_http_server as http; extern crate jsonrpc_ipc_server as ipc; extern crate jsonrpc_pubsub; +extern crate common_types as types; extern crate ethash; extern crate ethcore; extern crate fastmap; @@ -52,7 +53,6 @@ extern crate ethcore_logger; extern crate ethcore_miner as miner; extern crate ethcore_private_tx; extern crate ethcore_sync as sync; -extern crate ethcore_transaction as transaction; extern crate ethereum_types; extern crate ethkey; extern crate ethstore; diff --git a/rpc/src/v1/helpers/dispatch.rs b/rpc/src/v1/helpers/dispatch.rs index 67f3c9fd490..a66b08e948d 100644 --- a/rpc/src/v1/helpers/dispatch.rs +++ b/rpc/src/v1/helpers/dispatch.rs @@ -32,13 +32,13 @@ use stats::Corpus; use crypto::DEFAULT_MAC; use ethcore::account_provider::AccountProvider; -use ethcore::basic_account::BasicAccount; use ethcore::client::BlockChainClient; -use ethcore::ids::BlockId; use ethcore::miner::{self, MinerService}; use ethkey::{Password, Signature}; use sync::LightSync; -use transaction::{Action, SignedTransaction, PendingTransaction, Transaction, Error as TransactionError}; +use types::transaction::{Action, SignedTransaction, PendingTransaction, Transaction, Error as TransactionError}; +use types::basic_account::BasicAccount; +use types::ids::BlockId; use jsonrpc_core::{BoxFuture, Result, Error}; use jsonrpc_core::futures::{future, Future, Poll, Async}; diff --git a/rpc/src/v1/helpers/errors.rs b/rpc/src/v1/helpers/errors.rs index d75887d8f4d..f83f66253d4 100644 --- a/rpc/src/v1/helpers/errors.rs +++ b/rpc/src/v1/helpers/errors.rs @@ -23,12 +23,12 @@ use ethcore::error::{Error as EthcoreError, ErrorKind, CallError}; use ethcore::client::BlockId; use jsonrpc_core::{futures, Result as RpcResult, Error, ErrorCode, Value}; use rlp::DecoderError; -use transaction::Error as TransactionError; +use types::transaction::Error as TransactionError; use ethcore_private_tx::Error as PrivateTransactionError; use vm::Error as VMError; use light::on_demand::error::{Error as OnDemandError, ErrorKind as OnDemandErrorKind}; use ethcore::client::BlockChainClient; -use ethcore::blockchain_info::BlockChainInfo; +use types::blockchain_info::BlockChainInfo; use v1::types::BlockNumber; mod codes { diff --git a/rpc/src/v1/helpers/fake_sign.rs b/rpc/src/v1/helpers/fake_sign.rs index e9ee9b161cd..866b292c1db 100644 --- a/rpc/src/v1/helpers/fake_sign.rs +++ b/rpc/src/v1/helpers/fake_sign.rs @@ -14,7 +14,7 @@ // You should have received a copy of the GNU General Public License // along with Parity. If not, see . -use transaction::{Transaction, SignedTransaction, Action}; +use types::transaction::{Transaction, SignedTransaction, Action}; use ethereum_types::U256; use jsonrpc_core::Error; diff --git a/rpc/src/v1/helpers/light_fetch.rs b/rpc/src/v1/helpers/light_fetch.rs index 0473ff4c858..2dc587f7aa5 100644 --- a/rpc/src/v1/helpers/light_fetch.rs +++ b/rpc/src/v1/helpers/light_fetch.rs @@ -19,11 +19,11 @@ use std::cmp; use std::sync::Arc; -use ethcore::basic_account::BasicAccount; -use ethcore::encoded; -use ethcore::filter::Filter as EthcoreFilter; -use ethcore::ids::BlockId; -use ethcore::receipt::Receipt; +use types::basic_account::BasicAccount; +use types::encoded; +use types::filter::Filter as EthcoreFilter; +use types::ids::BlockId; +use types::receipt::Receipt; use ethcore::executed::ExecutionError; use jsonrpc_core::{Result, Error}; @@ -47,7 +47,7 @@ use hash::H256; use parking_lot::Mutex; use fastmap::H256FastMap; use std::collections::BTreeMap; -use transaction::{Action, Transaction as EthTransaction, PendingTransaction, SignedTransaction, LocalizedTransaction}; +use types::transaction::{Action, Transaction as EthTransaction, PendingTransaction, SignedTransaction, LocalizedTransaction}; use v1::helpers::{CallRequest as CallRequestHelper, errors, dispatch}; use v1::types::{BlockNumber, CallRequest, Log, Transaction}; diff --git a/rpc/src/v1/helpers/poll_filter.rs b/rpc/src/v1/helpers/poll_filter.rs index 033c8327088..497cd895509 100644 --- a/rpc/src/v1/helpers/poll_filter.rs +++ b/rpc/src/v1/helpers/poll_filter.rs @@ -22,8 +22,8 @@ use std::{ }; use ethereum_types::H256; use parking_lot::Mutex; -use ethcore::filter::Filter; use v1::types::Log; +use types::filter::Filter; pub type BlockNumber = u64; diff --git a/rpc/src/v1/impls/debug.rs b/rpc/src/v1/impls/debug.rs index 60d9dcdc834..d1647f4f869 100644 --- a/rpc/src/v1/impls/debug.rs +++ b/rpc/src/v1/impls/debug.rs @@ -19,7 +19,7 @@ use std::sync::Arc; use ethcore::client::BlockChainClient; -use transaction::LocalizedTransaction; +use types::transaction::LocalizedTransaction; use jsonrpc_core::Result; use v1::traits::Debug; diff --git a/rpc/src/v1/impls/eth.rs b/rpc/src/v1/impls/eth.rs index 8cf5104fde1..d7692c4168e 100644 --- a/rpc/src/v1/impls/eth.rs +++ b/rpc/src/v1/impls/eth.rs @@ -27,15 +27,15 @@ use parking_lot::Mutex; use ethash::{self, SeedHashCompute}; use ethcore::account_provider::AccountProvider; use ethcore::client::{BlockChainClient, BlockId, TransactionId, UncleId, StateOrBlock, StateClient, StateInfo, Call, EngineInfo, ProvingBlockChainClient}; -use ethcore::filter::Filter as EthcoreFilter; -use ethcore::header::{BlockNumber as EthBlockNumber}; use ethcore::miner::{self, MinerService}; use ethcore::snapshot::SnapshotService; -use ethcore::encoded; -use sync::SyncProvider; -use miner::external::ExternalMinerService; -use transaction::{SignedTransaction, LocalizedTransaction}; use hash::keccak; +use miner::external::ExternalMinerService; +use sync::SyncProvider; +use types::transaction::{SignedTransaction, LocalizedTransaction}; +use types::BlockNumber as EthBlockNumber; +use types::encoded; +use types::filter::Filter as EthcoreFilter; use jsonrpc_core::{BoxFuture, Result}; use jsonrpc_core::futures::future; @@ -466,7 +466,7 @@ pub fn pending_logs(miner: &M, best_block: EthBlockNumber, filter: &EthcoreFi } fn check_known(client: &C, number: BlockNumber) -> Result<()> where C: BlockChainClient { - use ethcore::block_status::BlockStatus; + use types::block_status::BlockStatus; let id = match number { BlockNumber::Pending => return Ok(()), @@ -625,7 +625,7 @@ impl Eth for EthClient< Box::new(future::done(res)) } - + fn storage_at(&self, address: RpcH160, pos: RpcU256, num: Trailing) -> BoxFuture { let address: Address = RpcH160::into(address); let position: U256 = RpcU256::into(pos); diff --git a/rpc/src/v1/impls/eth_filter.rs b/rpc/src/v1/impls/eth_filter.rs index 2245100f082..097460ece19 100644 --- a/rpc/src/v1/impls/eth_filter.rs +++ b/rpc/src/v1/impls/eth_filter.rs @@ -19,11 +19,11 @@ use std::sync::Arc; use std::collections::{BTreeSet, VecDeque}; -use ethcore::miner::{self, MinerService}; -use ethcore::filter::Filter as EthcoreFilter; use ethcore::client::{BlockChainClient, BlockId}; +use ethcore::miner::{self, MinerService}; use ethereum_types::H256; use parking_lot::Mutex; +use types::filter::Filter as EthcoreFilter; use jsonrpc_core::{BoxFuture, Result}; use jsonrpc_core::futures::{future, Future}; diff --git a/rpc/src/v1/impls/eth_pubsub.rs b/rpc/src/v1/impls/eth_pubsub.rs index 0e39f4e314f..eaefeac1be6 100644 --- a/rpc/src/v1/impls/eth_pubsub.rs +++ b/rpc/src/v1/impls/eth_pubsub.rs @@ -31,16 +31,16 @@ use v1::metadata::Metadata; use v1::traits::EthPubSub; use v1::types::{pubsub, RichHeader, Log}; -use ethcore::encoded; -use ethcore::filter::Filter as EthFilter; use ethcore::client::{BlockChainClient, ChainNotify, NewBlocks, ChainRouteType, BlockId}; -use sync::LightSync; +use ethereum_types::H256; use light::cache::Cache; -use light::on_demand::OnDemand; use light::client::{LightChainClient, LightChainNotify}; +use light::on_demand::OnDemand; use parity_runtime::Executor; -use ethereum_types::H256; use parking_lot::{RwLock, Mutex}; +use sync::LightSync; +use types::encoded; +use types::filter::Filter as EthFilter; type Client = Sink; diff --git a/rpc/src/v1/impls/light/eth.rs b/rpc/src/v1/impls/light/eth.rs index dffb88abf05..045a2f1d8ba 100644 --- a/rpc/src/v1/impls/light/eth.rs +++ b/rpc/src/v1/impls/light/eth.rs @@ -30,15 +30,15 @@ use light::{cht, TransactionQueue}; use light::on_demand::{request, OnDemand}; use ethcore::account_provider::AccountProvider; -use ethcore::encoded; -use ethcore::filter::Filter as EthcoreFilter; -use ethcore::ids::BlockId; -use sync::LightSync; -use hash::{KECCAK_NULL_RLP, KECCAK_EMPTY_LIST_RLP}; use ethereum_types::U256; +use hash::{KECCAK_NULL_RLP, KECCAK_EMPTY_LIST_RLP}; use parking_lot::{RwLock, Mutex}; use rlp::Rlp; -use transaction::SignedTransaction; +use sync::LightSync; +use types::transaction::SignedTransaction; +use types::encoded; +use types::filter::Filter as EthcoreFilter; +use types::ids::BlockId; use v1::impls::eth_filter::Filterable; use v1::helpers::{errors, limit_logs}; diff --git a/rpc/src/v1/impls/light/parity.rs b/rpc/src/v1/impls/light/parity.rs index 397167ad3eb..74eddeb665c 100644 --- a/rpc/src/v1/impls/light/parity.rs +++ b/rpc/src/v1/impls/light/parity.rs @@ -366,7 +366,7 @@ impl Parity for ParityClient { } fn block_header(&self, number: Trailing) -> BoxFuture { - use ethcore::encoded; + use types::encoded; let engine = self.light_dispatch.client.engine().clone(); let from_encoded = move |encoded: encoded::Header| { diff --git a/rpc/src/v1/impls/parity.rs b/rpc/src/v1/impls/parity.rs index c2d57a345f7..286e5d2ea7c 100644 --- a/rpc/src/v1/impls/parity.rs +++ b/rpc/src/v1/impls/parity.rs @@ -23,20 +23,20 @@ use ethereum_types::Address; use version::version_data; use crypto::DEFAULT_MAC; -use ethkey::{crypto::ecies, Brain, Generator}; -use ethstore::random_phrase; -use sync::{SyncProvider, ManageNetwork}; use ethcore::account_provider::AccountProvider; use ethcore::client::{BlockChainClient, StateClient, Call}; -use ethcore::ids::BlockId; use ethcore::miner::{self, MinerService}; use ethcore::snapshot::{SnapshotService, RestorationStatus}; use ethcore::state::StateInfo; use ethcore_logger::RotatingLogger; -use updater::{Service as UpdateService}; -use jsonrpc_core::{BoxFuture, Result}; +use ethkey::{crypto::ecies, Brain, Generator}; +use ethstore::random_phrase; use jsonrpc_core::futures::future; +use jsonrpc_core::{BoxFuture, Result}; use jsonrpc_macros::Trailing; +use sync::{SyncProvider, ManageNetwork}; +use types::ids::BlockId; +use updater::{Service as UpdateService}; use v1::helpers::block_import::is_major_importing; use v1::helpers::{self, errors, fake_sign, ipfs, SigningQueue, SignerService, NetworkSettings, verify_signature}; diff --git a/rpc/src/v1/impls/personal.rs b/rpc/src/v1/impls/personal.rs index 97f0eaf628b..c9c3e78e5c0 100644 --- a/rpc/src/v1/impls/personal.rs +++ b/rpc/src/v1/impls/personal.rs @@ -20,7 +20,7 @@ use std::time::Duration; use bytes::{Bytes, ToPretty}; use ethcore::account_provider::AccountProvider; -use transaction::PendingTransaction; +use types::transaction::PendingTransaction; use ethereum_types::{H520, U128, Address}; use ethkey::{public_to_address, recover, Signature}; diff --git a/rpc/src/v1/impls/private.rs b/rpc/src/v1/impls/private.rs index f4894ef578e..1d5b69a8a41 100644 --- a/rpc/src/v1/impls/private.rs +++ b/rpc/src/v1/impls/private.rs @@ -22,7 +22,7 @@ use rlp::Rlp; use ethcore_private_tx::Provider as PrivateTransactionManager; use ethereum_types::Address; -use transaction::SignedTransaction; +use types::transaction::SignedTransaction; use jsonrpc_core::{Error}; use v1::types::{Bytes, PrivateTransactionReceipt, H160, H256, TransactionRequest, U256, diff --git a/rpc/src/v1/impls/signer.rs b/rpc/src/v1/impls/signer.rs index 15cd21d2033..5e909c38c59 100644 --- a/rpc/src/v1/impls/signer.rs +++ b/rpc/src/v1/impls/signer.rs @@ -23,7 +23,7 @@ use ethkey; use parity_runtime::Executor; use parking_lot::Mutex; use rlp::Rlp; -use transaction::{SignedTransaction, PendingTransaction}; +use types::transaction::{SignedTransaction, PendingTransaction}; use jsonrpc_core::{Result, BoxFuture, Error}; use jsonrpc_core::futures::{future, Future, IntoFuture}; diff --git a/rpc/src/v1/impls/traces.rs b/rpc/src/v1/impls/traces.rs index 3abddd2f97d..825f8c17d51 100644 --- a/rpc/src/v1/impls/traces.rs +++ b/rpc/src/v1/impls/traces.rs @@ -20,7 +20,7 @@ use std::sync::Arc; use ethcore::client::{BlockChainClient, CallAnalytics, TransactionId, TraceId, StateClient, StateInfo, Call, BlockId}; use rlp::Rlp; -use transaction::SignedTransaction; +use types::transaction::SignedTransaction; use jsonrpc_core::Result; use jsonrpc_macros::Trailing; diff --git a/rpc/src/v1/tests/eth.rs b/rpc/src/v1/tests/eth.rs index 6892f991271..41042822852 100644 --- a/rpc/src/v1/tests/eth.rs +++ b/rpc/src/v1/tests/eth.rs @@ -18,22 +18,22 @@ use std::env; use std::sync::Arc; -use ethereum_types::{H256, Address}; use ethcore::account_provider::AccountProvider; use ethcore::client::{BlockChainClient, Client, ClientConfig, ChainInfo, ImportBlock}; use ethcore::ethereum; -use ethcore::ids::BlockId; use ethcore::miner::Miner; use ethcore::spec::{Genesis, Spec}; use ethcore::test_helpers; -use ethcore::verification::queue::kind::blocks::Unverified; use ethcore::verification::VerifierType; +use ethcore::verification::queue::kind::blocks::Unverified; +use ethereum_types::{H256, Address}; use ethjson::blockchain::BlockChain; use ethjson::spec::ForkSpec; use io::IoChannel; use miner::external::ExternalMiner; -use parking_lot::Mutex; use parity_runtime::Runtime; +use parking_lot::Mutex; +use types::ids::BlockId; use jsonrpc_core::IoHandler; use v1::helpers::dispatch::FullDispatcher; diff --git a/rpc/src/v1/tests/helpers/miner_service.rs b/rpc/src/v1/tests/helpers/miner_service.rs index c867e685460..95d7c4467b0 100644 --- a/rpc/src/v1/tests/helpers/miner_service.rs +++ b/rpc/src/v1/tests/helpers/miner_service.rs @@ -21,21 +21,23 @@ use std::collections::{BTreeMap, BTreeSet, HashMap}; use bytes::Bytes; use ethcore::account_provider::SignError as AccountError; -use ethcore::block::{Block, SealedBlock, IsBlock}; +use ethcore::block::{SealedBlock, IsBlock}; use ethcore::client::{Nonce, PrepareOpenBlock, StateClient, EngineInfo}; use ethcore::engines::EthEngine; use ethcore::error::Error; -use ethcore::header::{BlockNumber, Header}; -use ethcore::ids::BlockId; use ethcore::miner::{self, MinerService, AuthoringParams}; -use ethcore::receipt::RichReceipt; use ethereum_types::{H256, U256, Address}; +use ethkey::Password; use miner::pool::local_transactions::Status as LocalTransactionStatus; use miner::pool::{verifier, VerifiedTransaction, QueueStatus}; use parking_lot::{RwLock, Mutex}; -use transaction::{self, UnverifiedTransaction, SignedTransaction, PendingTransaction}; +use types::transaction::{self, UnverifiedTransaction, SignedTransaction, PendingTransaction}; use txpool; -use ethkey::Password; +use types::BlockNumber; +use types::block::Block; +use types::header::Header; +use types::ids::BlockId; +use types::receipt::RichReceipt; /// Test miner service. pub struct TestMinerService { diff --git a/rpc/src/v1/tests/mocked/eth.rs b/rpc/src/v1/tests/mocked/eth.rs index aaa7fd0a422..e2585ea0589 100644 --- a/rpc/src/v1/tests/mocked/eth.rs +++ b/rpc/src/v1/tests/mocked/eth.rs @@ -19,20 +19,20 @@ use std::collections::HashMap; use std::sync::Arc; use std::time::{Instant, Duration, SystemTime, UNIX_EPOCH}; -use ethereum_types::{H160, H256, U256, Address}; -use parking_lot::Mutex; use ethcore::account_provider::AccountProvider; use ethcore::client::{BlockChainClient, BlockId, EachBlockWith, Executed, TestBlockChainClient, TransactionId}; -use ethcore::log_entry::{LocalizedLogEntry, LogEntry}; use ethcore::miner::MinerService; -use ethcore::receipt::{LocalizedReceipt, TransactionOutcome}; +use ethereum_types::{H160, H256, U256, Address}; use ethkey::Secret; -use sync::SyncState; use miner::external::ExternalMiner; +use parity_runtime::Runtime; +use parking_lot::Mutex; use rlp; use rustc_hex::{FromHex, ToHex}; -use transaction::{Transaction, Action}; -use parity_runtime::Runtime; +use sync::SyncState; +use types::transaction::{Transaction, Action}; +use types::log_entry::{LocalizedLogEntry, LogEntry}; +use types::receipt::{LocalizedReceipt, TransactionOutcome}; use jsonrpc_core::IoHandler; use v1::{Eth, EthClient, EthClientOptions, EthFilter, EthFilterClient, EthSigning, SigningUnsafeClient}; @@ -584,7 +584,7 @@ fn rpc_eth_transaction_count_by_number_pending() { fn rpc_eth_pending_transaction_by_hash() { use ethereum_types::H256; use rlp; - use transaction::SignedTransaction; + use types::transaction::SignedTransaction; let tester = EthTester::default(); { diff --git a/rpc/src/v1/tests/mocked/eth_pubsub.rs b/rpc/src/v1/tests/mocked/eth_pubsub.rs index 2eb1295d835..077b1640405 100644 --- a/rpc/src/v1/tests/mocked/eth_pubsub.rs +++ b/rpc/src/v1/tests/mocked/eth_pubsub.rs @@ -84,9 +84,9 @@ fn should_subscribe_to_new_heads() { #[test] fn should_subscribe_to_logs() { - use ethcore::log_entry::{LocalizedLogEntry, LogEntry}; - use ethcore::ids::BlockId; use ethcore::client::BlockInfo; + use types::log_entry::{LocalizedLogEntry, LogEntry}; + use types::ids::BlockId; // given let el = Runtime::with_thread_count(1); diff --git a/rpc/src/v1/tests/mocked/parity.rs b/rpc/src/v1/tests/mocked/parity.rs index d978a4ac742..074a704fe9f 100644 --- a/rpc/src/v1/tests/mocked/parity.rs +++ b/rpc/src/v1/tests/mocked/parity.rs @@ -17,12 +17,12 @@ use std::sync::Arc; use ethcore::account_provider::AccountProvider; use ethcore::client::{TestBlockChainClient, Executed, TransactionId}; -use ethcore::receipt::{LocalizedReceipt, TransactionOutcome}; use ethcore_logger::RotatingLogger; use ethereum_types::{Address, U256, H256}; use ethstore::ethkey::{Generator, Random}; use miner::pool::local_transactions::Status as LocalTransactionStatus; use sync::ManageNetwork; +use types::receipt::{LocalizedReceipt, TransactionOutcome}; use jsonrpc_core::IoHandler; use v1::{Parity, ParityClient}; @@ -433,11 +433,11 @@ fn rpc_parity_transactions_stats() { fn rpc_parity_local_transactions() { let deps = Dependencies::new(); let io = deps.default_client(); - let tx = ::transaction::Transaction { + let tx = ::types::transaction::Transaction { value: 5.into(), gas: 3.into(), gas_price: 2.into(), - action: ::transaction::Action::Create, + action: ::types::transaction::Action::Create, data: vec![1, 2, 3], nonce: 0.into(), }.fake_sign(3.into()); diff --git a/rpc/src/v1/tests/mocked/parity_set.rs b/rpc/src/v1/tests/mocked/parity_set.rs index 6438a6661c3..e1617ed3866 100644 --- a/rpc/src/v1/tests/mocked/parity_set.rs +++ b/rpc/src/v1/tests/mocked/parity_set.rs @@ -210,7 +210,7 @@ fn rpc_parity_set_hash_content() { #[test] fn rpc_parity_remove_transaction() { - use transaction::{Transaction, Action}; + use types::transaction::{Transaction, Action}; let miner = miner_service(); let client = client_service(); diff --git a/rpc/src/v1/tests/mocked/personal.rs b/rpc/src/v1/tests/mocked/personal.rs index 143b19fa8d6..58e41144c4d 100644 --- a/rpc/src/v1/tests/mocked/personal.rs +++ b/rpc/src/v1/tests/mocked/personal.rs @@ -23,7 +23,7 @@ use ethcore::account_provider::AccountProvider; use ethcore::client::TestBlockChainClient; use jsonrpc_core::IoHandler; use parking_lot::Mutex; -use transaction::{Action, Transaction}; +use types::transaction::{Action, Transaction}; use parity_runtime::Runtime; use hash::keccak; diff --git a/rpc/src/v1/tests/mocked/signer.rs b/rpc/src/v1/tests/mocked/signer.rs index 679645bafba..cd749f0f8fa 100644 --- a/rpc/src/v1/tests/mocked/signer.rs +++ b/rpc/src/v1/tests/mocked/signer.rs @@ -24,7 +24,7 @@ use ethcore::client::TestBlockChainClient; use parity_runtime::Runtime; use parking_lot::Mutex; use rlp::encode; -use transaction::{Transaction, Action, SignedTransaction}; +use types::transaction::{Transaction, Action, SignedTransaction}; use serde_json; use jsonrpc_core::IoHandler; diff --git a/rpc/src/v1/tests/mocked/signing.rs b/rpc/src/v1/tests/mocked/signing.rs index dba0fbd22f4..c3cccd63b23 100644 --- a/rpc/src/v1/tests/mocked/signing.rs +++ b/rpc/src/v1/tests/mocked/signing.rs @@ -38,7 +38,7 @@ use ethkey::Secret; use ethstore::ethkey::{Generator, Random}; use parking_lot::Mutex; use serde_json; -use transaction::{Transaction, Action, SignedTransaction}; +use types::transaction::{Transaction, Action, SignedTransaction}; use parity_runtime::{Runtime, Executor}; struct SigningTester { diff --git a/rpc/src/v1/types/block.rs b/rpc/src/v1/types/block.rs index 8d8121766ba..73511ab389c 100644 --- a/rpc/src/v1/types/block.rs +++ b/rpc/src/v1/types/block.rs @@ -17,10 +17,10 @@ use std::ops::Deref; use std::collections::BTreeMap; -use ethcore::encoded::Header as EthHeader; - -use serde::{Serialize, Serializer}; use serde::ser::Error; +use serde::{Serialize, Serializer}; +use types::encoded::Header as EthHeader; + use v1::types::{Bytes, Transaction, H160, H256, H2048, U256}; /// Block Transactions diff --git a/rpc/src/v1/types/filter.rs b/rpc/src/v1/types/filter.rs index a0663b920e9..fbed2fd8498 100644 --- a/rpc/src/v1/types/filter.rs +++ b/rpc/src/v1/types/filter.rs @@ -14,12 +14,13 @@ // You should have received a copy of the GNU General Public License // along with Parity. If not, see . -use serde::{Deserialize, Deserializer, Serialize, Serializer}; +use jsonrpc_core::{Error as RpcError}; use serde::de::{Error, DeserializeOwned}; +use serde::{Deserialize, Deserializer, Serialize, Serializer}; use serde_json::{Value, from_value}; -use jsonrpc_core::{Error as RpcError}; -use ethcore::filter::Filter as EthFilter; -use ethcore::client::BlockId; +use types::filter::Filter as EthFilter; +use types::ids::BlockId; + use v1::types::{BlockNumber, H160, H256, Log}; use v1::helpers::errors::invalid_params; @@ -149,8 +150,8 @@ mod tests { use ethereum_types::H256; use super::{VariadicValue, Topic, Filter}; use v1::types::BlockNumber; - use ethcore::filter::Filter as EthFilter; - use ethcore::client::BlockId; + use types::filter::Filter as EthFilter; + use types::ids::BlockId; #[test] fn topic_deserialization() { diff --git a/rpc/src/v1/types/log.rs b/rpc/src/v1/types/log.rs index eaef71f75d7..9074ffeda25 100644 --- a/rpc/src/v1/types/log.rs +++ b/rpc/src/v1/types/log.rs @@ -14,7 +14,7 @@ // You should have received a copy of the GNU General Public License // along with Parity. If not, see . -use ethcore::log_entry::{LocalizedLogEntry, LogEntry}; +use types::log_entry::{LocalizedLogEntry, LogEntry}; use v1::types::{Bytes, H160, H256, U256}; /// Log diff --git a/rpc/src/v1/types/receipt.rs b/rpc/src/v1/types/receipt.rs index a5cbfd533aa..32f74f1cbef 100644 --- a/rpc/src/v1/types/receipt.rs +++ b/rpc/src/v1/types/receipt.rs @@ -15,7 +15,7 @@ // along with Parity. If not, see . use v1::types::{Log, H160, H256, H2048, U256, U64}; -use ethcore::receipt::{Receipt as EthReceipt, RichReceipt, LocalizedReceipt, TransactionOutcome}; +use types::receipt::{Receipt as EthReceipt, RichReceipt, LocalizedReceipt, TransactionOutcome}; /// Receipt #[derive(Debug, Serialize)] diff --git a/rpc/src/v1/types/trace.rs b/rpc/src/v1/types/trace.rs index 3237665425c..8de499ff2df 100644 --- a/rpc/src/v1/types/trace.rs +++ b/rpc/src/v1/types/trace.rs @@ -15,15 +15,17 @@ // along with Parity. If not, see . use std::collections::BTreeMap; -use serde::{Serialize, Serializer}; -use serde::ser::SerializeStruct; -use ethcore::trace::{FlatTrace, LocalizedTrace as EthLocalizedTrace, trace, TraceError}; -use ethcore::trace as et; -use ethcore::state_diff; -use ethcore::account_diff; + use ethcore::client::Executed; +use ethcore::trace as et; +use ethcore::trace::{FlatTrace, LocalizedTrace as EthLocalizedTrace, trace, TraceError}; use ethereum_types::H256 as EthH256; +use serde::ser::SerializeStruct; +use serde::{Serialize, Serializer}; +use types::account_diff; +use types::state_diff; use vm; + use v1::types::{Bytes, H160, H256, U256}; #[derive(Debug, Serialize)] diff --git a/rpc/src/v1/types/transaction.rs b/rpc/src/v1/types/transaction.rs index ebf983edb38..0b2547a3826 100644 --- a/rpc/src/v1/types/transaction.rs +++ b/rpc/src/v1/types/transaction.rs @@ -20,7 +20,7 @@ use serde::{Serialize, Serializer}; use serde::ser::SerializeStruct; use ethcore::{contract_address, CreateContractAddress}; use miner; -use transaction::{LocalizedTransaction, Action, PendingTransaction, SignedTransaction}; +use types::transaction::{LocalizedTransaction, Action, PendingTransaction, SignedTransaction}; use v1::types::{Bytes, H160, H256, U256, H512, U64, TransactionCondition}; /// Transaction diff --git a/rpc/src/v1/types/transaction_condition.rs b/rpc/src/v1/types/transaction_condition.rs index c4f7720c90f..29a3d8b1d96 100644 --- a/rpc/src/v1/types/transaction_condition.rs +++ b/rpc/src/v1/types/transaction_condition.rs @@ -14,7 +14,7 @@ // You should have received a copy of the GNU General Public License // along with Parity. If not, see . -use transaction; +use types::transaction; /// Represents condition on minimum block number or block timestamp. #[derive(Debug, Clone, Eq, PartialEq, Hash, Serialize, Deserialize)] diff --git a/secret-store/Cargo.toml b/secret-store/Cargo.toml index f431b6fbd34..5941c860277 100644 --- a/secret-store/Cargo.toml +++ b/secret-store/Cargo.toml @@ -7,6 +7,7 @@ authors = ["Parity Technologies "] [dependencies] byteorder = "1.0" +common-types = { path = "../ethcore/types" } log = "0.4" parking_lot = "0.7" hyper = { version = "0.12", default-features = false } @@ -26,7 +27,6 @@ parity-bytes = "0.1" parity-crypto = "0.2" ethcore-logger = { path = "../logger" } ethcore-sync = { path = "../ethcore/sync" } -ethcore-transaction = { path = "../ethcore/transaction" } ethereum-types = "0.4" kvdb = "0.1" keccak-hash = "0.1" diff --git a/secret-store/src/lib.rs b/secret-store/src/lib.rs index 1acbde38096..d0a430e2176 100644 --- a/secret-store/src/lib.rs +++ b/secret-store/src/lib.rs @@ -15,25 +15,25 @@ // along with Parity. If not, see . extern crate byteorder; +extern crate common_types; extern crate ethabi; extern crate ethcore; -extern crate parity_bytes as bytes; -extern crate parity_crypto as crypto; extern crate ethcore_logger as logger; extern crate ethcore_sync as sync; -extern crate ethcore_transaction as transaction; extern crate ethereum_types; extern crate ethkey; extern crate hyper; extern crate keccak_hash as hash; extern crate kvdb; +extern crate parity_bytes as bytes; +extern crate parity_crypto as crypto; +extern crate parity_runtime; extern crate parking_lot; extern crate rustc_hex; extern crate serde; extern crate serde_json; extern crate tiny_keccak; extern crate tokio; -extern crate parity_runtime; extern crate tokio_io; extern crate tokio_service; extern crate url; diff --git a/secret-store/src/listener/service_contract.rs b/secret-store/src/listener/service_contract.rs index 545ce80000d..4bb99eb5a32 100644 --- a/secret-store/src/listener/service_contract.rs +++ b/secret-store/src/listener/service_contract.rs @@ -16,10 +16,10 @@ use std::sync::Arc; use parking_lot::RwLock; +use common_types::filter::Filter; use ethabi::RawLog; use ethabi::FunctionOutputDecoder; use ethcore::client::{Client, BlockChainClient, BlockId, CallContract}; -use ethcore::filter::Filter; use ethkey::{Public, public_to_address}; use hash::keccak; use bytes::Bytes; diff --git a/secret-store/src/trusted_client.rs b/secret-store/src/trusted_client.rs index 24db2146000..669888e5816 100644 --- a/secret-store/src/trusted_client.rs +++ b/secret-store/src/trusted_client.rs @@ -16,11 +16,11 @@ use std::sync::{Arc, Weak}; use bytes::Bytes; +use common_types::transaction::{Transaction, SignedTransaction, Action}; use ethereum_types::Address; use ethcore::client::{Client, BlockChainClient, ChainInfo, Nonce, BlockId, RegistryInfo}; use ethcore::miner::{Miner, MinerService}; use sync::SyncProvider; -use transaction::{Transaction, SignedTransaction, Action}; use helpers::{get_confirmed_block_hash, REQUEST_CONFIRMATIONS_REQUIRED}; use {Error, NodeKeyPair, ContractAddress}; diff --git a/updater/Cargo.toml b/updater/Cargo.toml index 329a150e940..dd3417f880d 100644 --- a/updater/Cargo.toml +++ b/updater/Cargo.toml @@ -6,23 +6,24 @@ license = "GPL-3.0" authors = ["Parity Technologies "] [dependencies] -keccak-hash = "0.1" -lazy_static = "1.0" -log = "0.4" +common-types = { path = "../ethcore/types" } ethabi = "6.0" -ethabi-derive = "6.0" ethabi-contract = "6.0" -target_info = "0.1" -semver = "0.9" +ethabi-derive = "6.0" ethcore = { path = "../ethcore" } -parity-bytes = "0.1" ethcore-sync = { path = "../ethcore/sync" } ethereum-types = "0.4" -parking_lot = "0.7" +keccak-hash = "0.1" +lazy_static = "1.0" +log = "0.4" +parity-bytes = "0.1" parity-hash-fetch = { path = "hash-fetch" } -parity-version = { path = "../util/version" } parity-path = "0.1" +parity-version = { path = "../util/version" } +parking_lot = "0.7" rand = "0.4" +semver = "0.9" +target_info = "0.1" [dev-dependencies] ethcore = { path = "../ethcore", features = ["test-helpers"] } diff --git a/updater/src/lib.rs b/updater/src/lib.rs index 611572fac9f..56c7065dbf1 100644 --- a/updater/src/lib.rs +++ b/updater/src/lib.rs @@ -18,16 +18,17 @@ #![warn(missing_docs)] +extern crate common_types; extern crate ethabi; extern crate ethcore; -extern crate parity_bytes as bytes; extern crate ethcore_sync as sync; extern crate ethereum_types; extern crate keccak_hash as hash; +extern crate parity_bytes as bytes; extern crate parity_hash_fetch as hash_fetch; +extern crate parity_path; extern crate parity_version as version; extern crate parking_lot; -extern crate parity_path; extern crate rand; extern crate semver; extern crate target_info; diff --git a/updater/src/updater.rs b/updater/src/updater.rs index 4b968625a4d..8c8539d1131 100644 --- a/updater/src/updater.rs +++ b/updater/src/updater.rs @@ -25,9 +25,9 @@ use parking_lot::{Mutex, MutexGuard}; use rand::{self, Rng}; use target_info::Target; -use ethcore::BlockNumber; +use common_types::BlockNumber; +use common_types::filter::Filter; use ethcore::client::{BlockId, BlockChainClient, ChainNotify, NewBlocks}; -use ethcore::filter::Filter; use ethereum_types::H256; use hash_fetch::{self as fetch, HashFetch}; use parity_path::restrict_permissions_owner; From 90fb473d87caf1626abc0987ca9e2c58da685c24 Mon Sep 17 00:00:00 2001 From: Sergei Pepyakin Date: Fri, 4 Jan 2019 16:56:56 +0100 Subject: [PATCH 11/68] Update pwasm-utils to 0.6.1 (#10134) --- Cargo.lock | 6 +++--- ethcore/wasm/Cargo.toml | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index dec069ec691..490c277ec3f 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2987,7 +2987,7 @@ dependencies = [ [[package]] name = "pwasm-utils" -version = "0.2.2" +version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "byteorder 1.2.6 (registry+https://github.com/rust-lang/crates.io-index)", @@ -4213,7 +4213,7 @@ dependencies = [ "libc 0.2.43 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.4.5 (registry+https://github.com/rust-lang/crates.io-index)", "parity-wasm 0.31.3 (registry+https://github.com/rust-lang/crates.io-index)", - "pwasm-utils 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", + "pwasm-utils 0.6.1 (registry+https://github.com/rust-lang/crates.io-index)", "vm 0.1.0", "wasmi 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -4567,7 +4567,7 @@ dependencies = [ "checksum proc-macro2 0.4.20 (registry+https://github.com/rust-lang/crates.io-index)" = "3d7b7eaaa90b4a90a932a9ea6666c95a389e424eff347f0f793979289429feee" "checksum protobuf 1.7.4 (registry+https://github.com/rust-lang/crates.io-index)" = "52fbc45bf6709565e44ef31847eb7407b3c3c80af811ee884a04da071dcca12b" "checksum pulldown-cmark 0.0.3 (registry+https://github.com/rust-lang/crates.io-index)" = "8361e81576d2e02643b04950e487ec172b687180da65c731c03cf336784e6c07" -"checksum pwasm-utils 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "90d2b3c5bf24275fc77db6b14ec00a7a085d8ff9d1c4215fb6f6263e8d7b01bc" +"checksum pwasm-utils 0.6.1 (registry+https://github.com/rust-lang/crates.io-index)" = "7e9135bed7b452e20dbb395a2d519abaf0c46d60e7ecc02daeeab447d29bada1" "checksum quick-error 1.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "9274b940887ce9addde99c4eee6b5c44cc494b182b97e73dc8ffdcb3397fd3f0" "checksum quote 0.3.15 (registry+https://github.com/rust-lang/crates.io-index)" = "7a6e920b65c65f10b2ae65c831a81a073a89edd28c7cce89475bff467ab4167a" "checksum quote 0.6.8 (registry+https://github.com/rust-lang/crates.io-index)" = "dd636425967c33af890042c483632d33fa7a18f19ad1d7ea72e8998c6ef8dea5" diff --git a/ethcore/wasm/Cargo.toml b/ethcore/wasm/Cargo.toml index 93571be6275..c2bf6b29695 100644 --- a/ethcore/wasm/Cargo.toml +++ b/ethcore/wasm/Cargo.toml @@ -9,7 +9,7 @@ ethereum-types = "0.4" log = "0.4" parity-wasm = "0.31" libc = "0.2" -pwasm-utils = "0.2.2" +pwasm-utils = "0.6.1" vm = { path = "../vm" } ethcore-logger = { path = "../../logger" } wasmi = "0.3.0" From b180be7526a0de63435b8272f54dedca71efbf64 Mon Sep 17 00:00:00 2001 From: Anton Gavrilov Date: Fri, 4 Jan 2019 19:57:01 +0100 Subject: [PATCH 12/68] Private tx enabled flag added into STATUS packet (#9999) * Add private tx enabled flag into status packet * Error log added for the case with no peers available * Add flag only for supported protocol versions * Work with private handler refactored * Log target changed * Cargo.lock updated --- Cargo.lock | 4 +-- ethcore/sync/src/api.rs | 4 +-- ethcore/sync/src/chain/handler.rs | 45 +++++++++++++++++++++++----- ethcore/sync/src/chain/mod.rs | 23 +++++++++----- ethcore/sync/src/chain/propagator.rs | 24 ++++++++------- ethcore/sync/src/tests/helpers.rs | 4 +-- parity/modules.rs | 2 +- parity/run.rs | 9 ++++-- 8 files changed, 81 insertions(+), 34 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 490c277ec3f..9d4e2cab63c 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1078,7 +1078,7 @@ dependencies = [ "ethcore-private-tx 1.0.0", "ethereum-types 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", "ethkey 0.3.0", - "ethstore 0.2.0", + "ethstore 0.2.1", "fastmap 0.1.0", "hashdb 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", "heapsize 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", @@ -2401,7 +2401,7 @@ dependencies = [ "ethcore-sync 1.12.0", "ethereum-types 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", "ethkey 0.3.0", - "ethstore 0.2.0", + "ethstore 0.2.1", "fake-fetch 0.0.1", "fdlimit 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", "futures 0.1.25 (registry+https://github.com/rust-lang/crates.io-index)", diff --git a/ethcore/sync/src/api.rs b/ethcore/sync/src/api.rs index 108d8bf0ff5..1afbd3960a5 100644 --- a/ethcore/sync/src/api.rs +++ b/ethcore/sync/src/api.rs @@ -268,7 +268,7 @@ pub struct Params { /// Snapshot service. pub snapshot_service: Arc, /// Private tx service. - pub private_tx_handler: Arc, + pub private_tx_handler: Option>, /// Light data provider. pub provider: Arc<::light::Provider>, /// Network layer configuration. @@ -349,7 +349,7 @@ impl EthSync { let sync = ChainSyncApi::new( params.config, &*params.chain, - params.private_tx_handler.clone(), + params.private_tx_handler.as_ref().cloned(), priority_tasks_rx, ); let service = NetworkService::new(params.network_config.clone().into_basic()?, connection_filter)?; diff --git a/ethcore/sync/src/chain/handler.rs b/ethcore/sync/src/chain/handler.rs index 6a3a50bfd21..17fd8c08dca 100644 --- a/ethcore/sync/src/chain/handler.rs +++ b/ethcore/sync/src/chain/handler.rs @@ -557,7 +557,9 @@ impl SyncHandler { fn on_peer_status(sync: &mut ChainSync, io: &mut SyncIo, peer_id: PeerId, r: &Rlp) -> Result<(), DownloaderImportError> { sync.handshaking_peers.remove(&peer_id); let protocol_version: u8 = r.val_at(0)?; - let warp_protocol = io.protocol_version(&WARP_SYNC_PROTOCOL_ID, peer_id) != 0; + let warp_protocol_version = io.protocol_version(&WARP_SYNC_PROTOCOL_ID, peer_id); + let warp_protocol = warp_protocol_version != 0; + let private_tx_protocol = warp_protocol_version >= PAR_PROTOCOL_VERSION_3.0; let peer = PeerInfo { protocol_version: protocol_version, network_id: r.val_at(1)?, @@ -576,10 +578,26 @@ impl SyncHandler { snapshot_hash: if warp_protocol { Some(r.val_at(5)?) } else { None }, snapshot_number: if warp_protocol { Some(r.val_at(6)?) } else { None }, block_set: None, + private_tx_enabled: if private_tx_protocol { r.val_at(7).unwrap_or(false) } else { false }, }; - trace!(target: "sync", "New peer {} (protocol: {}, network: {:?}, difficulty: {:?}, latest:{}, genesis:{}, snapshot:{:?})", - peer_id, peer.protocol_version, peer.network_id, peer.difficulty, peer.latest_hash, peer.genesis, peer.snapshot_number); + trace!(target: "sync", "New peer {} (\ + protocol: {}, \ + network: {:?}, \ + difficulty: {:?}, \ + latest:{}, \ + genesis:{}, \ + snapshot:{:?}, \ + private_tx_enabled:{})", + peer_id, + peer.protocol_version, + peer.network_id, + peer.difficulty, + peer.latest_hash, + peer.genesis, + peer.snapshot_number, + peer.private_tx_enabled + ); if io.is_expired() { trace!(target: "sync", "Status packet from expired session {}:{}", peer_id, io.peer_info(peer_id)); return Ok(()); @@ -654,9 +672,15 @@ impl SyncHandler { trace!(target: "sync", "{} Ignoring packet from unconfirmed/unknown peer", peer_id); return Ok(()); } - + let private_handler = match sync.private_tx_handler { + Some(ref handler) => handler, + None => { + trace!(target: "sync", "{} Ignoring private tx packet from peer", peer_id); + return Ok(()); + } + }; trace!(target: "sync", "Received signed private transaction packet from {:?}", peer_id); - match sync.private_tx_handler.import_signed_private_transaction(r.as_raw()) { + match private_handler.import_signed_private_transaction(r.as_raw()) { Ok(transaction_hash) => { //don't send the packet back if let Some(ref mut peer) = sync.peers.get_mut(&peer_id) { @@ -676,10 +700,15 @@ impl SyncHandler { trace!(target: "sync", "{} Ignoring packet from unconfirmed/unknown peer", peer_id); return Ok(()); } - + let private_handler = match sync.private_tx_handler { + Some(ref handler) => handler, + None => { + trace!(target: "sync", "{} Ignoring private tx packet from peer", peer_id); + return Ok(()); + } + }; trace!(target: "sync", "Received private transaction packet from {:?}", peer_id); - - match sync.private_tx_handler.import_private_transaction(r.as_raw()) { + match private_handler.import_private_transaction(r.as_raw()) { Ok(transaction_hash) => { //don't send the packet back if let Some(ref mut peer) = sync.peers.get_mut(&peer_id) { diff --git a/ethcore/sync/src/chain/mod.rs b/ethcore/sync/src/chain/mod.rs index ff976f6680d..63824752a4a 100644 --- a/ethcore/sync/src/chain/mod.rs +++ b/ethcore/sync/src/chain/mod.rs @@ -333,6 +333,8 @@ pub struct PeerInfo { last_sent_private_transactions: H256FastSet, /// Pending request is expired and result should be ignored expired: bool, + /// Private transactions enabled + private_tx_enabled: bool, /// Peer fork confirmation status confirmation: ForkConfirmation, /// Best snapshot hash @@ -395,7 +397,7 @@ impl ChainSyncApi { pub fn new( config: SyncConfig, chain: &BlockChainClient, - private_tx_handler: Arc, + private_tx_handler: Option>, priority_tasks: mpsc::Receiver, ) -> Self { ChainSyncApi { @@ -626,7 +628,7 @@ pub struct ChainSync { /// Enable ancient block downloading download_old_blocks: bool, /// Shared private tx service. - private_tx_handler: Arc, + private_tx_handler: Option>, /// Enable warp sync. warp_sync: WarpSync, } @@ -636,7 +638,7 @@ impl ChainSync { pub fn new( config: SyncConfig, chain: &BlockChainClient, - private_tx_handler: Arc, + private_tx_handler: Option>, ) -> Self { let chain_info = chain.chain_info(); let best_block = chain.chain_info().best_block_number; @@ -1120,9 +1122,11 @@ impl ChainSync { fn send_status(&mut self, io: &mut SyncIo, peer: PeerId) -> Result<(), network::Error> { let warp_protocol_version = io.protocol_version(&WARP_SYNC_PROTOCOL_ID, peer); let warp_protocol = warp_protocol_version != 0; + let private_tx_protocol = warp_protocol_version >= PAR_PROTOCOL_VERSION_3.0; let protocol = if warp_protocol { warp_protocol_version } else { ETH_PROTOCOL_VERSION_63.0 }; trace!(target: "sync", "Sending status to {}, protocol version {}", peer, protocol); - let mut packet = RlpStream::new_list(if warp_protocol { 7 } else { 5 }); + let mut packet = RlpStream::new(); + packet.begin_unbounded_list(); let chain = io.chain().chain_info(); packet.append(&(protocol as u32)); packet.append(&self.network_id); @@ -1135,7 +1139,11 @@ impl ChainSync { let manifest_hash = manifest.map_or(H256::new(), |m| keccak(m.into_rlp())); packet.append(&manifest_hash); packet.append(&block_number); + if private_tx_protocol { + packet.append(&self.private_tx_handler.is_some()); + } } + packet.complete_unbounded_list(); io.respond(STATUS_PACKET, packet.out()) } @@ -1246,7 +1254,8 @@ impl ChainSync { fn get_private_transaction_peers(&self, transaction_hash: &H256) -> Vec { self.peers.iter().filter_map( |(id, p)| if p.protocol_version >= PAR_PROTOCOL_VERSION_3.0 - && !p.last_sent_private_transactions.contains(transaction_hash) { + && !p.last_sent_private_transactions.contains(transaction_hash) + && p.private_tx_enabled { Some(*id) } else { None @@ -1342,7 +1351,6 @@ pub mod tests { use ethcore::client::{BlockChainClient, EachBlockWith, TestBlockChainClient, ChainInfo, BlockInfo}; use ethcore::miner::{MinerService, PendingOrdering}; use types::header::Header; - use private_tx::NoopPrivateTxHandler; pub fn get_dummy_block(order: u32, parent_hash: H256) -> Bytes { let mut header = Header::new(); @@ -1426,7 +1434,7 @@ pub mod tests { } pub fn dummy_sync_with_peer(peer_latest_hash: H256, client: &BlockChainClient) -> ChainSync { - let mut sync = ChainSync::new(SyncConfig::default(), client, Arc::new(NoopPrivateTxHandler)); + let mut sync = ChainSync::new(SyncConfig::default(), client, None); insert_dummy_peer(&mut sync, 0, peer_latest_hash); sync } @@ -1446,6 +1454,7 @@ pub mod tests { last_sent_transactions: Default::default(), last_sent_private_transactions: Default::default(), expired: false, + private_tx_enabled: false, confirmation: super::ForkConfirmation::Confirmed, snapshot_number: None, snapshot_hash: None, diff --git a/ethcore/sync/src/chain/propagator.rs b/ethcore/sync/src/chain/propagator.rs index de57ede0989..06d6cf54a2d 100644 --- a/ethcore/sync/src/chain/propagator.rs +++ b/ethcore/sync/src/chain/propagator.rs @@ -313,12 +313,16 @@ impl SyncPropagator { /// Broadcast private transaction message to peers. pub fn propagate_private_transaction(sync: &mut ChainSync, io: &mut SyncIo, transaction_hash: H256, packet_id: PacketId, packet: Bytes) { let lucky_peers = ChainSync::select_random_peers(&sync.get_private_transaction_peers(&transaction_hash)); - trace!(target: "sync", "Sending private transaction packet to {:?}", lucky_peers); - for peer_id in lucky_peers { - if let Some(ref mut peer) = sync.peers.get_mut(&peer_id) { - peer.last_sent_private_transactions.insert(transaction_hash); + if lucky_peers.is_empty() { + error!(target: "privatetx", "Cannot propagate the packet, no peers with private tx enabled connected"); + } else { + trace!(target: "privatetx", "Sending private transaction packet to {:?}", lucky_peers); + for peer_id in lucky_peers { + if let Some(ref mut peer) = sync.peers.get_mut(&peer_id) { + peer.last_sent_private_transactions.insert(transaction_hash); + } + SyncPropagator::send_packet(io, peer_id, packet_id, packet.clone()); } - SyncPropagator::send_packet(io, peer_id, packet_id, packet.clone()); } } @@ -350,7 +354,6 @@ impl SyncPropagator { mod tests { use ethcore::client::{BlockInfo, ChainInfo, EachBlockWith, TestBlockChainClient}; use parking_lot::RwLock; - use private_tx::NoopPrivateTxHandler; use rlp::{Rlp}; use std::collections::{VecDeque}; use tests::helpers::{TestIo}; @@ -426,7 +429,7 @@ mod tests { client.add_blocks(2, EachBlockWith::Uncle); let queue = RwLock::new(VecDeque::new()); let block = client.block(BlockId::Latest).unwrap().into_inner(); - let mut sync = ChainSync::new(SyncConfig::default(), &client, Arc::new(NoopPrivateTxHandler)); + let mut sync = ChainSync::new(SyncConfig::default(), &client, None); sync.peers.insert(0, PeerInfo { // Messaging protocol @@ -442,6 +445,7 @@ mod tests { last_sent_transactions: Default::default(), last_sent_private_transactions: Default::default(), expired: false, + private_tx_enabled: false, confirmation: ForkConfirmation::Confirmed, snapshot_number: None, snapshot_hash: None, @@ -514,7 +518,7 @@ mod tests { client.add_blocks(100, EachBlockWith::Uncle); client.insert_transaction_to_queue(); // Sync with no peers - let mut sync = ChainSync::new(SyncConfig::default(), &client, Arc::new(NoopPrivateTxHandler)); + let mut sync = ChainSync::new(SyncConfig::default(), &client, None); let queue = RwLock::new(VecDeque::new()); let ss = TestSnapshotService::new(); let mut io = TestIo::new(&mut client, &ss, &queue, None); @@ -584,7 +588,7 @@ mod tests { let mut client = TestBlockChainClient::new(); client.insert_transaction_with_gas_price_to_queue(U256::zero()); let block_hash = client.block_hash_delta_minus(1); - let mut sync = ChainSync::new(SyncConfig::default(), &client, Arc::new(NoopPrivateTxHandler)); + let mut sync = ChainSync::new(SyncConfig::default(), &client, None); let queue = RwLock::new(VecDeque::new()); let ss = TestSnapshotService::new(); let mut io = TestIo::new(&mut client, &ss, &queue, None); @@ -617,7 +621,7 @@ mod tests { let tx1_hash = client.insert_transaction_to_queue(); let tx2_hash = client.insert_transaction_with_gas_price_to_queue(U256::zero()); let block_hash = client.block_hash_delta_minus(1); - let mut sync = ChainSync::new(SyncConfig::default(), &client, Arc::new(NoopPrivateTxHandler)); + let mut sync = ChainSync::new(SyncConfig::default(), &client, None); let queue = RwLock::new(VecDeque::new()); let ss = TestSnapshotService::new(); let mut io = TestIo::new(&mut client, &ss, &queue, None); diff --git a/ethcore/sync/src/tests/helpers.rs b/ethcore/sync/src/tests/helpers.rs index 915a3a26aea..60f49cd2d03 100644 --- a/ethcore/sync/src/tests/helpers.rs +++ b/ethcore/sync/src/tests/helpers.rs @@ -341,7 +341,7 @@ impl TestNet> { let chain = TestBlockChainClient::new(); let ss = Arc::new(TestSnapshotService::new()); let private_tx_handler = Arc::new(SimplePrivateTxHandler::default()); - let sync = ChainSync::new(config.clone(), &chain, private_tx_handler.clone()); + let sync = ChainSync::new(config.clone(), &chain, Some(private_tx_handler.clone())); net.peers.push(Arc::new(EthPeer { sync: RwLock::new(sync), snapshot_service: ss, @@ -395,7 +395,7 @@ impl TestNet> { let private_tx_handler = Arc::new(SimplePrivateTxHandler::default()); let ss = Arc::new(TestSnapshotService::new()); - let sync = ChainSync::new(config, &*client, private_tx_handler.clone()); + let sync = ChainSync::new(config, &*client, Some(private_tx_handler.clone())); let peer = Arc::new(EthPeer { sync: RwLock::new(sync), snapshot_service: ss, diff --git a/parity/modules.rs b/parity/modules.rs index ac84aea5f21..3b5add61258 100644 --- a/parity/modules.rs +++ b/parity/modules.rs @@ -37,7 +37,7 @@ pub fn sync( network_config: NetworkConfiguration, chain: Arc, snapshot_service: Arc, - private_tx_handler: Arc, + private_tx_handler: Option>, provider: Arc, _log_settings: &LogConfig, attached_protos: Vec, diff --git a/parity/run.rs b/parity/run.rs index 4be9539a563..1df495228e9 100644 --- a/parity/run.rs +++ b/parity/run.rs @@ -31,7 +31,7 @@ use ethcore::verification::queue::VerifierSettings; use ethcore_logger::{Config as LogConfig, RotatingLogger}; use ethcore_service::ClientService; use ethereum_types::Address; -use sync::{self, SyncConfig}; +use sync::{self, SyncConfig, PrivateTxHandler}; use miner::work_notify::WorkPoster; use futures::IntoFuture; use hash_fetch::{self, fetch}; @@ -666,13 +666,18 @@ fn execute_impl(cmd: RunCmd, logger: Arc, on_client_rq: None }; + let private_tx_sync: Option> = match cmd.private_tx_enabled { + true => Some(private_tx_service.clone() as Arc), + false => None, + }; + // create sync object let (sync_provider, manage_network, chain_notify, priority_tasks) = modules::sync( sync_config, net_conf.clone().into(), client.clone(), snapshot_service.clone(), - private_tx_service.clone(), + private_tx_sync, client.clone(), &cmd.logger_config, attached_protos, From e435407080cda4e7a51de22e10d062b847e9681a Mon Sep 17 00:00:00 2001 From: Nicolas Gotchac Date: Fri, 4 Jan 2019 19:58:21 +0100 Subject: [PATCH 13/68] Don't try to send oversized packets (#10042) * Don't construct oversized packets * Add test for payload limit * [eth-sync] Fix wrongly computed data sizes * Replace `MAX_RECEIPTS_TO_SEND` with overall softlimit --- ethcore/src/client/test_client.rs | 40 ++++++++++++------ ethcore/sync/src/chain/mod.rs | 1 - ethcore/sync/src/chain/supplier.rs | 61 +++++++++++++++++++++++++-- ethcore/sync/src/sync_io.rs | 6 +++ ethcore/sync/src/tests/helpers.rs | 4 ++ util/network-devp2p/src/connection.rs | 4 ++ util/network-devp2p/src/host.rs | 5 +++ util/network/src/lib.rs | 7 +++ 8 files changed, 109 insertions(+), 19 deletions(-) diff --git a/ethcore/src/client/test_client.rs b/ethcore/src/client/test_client.rs index b2e1e23f5b8..c0990b720e9 100644 --- a/ethcore/src/client/test_client.rs +++ b/ethcore/src/client/test_client.rs @@ -129,6 +129,8 @@ pub enum EachBlockWith { Uncle, /// Block with a transaction. Transaction, + /// Block with multiple transactions. + Transactions(usize), /// Block with an uncle and transaction. UncleAndTransaction } @@ -274,21 +276,31 @@ impl TestBlockChainClient { _ => RlpStream::new_list(0) }; let txs = match with { - EachBlockWith::Transaction | EachBlockWith::UncleAndTransaction => { - let mut txs = RlpStream::new_list(1); - let keypair = Random.generate().unwrap(); - // Update nonces value - self.nonces.write().insert(keypair.address(), U256::one()); - let tx = Transaction { - action: Action::Create, - value: U256::from(100), - data: "3331600055".from_hex().unwrap(), - gas: U256::from(100_000), - gas_price: U256::from(200_000_000_000u64), - nonce: U256::zero() + EachBlockWith::Transaction | EachBlockWith::UncleAndTransaction | EachBlockWith::Transactions(_) => { + let num_transactions = match with { + EachBlockWith::Transactions(num) => num, + _ => 1, }; - let signed_tx = tx.sign(keypair.secret(), None); - txs.append(&signed_tx); + let mut txs = RlpStream::new_list(num_transactions); + let keypair = Random.generate().unwrap(); + let mut nonce = U256::zero(); + + for _ in 0..num_transactions { + // Update nonces value + let tx = Transaction { + action: Action::Create, + value: U256::from(100), + data: "3331600055".from_hex().unwrap(), + gas: U256::from(100_000), + gas_price: U256::from(200_000_000_000u64), + nonce: nonce + }; + let signed_tx = tx.sign(keypair.secret(), None); + txs.append(&signed_tx); + nonce += U256::one(); + } + + self.nonces.write().insert(keypair.address(), nonce); txs.out() }, _ => ::rlp::EMPTY_LIST_RLP.to_vec() diff --git a/ethcore/sync/src/chain/mod.rs b/ethcore/sync/src/chain/mod.rs index 63824752a4a..d5841dac546 100644 --- a/ethcore/sync/src/chain/mod.rs +++ b/ethcore/sync/src/chain/mod.rs @@ -140,7 +140,6 @@ pub const PAR_PROTOCOL_VERSION_3: (u8, u8) = (3, 0x18); pub const MAX_BODIES_TO_SEND: usize = 256; pub const MAX_HEADERS_TO_SEND: usize = 512; pub const MAX_NODE_DATA_TO_SEND: usize = 1024; -pub const MAX_RECEIPTS_TO_SEND: usize = 1024; pub const MAX_RECEIPTS_HEADERS_TO_SEND: usize = 256; const MIN_PEERS_PROPAGATION: usize = 4; const MAX_PEERS_PROPAGATION: usize = 128; diff --git a/ethcore/sync/src/chain/supplier.rs b/ethcore/sync/src/chain/supplier.rs index 066a586e12a..ca6380416d8 100644 --- a/ethcore/sync/src/chain/supplier.rs +++ b/ethcore/sync/src/chain/supplier.rs @@ -43,7 +43,6 @@ use super::{ MAX_HEADERS_TO_SEND, MAX_NODE_DATA_TO_SEND, MAX_RECEIPTS_HEADERS_TO_SEND, - MAX_RECEIPTS_TO_SEND, NODE_DATA_PACKET, RECEIPTS_PACKET, SNAPSHOT_DATA_PACKET, @@ -127,6 +126,7 @@ impl SyncSupplier { /// Respond to GetBlockHeaders request fn return_block_headers(io: &SyncIo, r: &Rlp, peer_id: PeerId) -> RlpResponseResult { + let payload_soft_limit = io.payload_soft_limit(); // Packet layout: // [ block: { P , B_32 }, maxHeaders: P, skip: P, reverse: P in { 0 , 1 } ] let max_headers: usize = r.val_at(1)?; @@ -182,6 +182,10 @@ impl SyncSupplier { } else if let Some(hdr) = io.chain().block_header(BlockId::Number(number)) { data.append(&mut hdr.into_inner()); count += 1; + // Check that the packet won't be oversized + if data.len() > payload_soft_limit { + break; + } } else { // No required block. break; @@ -203,6 +207,7 @@ impl SyncSupplier { /// Respond to GetBlockBodies request fn return_block_bodies(io: &SyncIo, r: &Rlp, peer_id: PeerId) -> RlpResponseResult { + let payload_soft_limit = io.payload_soft_limit(); let mut count = r.item_count().unwrap_or(0); if count == 0 { debug!(target: "sync", "Empty GetBlockBodies request, ignoring."); @@ -215,6 +220,10 @@ impl SyncSupplier { if let Some(body) = io.chain().block_body(BlockId::Hash(r.val_at::(i)?)) { data.append(&mut body.into_inner()); added += 1; + // Check that the packet won't be oversized + if data.len() > payload_soft_limit { + break; + } } } let mut rlp = RlpStream::new_list(added); @@ -225,6 +234,7 @@ impl SyncSupplier { /// Respond to GetNodeData request fn return_node_data(io: &SyncIo, r: &Rlp, peer_id: PeerId) -> RlpResponseResult { + let payload_soft_limit = io.payload_soft_limit(); let mut count = r.item_count().unwrap_or(0); trace!(target: "sync", "{} -> GetNodeData: {} entries", peer_id, count); if count == 0 { @@ -234,8 +244,14 @@ impl SyncSupplier { count = cmp::min(count, MAX_NODE_DATA_TO_SEND); let mut added = 0usize; let mut data = Vec::new(); + let mut total_bytes = 0; for i in 0..count { if let Some(node) = io.chain().state_data(&r.val_at::(i)?) { + total_bytes += node.len(); + // Check that the packet won't be oversized + if total_bytes > payload_soft_limit { + break; + } data.push(node); added += 1; } @@ -249,6 +265,7 @@ impl SyncSupplier { } fn return_receipts(io: &SyncIo, rlp: &Rlp, peer_id: PeerId) -> RlpResponseResult { + let payload_soft_limit = io.payload_soft_limit(); let mut count = rlp.item_count().unwrap_or(0); trace!(target: "sync", "{} -> GetReceipts: {} entries", peer_id, count); if count == 0 { @@ -257,15 +274,15 @@ impl SyncSupplier { } count = cmp::min(count, MAX_RECEIPTS_HEADERS_TO_SEND); let mut added_headers = 0usize; - let mut added_receipts = 0usize; let mut data = Bytes::new(); + let mut total_bytes = 0; for i in 0..count { if let Some(receipts) = io.chain().block_receipts(&rlp.val_at::(i)?) { let mut receipts_bytes = ::rlp::encode(&receipts); + total_bytes += receipts_bytes.len(); + if total_bytes > payload_soft_limit { break; } data.append(&mut receipts_bytes); - added_receipts += receipts_bytes.len(); added_headers += 1; - if added_receipts > MAX_RECEIPTS_TO_SEND { break; } } } let mut rlp_result = RlpStream::new_list(added_headers); @@ -410,6 +427,42 @@ mod test { assert_eq!(to_header_vec(result), vec![headers[50].clone(), headers[44].clone(), headers[38].clone()]); } + #[test] + fn respect_packet_limit() { + let small_num_blocks = 10; + let large_num_blocks = 50; + let tx_per_block = 100; + + let mut client = TestBlockChainClient::new(); + client.add_blocks(large_num_blocks, EachBlockWith::Transactions(tx_per_block)); + + let mut small_rlp_request = RlpStream::new_list(small_num_blocks); + let mut large_rlp_request = RlpStream::new_list(large_num_blocks); + + for i in 0..small_num_blocks { + let hash: H256 = client.block_hash(BlockId::Number(i as u64)).unwrap(); + small_rlp_request.append(&hash); + large_rlp_request.append(&hash); + } + + for i in small_num_blocks..large_num_blocks { + let hash: H256 = client.block_hash(BlockId::Number(i as u64)).unwrap(); + large_rlp_request.append(&hash); + } + + let queue = RwLock::new(VecDeque::new()); + let ss = TestSnapshotService::new(); + let io = TestIo::new(&mut client, &ss, &queue, None); + + let small_result = SyncSupplier::return_block_bodies(&io, &Rlp::new(&small_rlp_request.out()), 0); + let small_result = small_result.unwrap().unwrap().1; + assert_eq!(Rlp::new(&small_result.out()).item_count().unwrap(), small_num_blocks); + + let large_result = SyncSupplier::return_block_bodies(&io, &Rlp::new(&large_rlp_request.out()), 0); + let large_result = large_result.unwrap().unwrap().1; + assert!(Rlp::new(&large_result.out()).item_count().unwrap() < large_num_blocks); + } + #[test] fn return_nodes() { let mut client = TestBlockChainClient::new(); diff --git a/ethcore/sync/src/sync_io.rs b/ethcore/sync/src/sync_io.rs index 4516394aa4f..e3457ea551d 100644 --- a/ethcore/sync/src/sync_io.rs +++ b/ethcore/sync/src/sync_io.rs @@ -58,6 +58,8 @@ pub trait SyncIo { fn is_expired(&self) -> bool; /// Return sync overlay fn chain_overlay(&self) -> &RwLock>; + /// Returns the size the payload shouldn't exceed + fn payload_soft_limit(&self) -> usize; } /// Wraps `NetworkContext` and the blockchain client @@ -135,4 +137,8 @@ impl<'s> SyncIo for NetSyncIo<'s> { fn peer_info(&self, peer_id: PeerId) -> String { self.network.peer_client_version(peer_id) } + + fn payload_soft_limit(&self) -> usize { + self.network.payload_soft_limit() + } } diff --git a/ethcore/sync/src/tests/helpers.rs b/ethcore/sync/src/tests/helpers.rs index 60f49cd2d03..549bfb7f23c 100644 --- a/ethcore/sync/src/tests/helpers.rs +++ b/ethcore/sync/src/tests/helpers.rs @@ -144,6 +144,10 @@ impl<'p, C> SyncIo for TestIo<'p, C> where C: FlushingBlockChainClient, C: 'p { fn chain_overlay(&self) -> &RwLock> { &self.overlay } + + fn payload_soft_limit(&self) -> usize { + 100_000 + } } /// Mock for emulution of async run of new blocks diff --git a/util/network-devp2p/src/connection.rs b/util/network-devp2p/src/connection.rs index eb663d37942..be3f363aa9f 100644 --- a/util/network-devp2p/src/connection.rs +++ b/util/network-devp2p/src/connection.rs @@ -41,6 +41,10 @@ const ENCRYPTED_HEADER_LEN: usize = 32; const RECEIVE_PAYLOAD: Duration = Duration::from_secs(30); pub const MAX_PAYLOAD_SIZE: usize = (1 << 24) - 1; +/// Network responses should try not to go over this limit. +/// This should be lower than MAX_PAYLOAD_SIZE +pub const PAYLOAD_SOFT_LIMIT: usize = (1 << 22) - 1; + pub trait GenericSocket : Read + Write { } diff --git a/util/network-devp2p/src/host.rs b/util/network-devp2p/src/host.rs index 8df7a89a36f..55d6c08c207 100644 --- a/util/network-devp2p/src/host.rs +++ b/util/network-devp2p/src/host.rs @@ -46,6 +46,7 @@ use ip_utils::{map_external_address, select_public_address}; use parity_path::restrict_permissions_owner; use parking_lot::{Mutex, RwLock}; use network::{ConnectionFilter, ConnectionDirection}; +use connection::PAYLOAD_SOFT_LIMIT; type Slab = ::slab::Slab; @@ -200,6 +201,10 @@ impl<'s> NetworkContextTrait for NetworkContext<'s> { .map(|node| self.reserved_peers.contains(&node)) .unwrap_or(false) } + + fn payload_soft_limit(&self) -> usize { + PAYLOAD_SOFT_LIMIT + } } /// Shared host information diff --git a/util/network/src/lib.rs b/util/network/src/lib.rs index 395075e9ff1..caff90a3475 100644 --- a/util/network/src/lib.rs +++ b/util/network/src/lib.rs @@ -288,6 +288,9 @@ pub trait NetworkContext { /// Returns whether the given peer ID is a reserved peer. fn is_reserved_peer(&self, peer: PeerId) -> bool; + + /// Returns the size the payload shouldn't exceed + fn payload_soft_limit(&self) -> usize; } impl<'a, T> NetworkContext for &'a T where T: ?Sized + NetworkContext { @@ -338,6 +341,10 @@ impl<'a, T> NetworkContext for &'a T where T: ?Sized + NetworkContext { fn is_reserved_peer(&self, peer: PeerId) -> bool { (**self).is_reserved_peer(peer) } + + fn payload_soft_limit(&self) -> usize { + (**self).payload_soft_limit() + } } /// Network IO protocol handler. This needs to be implemented for each new subprotocol. From 5b1d33d5fa8dbcae5782f700210a5cde8a033067 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tomasz=20Drwi=C4=99ga?= Date: Mon, 7 Jan 2019 10:23:50 +0100 Subject: [PATCH 14/68] Hide most of the logs from cpp example. (#10139) --- test.sh | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/test.sh b/test.sh index cfb5b2b02be..1e38c2a23df 100755 --- a/test.sh +++ b/test.sh @@ -57,7 +57,8 @@ cpp_test () { cd $DIR cmake .. make -j $THREADS - ./parity-example + ./parity-example > example.logs + tail --lines 100 example.logs cd - rm -rf $DIR ;; From 7c335e87642b848f61ab3ee7bbff5964b53d6f11 Mon Sep 17 00:00:00 2001 From: Afri Schoedon <5chdn@users.noreply.github.com> Date: Mon, 7 Jan 2019 11:33:07 +0100 Subject: [PATCH 15/68] misc: bump license header to 2019 (#10135) * misc: bump license header to 2019 * misc: remove_duplicate_empty_lines.sh * misc: run license header script * commit cargo lock --- accounts/ethkey/cli/src/main.rs | 10 +-- accounts/ethkey/src/brain.rs | 10 +-- accounts/ethkey/src/brain_prefix.rs | 10 +-- accounts/ethkey/src/brain_recover.rs | 10 +-- accounts/ethkey/src/crypto.rs | 10 +-- accounts/ethkey/src/error.rs | 10 +-- accounts/ethkey/src/extended.rs | 10 +-- accounts/ethkey/src/keccak.rs | 10 +-- accounts/ethkey/src/keypair.rs | 10 +-- accounts/ethkey/src/lib.rs | 10 +-- accounts/ethkey/src/math.rs | 10 +-- accounts/ethkey/src/password.rs | 11 ++- accounts/ethkey/src/prefix.rs | 10 +-- accounts/ethkey/src/random.rs | 10 +-- accounts/ethkey/src/secret.rs | 10 +-- accounts/ethkey/src/signature.rs | 10 +-- accounts/ethstore/cli/src/crack.rs | 10 +-- accounts/ethstore/cli/src/main.rs | 10 +-- accounts/ethstore/cli/tests/cli.rs | 10 +-- accounts/ethstore/src/account/cipher.rs | 10 +-- accounts/ethstore/src/account/crypto.rs | 10 +-- accounts/ethstore/src/account/kdf.rs | 10 +-- accounts/ethstore/src/account/mod.rs | 10 +-- accounts/ethstore/src/account/safe_account.rs | 10 +-- accounts/ethstore/src/account/version.rs | 10 +-- accounts/ethstore/src/accounts_dir/disk.rs | 11 ++- accounts/ethstore/src/accounts_dir/memory.rs | 10 +-- accounts/ethstore/src/accounts_dir/mod.rs | 10 +-- accounts/ethstore/src/accounts_dir/vault.rs | 10 +-- accounts/ethstore/src/error.rs | 10 +-- accounts/ethstore/src/ethkey.rs | 10 +-- accounts/ethstore/src/ethstore.rs | 10 +-- accounts/ethstore/src/import.rs | 10 +-- accounts/ethstore/src/json/bytes.rs | 10 +-- accounts/ethstore/src/json/cipher.rs | 10 +-- accounts/ethstore/src/json/crypto.rs | 10 +-- accounts/ethstore/src/json/error.rs | 10 +-- accounts/ethstore/src/json/hash.rs | 10 +-- accounts/ethstore/src/json/id.rs | 10 +-- accounts/ethstore/src/json/kdf.rs | 10 +-- accounts/ethstore/src/json/key_file.rs | 10 +-- accounts/ethstore/src/json/mod.rs | 10 +-- accounts/ethstore/src/json/presale.rs | 10 +-- accounts/ethstore/src/json/vault_file.rs | 10 +-- accounts/ethstore/src/json/vault_key_file.rs | 10 +-- accounts/ethstore/src/json/version.rs | 10 +-- accounts/ethstore/src/lib.rs | 10 +-- accounts/ethstore/src/presale.rs | 10 +-- accounts/ethstore/src/random.rs | 10 +-- accounts/ethstore/src/secret_store.rs | 10 +-- accounts/ethstore/tests/api.rs | 10 +-- accounts/ethstore/tests/util/mod.rs | 10 +-- accounts/ethstore/tests/util/transient_dir.rs | 10 +-- accounts/fake-hardware-wallet/src/lib.rs | 10 +-- accounts/hw/src/ledger.rs | 12 ++-- accounts/hw/src/lib.rs | 10 +-- accounts/hw/src/trezor.rs | 13 ++-- chainspec/src/main.rs | 10 +-- cli-signer/rpc-client/src/client.rs | 10 +-- cli-signer/rpc-client/src/lib.rs | 10 +-- cli-signer/rpc-client/src/signer_client.rs | 10 +-- cli-signer/src/lib.rs | 10 +-- ethash/benches/basic.rs | 16 ++--- ethash/src/cache.rs | 10 +-- ethash/src/compute.rs | 10 +-- ethash/src/keccak.rs | 10 +-- ethash/src/lib.rs | 10 +-- ethash/src/seed_compute.rs | 10 +-- ethash/src/shared.rs | 10 +-- ethcore/benches/builtin.rs | 70 ++----------------- ethcore/blockchain/src/best_block.rs | 10 +-- ethcore/blockchain/src/block_info.rs | 10 +-- ethcore/blockchain/src/blockchain.rs | 10 +-- ethcore/blockchain/src/cache.rs | 10 +-- ethcore/blockchain/src/config.rs | 10 +-- ethcore/blockchain/src/generator.rs | 10 +-- ethcore/blockchain/src/import_route.rs | 10 +-- ethcore/blockchain/src/lib.rs | 10 +-- ethcore/blockchain/src/update.rs | 10 +-- ethcore/db/src/cache_manager.rs | 10 +-- ethcore/db/src/db.rs | 10 +-- ethcore/db/src/keys.rs | 10 +-- ethcore/db/src/lib.rs | 10 +-- ethcore/evm/benches/basic.rs | 10 +-- ethcore/evm/src/evm.rs | 10 +-- ethcore/evm/src/factory.rs | 10 +-- ethcore/evm/src/instructions.rs | 12 ++-- ethcore/evm/src/interpreter/gasometer.rs | 10 +-- ethcore/evm/src/interpreter/informant.rs | 10 +-- ethcore/evm/src/interpreter/memory.rs | 10 +-- ethcore/evm/src/interpreter/mod.rs | 10 +-- ethcore/evm/src/interpreter/shared_cache.rs | 10 +-- ethcore/evm/src/interpreter/stack.rs | 10 +-- ethcore/evm/src/lib.rs | 10 +-- ethcore/evm/src/tests.rs | 10 +-- ethcore/evm/src/vmtype.rs | 10 +-- ethcore/light/src/cache.rs | 10 +-- ethcore/light/src/cht.rs | 10 +-- ethcore/light/src/client/fetch.rs | 10 +-- ethcore/light/src/client/header_chain.rs | 10 +-- ethcore/light/src/client/mod.rs | 10 +-- ethcore/light/src/client/service.rs | 10 +-- ethcore/light/src/lib.rs | 10 +-- ethcore/light/src/net/context.rs | 10 +-- ethcore/light/src/net/error.rs | 10 +-- ethcore/light/src/net/load_timer.rs | 10 +-- ethcore/light/src/net/mod.rs | 10 +-- ethcore/light/src/net/request_credits.rs | 10 +-- ethcore/light/src/net/request_set.rs | 10 +-- ethcore/light/src/net/status.rs | 10 +-- ethcore/light/src/net/tests/mod.rs | 10 +-- ethcore/light/src/on_demand/mod.rs | 10 +-- ethcore/light/src/on_demand/request.rs | 10 +-- ethcore/light/src/on_demand/request_guard.rs | 10 +-- ethcore/light/src/on_demand/response_guard.rs | 11 ++- ethcore/light/src/on_demand/tests.rs | 10 +-- ethcore/light/src/provider.rs | 10 +-- ethcore/light/src/transaction_queue.rs | 10 +-- ethcore/light/src/types/mod.rs | 10 +-- ethcore/light/src/types/request/batch.rs | 10 +-- ethcore/light/src/types/request/mod.rs | 10 +-- ethcore/node-filter/src/lib.rs | 10 +-- ethcore/private-tx/src/encryptor.rs | 10 +-- ethcore/private-tx/src/error.rs | 10 +-- ethcore/private-tx/src/lib.rs | 10 +-- ethcore/private-tx/src/messages.rs | 10 +-- .../private-tx/src/private_transactions.rs | 10 +-- ethcore/private-tx/tests/private_contract.rs | 10 +-- ethcore/service/src/error.rs | 10 +-- ethcore/service/src/lib.rs | 11 ++- ethcore/service/src/service.rs | 10 +-- ethcore/service/src/stop_guard.rs | 10 +-- ethcore/src/account_db.rs | 10 +-- ethcore/src/account_provider/mod.rs | 10 +-- ethcore/src/account_provider/stores.rs | 10 +-- ethcore/src/block.rs | 10 +-- ethcore/src/builtin.rs | 10 +-- ethcore/src/client/ancient_import.rs | 10 +-- ethcore/src/client/bad_blocks.rs | 10 +-- ethcore/src/client/chain_notify.rs | 10 +-- ethcore/src/client/client.rs | 11 ++- ethcore/src/client/config.rs | 10 +-- ethcore/src/client/evm_test_client.rs | 10 +-- ethcore/src/client/io_message.rs | 10 +-- ethcore/src/client/mod.rs | 10 +-- ethcore/src/client/private_notify.rs | 10 +-- ethcore/src/client/test_client.rs | 10 +-- ethcore/src/client/trace.rs | 10 +-- ethcore/src/client/traits.rs | 10 +-- .../src/engines/authority_round/finality.rs | 10 +-- ethcore/src/engines/authority_round/mod.rs | 10 +-- ethcore/src/engines/basic_authority.rs | 10 +-- ethcore/src/engines/block_reward.rs | 10 +-- ethcore/src/engines/instant_seal.rs | 10 +-- ethcore/src/engines/mod.rs | 10 +-- ethcore/src/engines/null_engine.rs | 10 +-- ethcore/src/engines/signer.rs | 10 +-- ethcore/src/engines/validator_set/contract.rs | 10 +-- ethcore/src/engines/validator_set/mod.rs | 10 +-- ethcore/src/engines/validator_set/multi.rs | 10 +-- .../engines/validator_set/safe_contract.rs | 10 +-- .../src/engines/validator_set/simple_list.rs | 10 +-- ethcore/src/engines/validator_set/test.rs | 10 +-- ethcore/src/error.rs | 10 +-- ethcore/src/ethereum/denominations.rs | 10 +-- ethcore/src/ethereum/ethash.rs | 10 +-- ethcore/src/ethereum/mod.rs | 10 +-- ethcore/src/executed.rs | 10 +-- ethcore/src/executive.rs | 10 +-- ethcore/src/externalities.rs | 10 +-- ethcore/src/factory.rs | 10 +-- ethcore/src/json_tests/chain.rs | 10 +-- ethcore/src/json_tests/difficulty.rs | 11 ++- ethcore/src/json_tests/executive.rs | 10 +-- ethcore/src/json_tests/mod.rs | 11 ++- ethcore/src/json_tests/skip.rs | 10 +-- ethcore/src/json_tests/state.rs | 10 +-- ethcore/src/json_tests/test_common.rs | 10 +-- ethcore/src/json_tests/transaction.rs | 11 ++- ethcore/src/json_tests/trie.rs | 10 +-- ethcore/src/lib.rs | 10 +-- ethcore/src/machine.rs | 10 +-- ethcore/src/miner/miner.rs | 11 ++- ethcore/src/miner/mod.rs | 10 +-- ethcore/src/miner/pool_client.rs | 10 +-- .../src/miner/service_transaction_checker.rs | 10 +-- ethcore/src/miner/stratum.rs | 10 +-- ethcore/src/pod_account.rs | 10 +-- ethcore/src/pod_state.rs | 10 +-- ethcore/src/snapshot/account.rs | 10 +-- ethcore/src/snapshot/block.rs | 10 +-- ethcore/src/snapshot/consensus/authority.rs | 10 +-- ethcore/src/snapshot/consensus/mod.rs | 10 +-- ethcore/src/snapshot/consensus/work.rs | 10 +-- ethcore/src/snapshot/error.rs | 10 +-- ethcore/src/snapshot/io.rs | 10 +-- ethcore/src/snapshot/mod.rs | 10 +-- ethcore/src/snapshot/service.rs | 10 +-- ethcore/src/snapshot/tests/helpers.rs | 10 +-- ethcore/src/snapshot/tests/mod.rs | 10 +-- .../src/snapshot/tests/proof_of_authority.rs | 10 +-- ethcore/src/snapshot/tests/proof_of_work.rs | 10 +-- ethcore/src/snapshot/tests/service.rs | 11 ++- ethcore/src/snapshot/tests/state.rs | 10 +-- ethcore/src/snapshot/traits.rs | 10 +-- ethcore/src/snapshot/watcher.rs | 10 +-- ethcore/src/spec/genesis.rs | 10 +-- ethcore/src/spec/mod.rs | 10 +-- ethcore/src/spec/seal.rs | 10 +-- ethcore/src/spec/spec.rs | 10 +-- ethcore/src/state/account.rs | 10 +-- ethcore/src/state/backend.rs | 10 +-- ethcore/src/state/mod.rs | 12 ++-- ethcore/src/state/substate.rs | 10 +-- ethcore/src/state_db.rs | 10 +-- ethcore/src/test_helpers.rs | 10 +-- ethcore/src/tests/blockchain.rs | 11 ++- ethcore/src/tests/client.rs | 10 +-- ethcore/src/tests/evm.rs | 10 +-- ethcore/src/tests/mod.rs | 10 +-- ethcore/src/tests/trace.rs | 10 +-- ethcore/src/trace/config.rs | 10 +-- ethcore/src/trace/db.rs | 11 ++- ethcore/src/trace/executive_tracer.rs | 10 +-- ethcore/src/trace/import.rs | 10 +-- ethcore/src/trace/mod.rs | 10 +-- ethcore/src/trace/noop_tracer.rs | 10 +-- ethcore/src/trace/types/error.rs | 10 +-- ethcore/src/trace/types/filter.rs | 10 +-- ethcore/src/trace/types/flat.rs | 10 +-- ethcore/src/trace/types/localized.rs | 10 +-- ethcore/src/trace/types/mod.rs | 10 +-- ethcore/src/trace/types/trace.rs | 10 +-- ethcore/src/transaction_ext.rs | 11 ++- ethcore/src/tx_filter.rs | 10 +-- ethcore/src/verification/canon_verifier.rs | 10 +-- ethcore/src/verification/mod.rs | 10 +-- ethcore/src/verification/noop_verifier.rs | 10 +-- ethcore/src/verification/queue/kind.rs | 10 +-- ethcore/src/verification/queue/mod.rs | 10 +-- ethcore/src/verification/verification.rs | 10 +-- ethcore/src/verification/verifier.rs | 10 +-- ethcore/sync/src/api.rs | 10 +-- ethcore/sync/src/block_sync.rs | 10 +-- ethcore/sync/src/blocks.rs | 10 +-- ethcore/sync/src/chain/handler.rs | 10 +-- ethcore/sync/src/chain/mod.rs | 11 ++- ethcore/sync/src/chain/propagator.rs | 10 +-- ethcore/sync/src/chain/requester.rs | 10 +-- ethcore/sync/src/chain/supplier.rs | 10 +-- ethcore/sync/src/lib.rs | 10 +-- ethcore/sync/src/light_sync/mod.rs | 10 +-- ethcore/sync/src/light_sync/response.rs | 10 +-- ethcore/sync/src/light_sync/sync_round.rs | 10 +-- ethcore/sync/src/light_sync/tests/mod.rs | 10 +-- ethcore/sync/src/light_sync/tests/test_net.rs | 10 +-- ethcore/sync/src/private_tx.rs | 10 +-- ethcore/sync/src/snapshot.rs | 10 +-- ethcore/sync/src/sync_io.rs | 10 +-- ethcore/sync/src/tests/chain.rs | 10 +-- ethcore/sync/src/tests/consensus.rs | 10 +-- ethcore/sync/src/tests/helpers.rs | 10 +-- ethcore/sync/src/tests/mod.rs | 10 +-- ethcore/sync/src/tests/private.rs | 10 +-- ethcore/sync/src/tests/rpc.rs | 10 +-- ethcore/sync/src/tests/snapshot.rs | 10 +-- ethcore/sync/src/transactions_stats.rs | 10 +-- ethcore/types/src/account_diff.rs | 10 +-- ethcore/types/src/ancestry_action.rs | 10 +-- ethcore/types/src/basic_account.rs | 10 +-- ethcore/types/src/block.rs | 11 ++- ethcore/types/src/block_status.rs | 10 +-- ethcore/types/src/blockchain_info.rs | 10 +-- ethcore/types/src/call_analytics.rs | 10 +-- ethcore/types/src/encoded.rs | 10 +-- ethcore/types/src/engines/epoch.rs | 10 +-- ethcore/types/src/engines/mod.rs | 11 ++- ethcore/types/src/filter.rs | 10 +-- ethcore/types/src/header.rs | 10 +-- ethcore/types/src/ids.rs | 10 +-- ethcore/types/src/lib.rs | 10 +-- ethcore/types/src/log_entry.rs | 10 +-- ethcore/types/src/pruning_info.rs | 10 +-- ethcore/types/src/receipt.rs | 10 +-- ethcore/types/src/restoration_status.rs | 10 +-- ethcore/types/src/security_level.rs | 10 +-- ethcore/types/src/snapshot_manifest.rs | 10 +-- ethcore/types/src/state_diff.rs | 10 +-- ethcore/types/src/trace_filter.rs | 10 +-- ethcore/types/src/transaction/error.rs | 10 +-- ethcore/types/src/transaction/mod.rs | 10 +-- ethcore/types/src/transaction/transaction.rs | 10 +-- ethcore/types/src/tree_route.rs | 10 +-- ethcore/types/src/verification_queue_info.rs | 10 +-- ethcore/types/src/views/block.rs | 10 +-- ethcore/types/src/views/body.rs | 10 +-- ethcore/types/src/views/header.rs | 10 +-- ethcore/types/src/views/mod.rs | 10 +-- ethcore/types/src/views/transaction.rs | 10 +-- ethcore/types/src/views/view_rlp.rs | 10 +-- ethcore/vm/src/action_params.rs | 10 +-- ethcore/vm/src/call_type.rs | 10 +-- ethcore/vm/src/env_info.rs | 10 +-- ethcore/vm/src/error.rs | 10 +-- ethcore/vm/src/ext.rs | 10 +-- ethcore/vm/src/lib.rs | 10 +-- ethcore/vm/src/return_data.rs | 10 +-- ethcore/vm/src/schedule.rs | 10 +-- ethcore/vm/src/tests.rs | 10 +-- ethcore/wasm/run/src/fixture.rs | 10 +-- ethcore/wasm/run/src/main.rs | 10 +-- ethcore/wasm/run/src/runner.rs | 10 +-- ethcore/wasm/src/env.rs | 10 +-- ethcore/wasm/src/lib.rs | 10 +-- ethcore/wasm/src/panic_payload.rs | 10 +-- ethcore/wasm/src/parser.rs | 10 +-- ethcore/wasm/src/runtime.rs | 10 +-- ethcore/wasm/src/tests.rs | 10 +-- evmbin/benches/mod.rs | 10 +-- evmbin/src/display/json.rs | 10 +-- evmbin/src/display/mod.rs | 10 +-- evmbin/src/display/simple.rs | 10 +-- evmbin/src/display/std_json.rs | 11 ++- evmbin/src/info.rs | 10 +-- evmbin/src/main.rs | 10 +-- ipfs/src/error.rs | 13 ++-- ipfs/src/lib.rs | 10 +-- ipfs/src/route.rs | 10 +-- json/src/blockchain/account.rs | 10 +-- json/src/blockchain/block.rs | 10 +-- json/src/blockchain/blockchain.rs | 10 +-- json/src/blockchain/header.rs | 10 +-- json/src/blockchain/mod.rs | 10 +-- json/src/blockchain/state.rs | 10 +-- json/src/blockchain/test.rs | 10 +-- json/src/blockchain/transaction.rs | 10 +-- json/src/bytes.rs | 10 +-- json/src/hash.rs | 10 +-- json/src/lib.rs | 10 +-- json/src/maybe.rs | 10 +-- json/src/misc/account_meta.rs | 10 +-- json/src/misc/mod.rs | 10 +-- json/src/spec/account.rs | 10 +-- json/src/spec/authority_round.rs | 10 +-- json/src/spec/basic_authority.rs | 10 +-- json/src/spec/builtin.rs | 10 +-- json/src/spec/engine.rs | 11 ++- json/src/spec/ethash.rs | 10 +-- json/src/spec/genesis.rs | 10 +-- json/src/spec/hardcoded_sync.rs | 10 +-- json/src/spec/instant_seal.rs | 10 +-- json/src/spec/mod.rs | 10 +-- json/src/spec/null_engine.rs | 10 +-- json/src/spec/params.rs | 10 +-- json/src/spec/seal.rs | 10 +-- json/src/spec/spec.rs | 10 +-- json/src/spec/state.rs | 10 +-- json/src/spec/validator_set.rs | 10 +-- json/src/state/log.rs | 10 +-- json/src/state/mod.rs | 10 +-- json/src/state/state.rs | 10 +-- json/src/state/test.rs | 10 +-- json/src/state/transaction.rs | 10 +-- json/src/test/mod.rs | 10 +-- json/src/transaction/mod.rs | 10 +-- json/src/transaction/test.rs | 10 +-- json/src/transaction/transaction.rs | 10 +-- json/src/transaction/txtest.rs | 10 +-- json/src/trie/input.rs | 10 +-- json/src/trie/mod.rs | 10 +-- json/src/trie/test.rs | 10 +-- json/src/trie/trie.rs | 10 +-- json/src/uint.rs | 10 +-- json/src/vm/call.rs | 10 +-- json/src/vm/env.rs | 10 +-- json/src/vm/mod.rs | 10 +-- json/src/vm/test.rs | 10 +-- json/src/vm/transaction.rs | 10 +-- json/src/vm/vm.rs | 10 +-- license_header | 2 +- logger/src/lib.rs | 10 +-- logger/src/rotating.rs | 10 +-- machine/src/lib.rs | 10 +-- miner/local-store/src/lib.rs | 10 +-- miner/price-info/src/lib.rs | 10 +-- miner/src/external.rs | 10 +-- miner/src/gas_price_calibrator.rs | 10 +-- miner/src/gas_pricer.rs | 10 +-- miner/src/lib.rs | 10 +-- miner/src/pool/client.rs | 10 +-- miner/src/pool/listener.rs | 10 +-- miner/src/pool/local_transactions.rs | 10 +-- miner/src/pool/mod.rs | 10 +-- miner/src/pool/queue.rs | 10 +-- miner/src/pool/ready.rs | 10 +-- miner/src/pool/scoring.rs | 10 +-- miner/src/pool/tests/client.rs | 10 +-- miner/src/pool/tests/mod.rs | 11 ++- miner/src/pool/tests/tx.rs | 10 +-- miner/src/pool/verifier.rs | 10 +-- miner/src/work_notify.rs | 10 +-- miner/stratum/src/lib.rs | 10 +-- miner/stratum/src/traits.rs | 10 +-- miner/using-queue/src/lib.rs | 10 +-- parity-clib/examples/cpp/main.cpp | 10 +-- parity-clib/src/java.rs | 16 +++++ parity-clib/src/lib.rs | 11 ++- parity/account.rs | 10 +-- parity/blockchain.rs | 10 +-- parity/cache.rs | 10 +-- parity/cli/mod.rs | 11 ++- parity/cli/presets/mod.rs | 10 +-- parity/cli/usage.rs | 10 +-- parity/configuration.rs | 10 +-- parity/db/mod.rs | 10 +-- parity/db/rocksdb/blooms.rs | 10 +-- parity/db/rocksdb/helpers.rs | 10 +-- parity/db/rocksdb/migration.rs | 10 +-- parity/db/rocksdb/mod.rs | 10 +-- parity/deprecated.rs | 10 +-- parity/export_hardcoded_sync.rs | 10 +-- parity/helpers.rs | 10 +-- parity/informant.rs | 10 +-- parity/ipfs.rs | 10 +-- parity/lib.rs | 11 ++- parity/light_helpers/epoch_fetch.rs | 10 +-- parity/light_helpers/mod.rs | 10 +-- parity/light_helpers/queue_cull.rs | 10 +-- parity/main.rs | 10 +-- parity/modules.rs | 10 +-- parity/params.rs | 10 +-- parity/presale.rs | 10 +-- parity/rpc.rs | 10 +-- parity/rpc_apis.rs | 10 +-- parity/run.rs | 10 +-- parity/secretstore.rs | 10 +-- parity/signer.rs | 10 +-- parity/snapshot.rs | 10 +-- parity/stratum.rs | 10 +-- parity/upgrade.rs | 10 +-- parity/user_defaults.rs | 10 +-- parity/whisper.rs | 10 +-- rpc/src/authcodes.rs | 10 +-- rpc/src/http_common.rs | 10 +-- rpc/src/lib.rs | 10 +-- rpc/src/tests/helpers.rs | 10 +-- rpc/src/tests/http_client.rs | 10 +-- rpc/src/tests/mod.rs | 10 +-- rpc/src/tests/rpc.rs | 10 +-- rpc/src/tests/ws.rs | 10 +-- rpc/src/v1/extractors.rs | 10 +-- rpc/src/v1/helpers/accounts.rs | 10 +-- rpc/src/v1/helpers/block_import.rs | 10 +-- rpc/src/v1/helpers/dispatch.rs | 10 +-- rpc/src/v1/helpers/eip191.rs | 10 +-- rpc/src/v1/helpers/errors.rs | 10 +-- rpc/src/v1/helpers/fake_sign.rs | 10 +-- rpc/src/v1/helpers/ipfs.rs | 10 +-- rpc/src/v1/helpers/light_fetch.rs | 11 ++- rpc/src/v1/helpers/mod.rs | 10 +-- rpc/src/v1/helpers/network_settings.rs | 10 +-- rpc/src/v1/helpers/nonce.rs | 10 +-- rpc/src/v1/helpers/oneshot.rs | 10 +-- rpc/src/v1/helpers/poll_filter.rs | 10 +-- rpc/src/v1/helpers/poll_manager.rs | 10 +-- rpc/src/v1/helpers/requests.rs | 10 +-- rpc/src/v1/helpers/secretstore.rs | 10 +-- rpc/src/v1/helpers/signature.rs | 10 +-- rpc/src/v1/helpers/signer.rs | 10 +-- rpc/src/v1/helpers/signing_queue.rs | 10 +-- rpc/src/v1/helpers/subscribers.rs | 10 +-- rpc/src/v1/helpers/subscription_manager.rs | 10 +-- rpc/src/v1/helpers/work.rs | 10 +-- rpc/src/v1/impls/debug.rs | 10 +-- rpc/src/v1/impls/eth.rs | 11 ++- rpc/src/v1/impls/eth_filter.rs | 10 +-- rpc/src/v1/impls/eth_pubsub.rs | 10 +-- rpc/src/v1/impls/light/eth.rs | 10 +-- rpc/src/v1/impls/light/mod.rs | 10 +-- rpc/src/v1/impls/light/net.rs | 10 +-- rpc/src/v1/impls/light/parity.rs | 10 +-- rpc/src/v1/impls/light/parity_set.rs | 10 +-- rpc/src/v1/impls/light/trace.rs | 10 +-- rpc/src/v1/impls/mod.rs | 10 +-- rpc/src/v1/impls/net.rs | 10 +-- rpc/src/v1/impls/parity.rs | 10 +-- rpc/src/v1/impls/parity_accounts.rs | 10 +-- rpc/src/v1/impls/parity_set.rs | 10 +-- rpc/src/v1/impls/personal.rs | 10 +-- rpc/src/v1/impls/private.rs | 10 +-- rpc/src/v1/impls/pubsub.rs | 10 +-- rpc/src/v1/impls/rpc.rs | 10 +-- rpc/src/v1/impls/secretstore.rs | 10 +-- rpc/src/v1/impls/signer.rs | 10 +-- rpc/src/v1/impls/signing.rs | 10 +-- rpc/src/v1/impls/signing_unsafe.rs | 10 +-- rpc/src/v1/impls/traces.rs | 10 +-- rpc/src/v1/impls/web3.rs | 10 +-- rpc/src/v1/informant.rs | 10 +-- rpc/src/v1/metadata.rs | 10 +-- rpc/src/v1/mod.rs | 10 +-- rpc/src/v1/tests/eth.rs | 11 ++- rpc/src/v1/tests/helpers/miner_service.rs | 10 +-- rpc/src/v1/tests/helpers/mod.rs | 10 +-- rpc/src/v1/tests/helpers/snapshot_service.rs | 10 +-- rpc/src/v1/tests/helpers/sync_provider.rs | 10 +-- rpc/src/v1/tests/helpers/update_service.rs | 10 +-- rpc/src/v1/tests/mocked/debug.rs | 10 +-- rpc/src/v1/tests/mocked/eth.rs | 10 +-- rpc/src/v1/tests/mocked/eth_pubsub.rs | 10 +-- rpc/src/v1/tests/mocked/manage_network.rs | 10 +-- rpc/src/v1/tests/mocked/mod.rs | 10 +-- rpc/src/v1/tests/mocked/net.rs | 10 +-- rpc/src/v1/tests/mocked/parity.rs | 10 +-- rpc/src/v1/tests/mocked/parity_accounts.rs | 10 +-- rpc/src/v1/tests/mocked/parity_set.rs | 10 +-- rpc/src/v1/tests/mocked/personal.rs | 10 +-- rpc/src/v1/tests/mocked/pubsub.rs | 10 +-- rpc/src/v1/tests/mocked/rpc.rs | 10 +-- rpc/src/v1/tests/mocked/secretstore.rs | 10 +-- rpc/src/v1/tests/mocked/signer.rs | 10 +-- rpc/src/v1/tests/mocked/signing.rs | 10 +-- rpc/src/v1/tests/mocked/traces.rs | 10 +-- rpc/src/v1/tests/mocked/web3.rs | 10 +-- rpc/src/v1/tests/mod.rs | 10 +-- rpc/src/v1/traits/debug.rs | 10 +-- rpc/src/v1/traits/eth.rs | 10 +-- rpc/src/v1/traits/eth_pubsub.rs | 10 +-- rpc/src/v1/traits/eth_signing.rs | 10 +-- rpc/src/v1/traits/mod.rs | 10 +-- rpc/src/v1/traits/net.rs | 10 +-- rpc/src/v1/traits/parity.rs | 10 +-- rpc/src/v1/traits/parity_accounts.rs | 10 +-- rpc/src/v1/traits/parity_set.rs | 10 +-- rpc/src/v1/traits/parity_signing.rs | 10 +-- rpc/src/v1/traits/personal.rs | 10 +-- rpc/src/v1/traits/private.rs | 10 +-- rpc/src/v1/traits/pubsub.rs | 10 +-- rpc/src/v1/traits/rpc.rs | 10 +-- rpc/src/v1/traits/secretstore.rs | 10 +-- rpc/src/v1/traits/signer.rs | 10 +-- rpc/src/v1/traits/traces.rs | 10 +-- rpc/src/v1/traits/web3.rs | 10 +-- rpc/src/v1/types/account_info.rs | 10 +-- rpc/src/v1/types/block.rs | 10 +-- rpc/src/v1/types/block_number.rs | 10 +-- rpc/src/v1/types/bytes.rs | 10 +-- rpc/src/v1/types/call_request.rs | 10 +-- rpc/src/v1/types/confirmations.rs | 10 +-- rpc/src/v1/types/consensus_status.rs | 10 +-- rpc/src/v1/types/derivation.rs | 10 +-- rpc/src/v1/types/eip191.rs | 10 +-- rpc/src/v1/types/filter.rs | 10 +-- rpc/src/v1/types/hash.rs | 10 +-- rpc/src/v1/types/histogram.rs | 10 +-- rpc/src/v1/types/index.rs | 10 +-- rpc/src/v1/types/log.rs | 10 +-- rpc/src/v1/types/mod.rs | 10 +-- rpc/src/v1/types/node_kind.rs | 10 +-- rpc/src/v1/types/private_receipt.rs | 10 +-- rpc/src/v1/types/provenance.rs | 10 +-- rpc/src/v1/types/pubsub.rs | 10 +-- rpc/src/v1/types/receipt.rs | 10 +-- rpc/src/v1/types/rpc_settings.rs | 10 +-- rpc/src/v1/types/secretstore.rs | 10 +-- rpc/src/v1/types/sync.rs | 10 +-- rpc/src/v1/types/trace.rs | 10 +-- rpc/src/v1/types/trace_filter.rs | 10 +-- rpc/src/v1/types/transaction.rs | 10 +-- rpc/src/v1/types/transaction_condition.rs | 10 +-- rpc/src/v1/types/transaction_request.rs | 10 +-- rpc/src/v1/types/uint.rs | 10 +-- rpc/src/v1/types/work.rs | 10 +-- secret-store/src/acl_storage.rs | 10 +-- secret-store/src/helpers.rs | 10 +-- secret-store/src/key_server.rs | 10 +-- .../key_version_negotiation_session.rs | 10 +-- .../key_server_cluster/admin_sessions/mod.rs | 10 +-- .../servers_set_change_session.rs | 10 +-- .../admin_sessions/sessions_queue.rs | 10 +-- .../admin_sessions/share_add_session.rs | 10 +-- .../admin_sessions/share_change_session.rs | 10 +-- .../client_sessions/decryption_session.rs | 10 +-- .../client_sessions/encryption_session.rs | 10 +-- .../client_sessions/generation_session.rs | 10 +-- .../key_server_cluster/client_sessions/mod.rs | 10 +-- .../client_sessions/signing_session_ecdsa.rs | 10 +-- .../signing_session_schnorr.rs | 10 +-- .../src/key_server_cluster/cluster.rs | 10 +-- .../key_server_cluster/cluster_sessions.rs | 10 +-- .../cluster_sessions_creator.rs | 10 +-- .../key_server_cluster/connection_trigger.rs | 10 +-- .../connection_trigger_with_migration.rs | 10 +-- .../src/key_server_cluster/io/deadline.rs | 10 +-- .../src/key_server_cluster/io/handshake.rs | 10 +-- .../src/key_server_cluster/io/message.rs | 10 +-- secret-store/src/key_server_cluster/io/mod.rs | 10 +-- .../src/key_server_cluster/io/read_header.rs | 10 +-- .../src/key_server_cluster/io/read_message.rs | 10 +-- .../src/key_server_cluster/io/read_payload.rs | 10 +-- .../io/shared_tcp_stream.rs | 10 +-- .../key_server_cluster/io/write_message.rs | 10 +-- .../jobs/consensus_session.rs | 10 +-- .../key_server_cluster/jobs/decryption_job.rs | 10 +-- .../src/key_server_cluster/jobs/dummy_job.rs | 10 +-- .../key_server_cluster/jobs/job_session.rs | 10 +-- .../key_server_cluster/jobs/key_access_job.rs | 10 +-- .../src/key_server_cluster/jobs/mod.rs | 10 +-- .../jobs/servers_set_change_access_job.rs | 10 +-- .../jobs/signing_job_ecdsa.rs | 10 +-- .../jobs/signing_job_schnorr.rs | 10 +-- .../jobs/unknown_sessions_job.rs | 10 +-- secret-store/src/key_server_cluster/math.rs | 10 +-- .../src/key_server_cluster/message.rs | 10 +-- secret-store/src/key_server_cluster/mod.rs | 10 +-- .../net/accept_connection.rs | 10 +-- .../src/key_server_cluster/net/connect.rs | 10 +-- .../src/key_server_cluster/net/connection.rs | 10 +-- .../src/key_server_cluster/net/mod.rs | 10 +-- secret-store/src/key_server_set.rs | 10 +-- secret-store/src/key_storage.rs | 10 +-- secret-store/src/lib.rs | 10 +-- secret-store/src/listener/http_listener.rs | 10 +-- secret-store/src/listener/mod.rs | 10 +-- secret-store/src/listener/service_contract.rs | 10 +-- .../listener/service_contract_aggregate.rs | 10 +-- .../src/listener/service_contract_listener.rs | 10 +-- secret-store/src/listener/tasks_queue.rs | 10 +-- secret-store/src/node_key_pair.rs | 10 +-- secret-store/src/serialization.rs | 10 +-- secret-store/src/traits.rs | 10 +-- secret-store/src/trusted_client.rs | 10 +-- secret-store/src/types/all.rs | 10 +-- secret-store/src/types/error.rs | 10 +-- secret-store/src/types/mod.rs | 10 +-- updater/hash-fetch/src/client.rs | 10 +-- updater/hash-fetch/src/lib.rs | 10 +-- updater/hash-fetch/src/urlhint.rs | 10 +-- updater/src/lib.rs | 10 +-- updater/src/service.rs | 10 +-- updater/src/types/all.rs | 10 +-- updater/src/types/mod.rs | 10 +-- updater/src/types/release_track.rs | 10 +-- updater/src/types/version_info.rs | 10 +-- updater/src/updater.rs | 10 +-- util/EIP-712/src/eip712.rs | 10 +-- util/EIP-712/src/encode.rs | 11 ++- util/EIP-712/src/error.rs | 10 +-- util/EIP-712/src/lib.rs | 11 ++- util/EIP-712/src/parser.rs | 10 +-- util/bloom/src/lib.rs | 10 +-- util/blooms-db/benches/blooms.rs | 10 +-- util/blooms-db/src/db.rs | 10 +-- util/blooms-db/src/file.rs | 10 +-- util/blooms-db/src/lib.rs | 10 +-- util/dir/src/helpers.rs | 10 +-- util/dir/src/lib.rs | 10 +-- util/fake-fetch/src/lib.rs | 10 +-- util/fastmap/src/lib.rs | 10 +-- util/fetch/src/client.rs | 10 +-- util/fetch/src/lib.rs | 10 +-- util/io/src/lib.rs | 10 +-- util/io/src/service_mio.rs | 10 +-- util/io/src/service_non_mio.rs | 10 +-- util/io/src/worker.rs | 10 +-- util/journaldb/src/archivedb.rs | 10 +-- util/journaldb/src/as_hash_db_impls.rs | 10 +-- util/journaldb/src/earlymergedb.rs | 10 +-- util/journaldb/src/lib.rs | 10 +-- util/journaldb/src/overlaydb.rs | 10 +-- util/journaldb/src/overlayrecentdb.rs | 10 +-- util/journaldb/src/refcounteddb.rs | 10 +-- util/journaldb/src/traits.rs | 10 +-- util/journaldb/src/util.rs | 10 +-- util/keccak-hasher/src/lib.rs | 10 +-- util/len-caching-lock/src/lib.rs | 10 +-- util/len-caching-lock/src/mutex.rs | 10 +-- util/len-caching-lock/src/rwlock.rs | 10 +-- util/macros/src/lib.rs | 10 +-- util/memory-cache/src/lib.rs | 10 +-- util/memzero/src/lib.rs | 10 +-- util/migration-rocksdb/src/lib.rs | 10 +-- util/migration-rocksdb/tests/tests.rs | 10 +-- util/network-devp2p/src/connection.rs | 10 +-- util/network-devp2p/src/discovery.rs | 12 ++-- util/network-devp2p/src/handshake.rs | 10 +-- util/network-devp2p/src/host.rs | 10 +-- util/network-devp2p/src/ip_utils.rs | 10 +-- util/network-devp2p/src/lib.rs | 10 +-- util/network-devp2p/src/node_table.rs | 10 +-- util/network-devp2p/src/service.rs | 10 +-- util/network-devp2p/src/session.rs | 10 +-- util/network-devp2p/tests/tests.rs | 10 +-- util/network/src/connection_filter.rs | 10 +-- util/network/src/error.rs | 10 +-- util/network/src/lib.rs | 10 +-- util/panic-hook/src/lib.rs | 10 +-- util/patricia-trie-ethereum/src/lib.rs | 10 +-- .../src/rlp_node_codec.rs | 10 +-- util/registrar/src/lib.rs | 10 +-- util/registrar/src/registrar.rs | 10 +-- util/rlp-compress/tests/compress.rs | 10 +-- util/rlp-derive/src/de.rs | 10 +-- util/rlp-derive/src/en.rs | 10 +-- util/rlp-derive/src/lib.rs | 10 +-- util/rlp-derive/tests/rlp.rs | 10 +-- util/runtime/src/lib.rs | 10 +-- util/stats/src/lib.rs | 10 +-- util/triehash-ethereum/src/lib.rs | 10 +-- util/unexpected/src/lib.rs | 10 +-- util/version/build.rs | 10 +-- util/version/src/lib.rs | 10 +-- whisper/cli/src/main.rs | 10 +-- whisper/src/lib.rs | 10 +-- whisper/src/message.rs | 10 +-- whisper/src/net/mod.rs | 10 +-- whisper/src/net/tests.rs | 10 +-- whisper/src/rpc/crypto.rs | 10 +-- whisper/src/rpc/filter.rs | 10 +-- whisper/src/rpc/key_store.rs | 10 +-- whisper/src/rpc/mod.rs | 10 +-- whisper/src/rpc/payload.rs | 10 +-- whisper/src/rpc/types.rs | 10 +-- 723 files changed, 3624 insertions(+), 3711 deletions(-) diff --git a/accounts/ethkey/cli/src/main.rs b/accounts/ethkey/cli/src/main.rs index 71ea5ca6c4d..ecb612e069b 100644 --- a/accounts/ethkey/cli/src/main.rs +++ b/accounts/ethkey/cli/src/main.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . extern crate docopt; extern crate env_logger; diff --git a/accounts/ethkey/src/brain.rs b/accounts/ethkey/src/brain.rs index 55b525e2a41..3a970e17c8d 100644 --- a/accounts/ethkey/src/brain.rs +++ b/accounts/ethkey/src/brain.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . use keccak::Keccak256; use super::{KeyPair, Generator, Secret}; diff --git a/accounts/ethkey/src/brain_prefix.rs b/accounts/ethkey/src/brain_prefix.rs index accf9473700..ba0d8129615 100644 --- a/accounts/ethkey/src/brain_prefix.rs +++ b/accounts/ethkey/src/brain_prefix.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . use super::{Generator, KeyPair, Error, Brain}; use parity_wordlist as wordlist; diff --git a/accounts/ethkey/src/brain_recover.rs b/accounts/ethkey/src/brain_recover.rs index 51331932328..f9922fae97f 100644 --- a/accounts/ethkey/src/brain_recover.rs +++ b/accounts/ethkey/src/brain_recover.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . use std::collections::HashSet; diff --git a/accounts/ethkey/src/crypto.rs b/accounts/ethkey/src/crypto.rs index 8049f16b584..ec883dcb6d9 100644 --- a/accounts/ethkey/src/crypto.rs +++ b/accounts/ethkey/src/crypto.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . use secp256k1; use std::io; diff --git a/accounts/ethkey/src/error.rs b/accounts/ethkey/src/error.rs index 7cba375d0f2..ee191157453 100644 --- a/accounts/ethkey/src/error.rs +++ b/accounts/ethkey/src/error.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . use std::{fmt, error}; diff --git a/accounts/ethkey/src/extended.rs b/accounts/ethkey/src/extended.rs index e48f6b5616e..7d02271ebbd 100644 --- a/accounts/ethkey/src/extended.rs +++ b/accounts/ethkey/src/extended.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Extended keys diff --git a/accounts/ethkey/src/keccak.rs b/accounts/ethkey/src/keccak.rs index 3801d841ab0..202c211933c 100644 --- a/accounts/ethkey/src/keccak.rs +++ b/accounts/ethkey/src/keccak.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . use tiny_keccak::Keccak; diff --git a/accounts/ethkey/src/keypair.rs b/accounts/ethkey/src/keypair.rs index 610c14524fe..2919f0cfb79 100644 --- a/accounts/ethkey/src/keypair.rs +++ b/accounts/ethkey/src/keypair.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . use std::fmt; use secp256k1::key; diff --git a/accounts/ethkey/src/lib.rs b/accounts/ethkey/src/lib.rs index 625af7969bd..5c58333c711 100644 --- a/accounts/ethkey/src/lib.rs +++ b/accounts/ethkey/src/lib.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . // #![warn(missing_docs)] diff --git a/accounts/ethkey/src/math.rs b/accounts/ethkey/src/math.rs index 6b1d4013bd7..8c3fe650df6 100644 --- a/accounts/ethkey/src/math.rs +++ b/accounts/ethkey/src/math.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . use super::{SECP256K1, Public, Secret, Error}; use secp256k1::key; diff --git a/accounts/ethkey/src/password.rs b/accounts/ethkey/src/password.rs index d349663739b..6ad665e396c 100644 --- a/accounts/ethkey/src/password.rs +++ b/accounts/ethkey/src/password.rs @@ -1,18 +1,18 @@ -// Copyright 2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . use std::{fmt, ptr}; @@ -57,4 +57,3 @@ impl<'a> From<&'a str> for Password { Password::from(String::from(s)) } } - diff --git a/accounts/ethkey/src/prefix.rs b/accounts/ethkey/src/prefix.rs index 2668050ef8e..6695e93c50e 100644 --- a/accounts/ethkey/src/prefix.rs +++ b/accounts/ethkey/src/prefix.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . use super::{Random, Generator, KeyPair, Error}; diff --git a/accounts/ethkey/src/random.rs b/accounts/ethkey/src/random.rs index d42bb4ea4df..1966cb361b6 100644 --- a/accounts/ethkey/src/random.rs +++ b/accounts/ethkey/src/random.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . use rand::os::OsRng; use super::{Generator, KeyPair, SECP256K1}; diff --git a/accounts/ethkey/src/secret.rs b/accounts/ethkey/src/secret.rs index fde1c3e9da1..84e849cabc5 100644 --- a/accounts/ethkey/src/secret.rs +++ b/accounts/ethkey/src/secret.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . use std::fmt; use std::ops::Deref; diff --git a/accounts/ethkey/src/signature.rs b/accounts/ethkey/src/signature.rs index cd6d88fe187..cc712df6904 100644 --- a/accounts/ethkey/src/signature.rs +++ b/accounts/ethkey/src/signature.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . use std::ops::{Deref, DerefMut}; use std::cmp::PartialEq; diff --git a/accounts/ethstore/cli/src/crack.rs b/accounts/ethstore/cli/src/crack.rs index 00844b7f016..abe171c3560 100644 --- a/accounts/ethstore/cli/src/crack.rs +++ b/accounts/ethstore/cli/src/crack.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . use std::{cmp, thread}; use std::sync::Arc; diff --git a/accounts/ethstore/cli/src/main.rs b/accounts/ethstore/cli/src/main.rs index 7e607973ccc..6ee1914a00e 100644 --- a/accounts/ethstore/cli/src/main.rs +++ b/accounts/ethstore/cli/src/main.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . extern crate dir; extern crate docopt; diff --git a/accounts/ethstore/cli/tests/cli.rs b/accounts/ethstore/cli/tests/cli.rs index 1b899f7082e..39e40864f2a 100644 --- a/accounts/ethstore/cli/tests/cli.rs +++ b/accounts/ethstore/cli/tests/cli.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . extern crate tempdir; use std::process::Command; diff --git a/accounts/ethstore/src/account/cipher.rs b/accounts/ethstore/src/account/cipher.rs index 92a5304edb9..1d97b69e8fe 100644 --- a/accounts/ethstore/src/account/cipher.rs +++ b/accounts/ethstore/src/account/cipher.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . use json; diff --git a/accounts/ethstore/src/account/crypto.rs b/accounts/ethstore/src/account/crypto.rs index 4ab01dae831..e2cc5dc515c 100644 --- a/accounts/ethstore/src/account/crypto.rs +++ b/accounts/ethstore/src/account/crypto.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . use std::str; use ethkey::{Password, Secret}; diff --git a/accounts/ethstore/src/account/kdf.rs b/accounts/ethstore/src/account/kdf.rs index e8d001917f9..dfa1dea4968 100644 --- a/accounts/ethstore/src/account/kdf.rs +++ b/accounts/ethstore/src/account/kdf.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . use json; diff --git a/accounts/ethstore/src/account/mod.rs b/accounts/ethstore/src/account/mod.rs index e13237d8270..b979d34a5ac 100644 --- a/accounts/ethstore/src/account/mod.rs +++ b/accounts/ethstore/src/account/mod.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . mod cipher; mod crypto; diff --git a/accounts/ethstore/src/account/safe_account.rs b/accounts/ethstore/src/account/safe_account.rs index 4492c6014e6..7a38e79fa26 100644 --- a/accounts/ethstore/src/account/safe_account.rs +++ b/accounts/ethstore/src/account/safe_account.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . use ethkey::{self, KeyPair, sign, Address, Password, Signature, Message, Public, Secret}; use ethkey::crypto::ecdh::agree; diff --git a/accounts/ethstore/src/account/version.rs b/accounts/ethstore/src/account/version.rs index d206a2c12d7..3048b95b0a1 100644 --- a/accounts/ethstore/src/account/version.rs +++ b/accounts/ethstore/src/account/version.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . use json; diff --git a/accounts/ethstore/src/accounts_dir/disk.rs b/accounts/ethstore/src/accounts_dir/disk.rs index 344c643c59c..2bbb7667735 100644 --- a/accounts/ethstore/src/accounts_dir/disk.rs +++ b/accounts/ethstore/src/accounts_dir/disk.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . use std::{fs, io}; use std::io::Write; @@ -135,7 +135,6 @@ impl RootDiskDirectory { DiskDirectory::new(&self.path, DiskKeyFileManager { password }) } - pub fn at

(path: P) -> Self where P: AsRef { DiskDirectory::new(path, DiskKeyFileManager::default()) } diff --git a/accounts/ethstore/src/accounts_dir/memory.rs b/accounts/ethstore/src/accounts_dir/memory.rs index 71ddfa536e3..617e7bcb024 100644 --- a/accounts/ethstore/src/accounts_dir/memory.rs +++ b/accounts/ethstore/src/accounts_dir/memory.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . use std::collections::HashMap; use parking_lot::RwLock; diff --git a/accounts/ethstore/src/accounts_dir/mod.rs b/accounts/ethstore/src/accounts_dir/mod.rs index 1191a73d2de..300c395222d 100644 --- a/accounts/ethstore/src/accounts_dir/mod.rs +++ b/accounts/ethstore/src/accounts_dir/mod.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Accounts Directory diff --git a/accounts/ethstore/src/accounts_dir/vault.rs b/accounts/ethstore/src/accounts_dir/vault.rs index 0cba3368979..1aea7e104c1 100644 --- a/accounts/ethstore/src/accounts_dir/vault.rs +++ b/accounts/ethstore/src/accounts_dir/vault.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . use std::{fs, io}; use std::path::{PathBuf, Path}; diff --git a/accounts/ethstore/src/error.rs b/accounts/ethstore/src/error.rs index 6a2c257633a..fceaf16768b 100644 --- a/accounts/ethstore/src/error.rs +++ b/accounts/ethstore/src/error.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . use std::fmt; use std::io::Error as IoError; diff --git a/accounts/ethstore/src/ethkey.rs b/accounts/ethstore/src/ethkey.rs index 34e89a4fb58..8cd2c533adc 100644 --- a/accounts/ethstore/src/ethkey.rs +++ b/accounts/ethstore/src/ethkey.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! ethkey reexport to make documentation look pretty. pub use _ethkey::*; diff --git a/accounts/ethstore/src/ethstore.rs b/accounts/ethstore/src/ethstore.rs index 574ac8c3da0..7207db72607 100644 --- a/accounts/ethstore/src/ethstore.rs +++ b/accounts/ethstore/src/ethstore.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . use std::collections::{BTreeMap, HashMap}; use std::mem; diff --git a/accounts/ethstore/src/import.rs b/accounts/ethstore/src/import.rs index e1b73c56705..87e9783eae7 100644 --- a/accounts/ethstore/src/import.rs +++ b/accounts/ethstore/src/import.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . use std::collections::HashSet; use std::path::Path; diff --git a/accounts/ethstore/src/json/bytes.rs b/accounts/ethstore/src/json/bytes.rs index b5aae19222a..71391d8d185 100644 --- a/accounts/ethstore/src/json/bytes.rs +++ b/accounts/ethstore/src/json/bytes.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . use std::{ops, str}; use serde::{Deserialize, Deserializer, Serialize, Serializer}; diff --git a/accounts/ethstore/src/json/cipher.rs b/accounts/ethstore/src/json/cipher.rs index 6fffdde9e2a..38d897b64b0 100644 --- a/accounts/ethstore/src/json/cipher.rs +++ b/accounts/ethstore/src/json/cipher.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . use std::fmt; use serde::{Serialize, Serializer, Deserialize, Deserializer}; diff --git a/accounts/ethstore/src/json/crypto.rs b/accounts/ethstore/src/json/crypto.rs index ff4728a96b7..34664f98b0e 100644 --- a/accounts/ethstore/src/json/crypto.rs +++ b/accounts/ethstore/src/json/crypto.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . use std::{fmt, str}; use serde::{Deserialize, Deserializer, Serialize, Serializer}; diff --git a/accounts/ethstore/src/json/error.rs b/accounts/ethstore/src/json/error.rs index 81b805bfe2c..e02ecb9633a 100644 --- a/accounts/ethstore/src/json/error.rs +++ b/accounts/ethstore/src/json/error.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . use std::fmt; diff --git a/accounts/ethstore/src/json/hash.rs b/accounts/ethstore/src/json/hash.rs index c2ad547734f..6678abb73a4 100644 --- a/accounts/ethstore/src/json/hash.rs +++ b/accounts/ethstore/src/json/hash.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . use std::{ops, fmt, str}; use rustc_hex::{FromHex, ToHex}; diff --git a/accounts/ethstore/src/json/id.rs b/accounts/ethstore/src/json/id.rs index 7df5c8f7e5a..27550428fa1 100644 --- a/accounts/ethstore/src/json/id.rs +++ b/accounts/ethstore/src/json/id.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Universaly unique identifier. use std::{fmt, str}; diff --git a/accounts/ethstore/src/json/kdf.rs b/accounts/ethstore/src/json/kdf.rs index d7b3f08f590..0ea1d9f31c4 100644 --- a/accounts/ethstore/src/json/kdf.rs +++ b/accounts/ethstore/src/json/kdf.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . use std::fmt; use serde::{Serialize, Serializer, Deserialize, Deserializer}; diff --git a/accounts/ethstore/src/json/key_file.rs b/accounts/ethstore/src/json/key_file.rs index d5dc136058a..60c3ae859f3 100644 --- a/accounts/ethstore/src/json/key_file.rs +++ b/accounts/ethstore/src/json/key_file.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . use std::fmt; use std::io::{Read, Write}; diff --git a/accounts/ethstore/src/json/mod.rs b/accounts/ethstore/src/json/mod.rs index e39bff651e4..2b6348aae2e 100644 --- a/accounts/ethstore/src/json/mod.rs +++ b/accounts/ethstore/src/json/mod.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Contract interface specification. diff --git a/accounts/ethstore/src/json/presale.rs b/accounts/ethstore/src/json/presale.rs index 478f328a43a..70568d510f3 100644 --- a/accounts/ethstore/src/json/presale.rs +++ b/accounts/ethstore/src/json/presale.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . use std::io::Read; use serde_json; diff --git a/accounts/ethstore/src/json/vault_file.rs b/accounts/ethstore/src/json/vault_file.rs index e9620442272..52e98cd2500 100644 --- a/accounts/ethstore/src/json/vault_file.rs +++ b/accounts/ethstore/src/json/vault_file.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . use std::io::{Read, Write}; use serde_json; diff --git a/accounts/ethstore/src/json/vault_key_file.rs b/accounts/ethstore/src/json/vault_key_file.rs index 818487d52b6..a29d5fe7f62 100644 --- a/accounts/ethstore/src/json/vault_key_file.rs +++ b/accounts/ethstore/src/json/vault_key_file.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . use std::io::{Read, Write}; use serde::de::Error; diff --git a/accounts/ethstore/src/json/version.rs b/accounts/ethstore/src/json/version.rs index 683d4a520fa..cd8439c59f2 100644 --- a/accounts/ethstore/src/json/version.rs +++ b/accounts/ethstore/src/json/version.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . use std::fmt; use serde::{Serialize, Serializer, Deserialize, Deserializer}; diff --git a/accounts/ethstore/src/lib.rs b/accounts/ethstore/src/lib.rs index ad58bd0e984..aa2bb86a471 100644 --- a/accounts/ethstore/src/lib.rs +++ b/accounts/ethstore/src/lib.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Ethereum key-management. diff --git a/accounts/ethstore/src/presale.rs b/accounts/ethstore/src/presale.rs index 7ffde7973c6..c1be05f0f02 100644 --- a/accounts/ethstore/src/presale.rs +++ b/accounts/ethstore/src/presale.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . use std::fs; use std::path::Path; diff --git a/accounts/ethstore/src/random.rs b/accounts/ethstore/src/random.rs index b8b7a71fa8b..969c8a366d5 100644 --- a/accounts/ethstore/src/random.rs +++ b/accounts/ethstore/src/random.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . use rand::{Rng, OsRng}; diff --git a/accounts/ethstore/src/secret_store.rs b/accounts/ethstore/src/secret_store.rs index b8417bc61c4..5571f83c0cd 100644 --- a/accounts/ethstore/src/secret_store.rs +++ b/accounts/ethstore/src/secret_store.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . use std::hash::{Hash, Hasher}; use std::path::PathBuf; diff --git a/accounts/ethstore/tests/api.rs b/accounts/ethstore/tests/api.rs index 11ab4f8edda..c274737522b 100644 --- a/accounts/ethstore/tests/api.rs +++ b/accounts/ethstore/tests/api.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . extern crate rand; extern crate ethstore; diff --git a/accounts/ethstore/tests/util/mod.rs b/accounts/ethstore/tests/util/mod.rs index 1a7abc93eff..76500796275 100644 --- a/accounts/ethstore/tests/util/mod.rs +++ b/accounts/ethstore/tests/util/mod.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . mod transient_dir; diff --git a/accounts/ethstore/tests/util/transient_dir.rs b/accounts/ethstore/tests/util/transient_dir.rs index c0969418d8c..67511a9b99b 100644 --- a/accounts/ethstore/tests/util/transient_dir.rs +++ b/accounts/ethstore/tests/util/transient_dir.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . use std::path::PathBuf; use std::{env, fs}; diff --git a/accounts/fake-hardware-wallet/src/lib.rs b/accounts/fake-hardware-wallet/src/lib.rs index 2bf905d7bf7..d04590865cd 100644 --- a/accounts/fake-hardware-wallet/src/lib.rs +++ b/accounts/fake-hardware-wallet/src/lib.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Dummy module for platforms that does not provide support for hardware wallets (libusb) diff --git a/accounts/hw/src/ledger.rs b/accounts/hw/src/ledger.rs index 26323cd3dfb..9bad48ec545 100644 --- a/accounts/hw/src/ledger.rs +++ b/accounts/hw/src/ledger.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Ledger hardware wallet module. Supports Ledger Blue and Nano S. //! See for protocol details. @@ -251,7 +251,6 @@ impl Manager { Self::read(&handle) } - fn get_firmware_version(handle: &hidapi::HidDevice) -> Result { let ver = Self::send_apdu(&handle, commands::GET_APP_CONFIGURATION, 0, 0, &[])?; if ver.len() != 4 { @@ -323,7 +322,6 @@ impl Manager { } } - impl<'a> Wallet<'a> for Manager { type Error = Error; type Transaction = &'a [u8]; diff --git a/accounts/hw/src/lib.rs b/accounts/hw/src/lib.rs index cd0bef88101..a7da8da45e2 100644 --- a/accounts/hw/src/lib.rs +++ b/accounts/hw/src/lib.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Hardware wallet management. diff --git a/accounts/hw/src/trezor.rs b/accounts/hw/src/trezor.rs index 9b14974fe13..b20123ed8b3 100644 --- a/accounts/hw/src/trezor.rs +++ b/accounts/hw/src/trezor.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Trezor hardware wallet module. Supports Trezor v1. //! See @@ -411,7 +411,6 @@ impl<'a> Wallet<'a> for Manager { } } - /// Poll the device in maximum `max_polling_duration` if it doesn't succeed pub fn try_connect_polling(trezor: &Manager, duration: &Duration, dir: DeviceDirection) -> bool { let start_time = Instant::now(); @@ -429,8 +428,6 @@ pub fn is_valid_trezor(vid: u16, pid: u16) -> bool { vid == TREZOR_VID && TREZOR_PIDS.contains(&pid) } - - #[test] #[ignore] /// This test can't be run without an actual trezor device connected diff --git a/chainspec/src/main.rs b/chainspec/src/main.rs index 43f9c805754..45490fe7f6a 100644 --- a/chainspec/src/main.rs +++ b/chainspec/src/main.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . extern crate serde_json; extern crate ethjson; diff --git a/cli-signer/rpc-client/src/client.rs b/cli-signer/rpc-client/src/client.rs index f44556337bc..a9ca5e68a0a 100644 --- a/cli-signer/rpc-client/src/client.rs +++ b/cli-signer/rpc-client/src/client.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . use std::fmt::{Debug, Formatter, Error as FmtError}; use std::io::{BufReader, BufRead}; diff --git a/cli-signer/rpc-client/src/lib.rs b/cli-signer/rpc-client/src/lib.rs index 98614bd7634..df7936eaeed 100644 --- a/cli-signer/rpc-client/src/lib.rs +++ b/cli-signer/rpc-client/src/lib.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . pub mod client; pub mod signer_client; diff --git a/cli-signer/rpc-client/src/signer_client.rs b/cli-signer/rpc-client/src/signer_client.rs index e7a241137f6..339f43b6e33 100644 --- a/cli-signer/rpc-client/src/signer_client.rs +++ b/cli-signer/rpc-client/src/signer_client.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . use client::{Rpc, RpcError}; use rpc::signer::{ConfirmationRequest, TransactionModification, U256, TransactionCondition}; diff --git a/cli-signer/src/lib.rs b/cli-signer/src/lib.rs index e4554d6ed51..f09d4403aa3 100644 --- a/cli-signer/src/lib.rs +++ b/cli-signer/src/lib.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . extern crate futures; extern crate rpassword; diff --git a/ethash/benches/basic.rs b/ethash/benches/basic.rs index 9ecb1bd7dd7..dcfc266b399 100644 --- a/ethash/benches/basic.rs +++ b/ethash/benches/basic.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . #[macro_use] extern crate criterion; @@ -37,7 +37,6 @@ criterion_group!( ); criterion_main!(basic); - fn bench_light_compute_memmap(b: &mut Criterion) { use std::env; @@ -47,7 +46,6 @@ fn bench_light_compute_memmap(b: &mut Criterion) { b.bench_function("bench_light_compute_memmap", move |b| b.iter(|| light.compute(&HASH, NONCE))); } - fn bench_light_compute_memory(b: &mut Criterion) { use std::env; @@ -57,7 +55,6 @@ fn bench_light_compute_memory(b: &mut Criterion) { b.bench_function("bench_light_compute_memmap", move |b| b.iter(|| light.compute(&HASH, NONCE))); } - fn bench_light_new_round_trip_memmap(b: &mut Criterion) { use std::env; @@ -68,7 +65,6 @@ fn bench_light_new_round_trip_memmap(b: &mut Criterion) { })); } - fn bench_light_new_round_trip_memory(b: &mut Criterion) { use std::env; @@ -79,7 +75,6 @@ fn bench_light_new_round_trip_memory(b: &mut Criterion) { })); } - fn bench_light_from_file_round_trip_memory(b: &mut Criterion) { use std::env; @@ -98,7 +93,6 @@ fn bench_light_from_file_round_trip_memory(b: &mut Criterion) { })); } - fn bench_light_from_file_round_trip_memmap(b: &mut Criterion) { use std::env; diff --git a/ethash/src/cache.rs b/ethash/src/cache.rs index 023e4bb468f..57dbd8cdabb 100644 --- a/ethash/src/cache.rs +++ b/ethash/src/cache.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . use compute::Light; use either::Either; diff --git a/ethash/src/compute.rs b/ethash/src/compute.rs index 69211f24487..63762f3a82d 100644 --- a/ethash/src/compute.rs +++ b/ethash/src/compute.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Ethash implementation //! See https://github.com/ethereum/wiki/wiki/Ethash diff --git a/ethash/src/keccak.rs b/ethash/src/keccak.rs index ab6be94dcaa..3f7576c7bb8 100644 --- a/ethash/src/keccak.rs +++ b/ethash/src/keccak.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . extern crate keccak_hash as hash; diff --git a/ethash/src/lib.rs b/ethash/src/lib.rs index dc815b07fdc..d6cfa045728 100644 --- a/ethash/src/lib.rs +++ b/ethash/src/lib.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . extern crate either; extern crate ethereum_types; diff --git a/ethash/src/seed_compute.rs b/ethash/src/seed_compute.rs index 7a3f89b9b5d..51782803285 100644 --- a/ethash/src/seed_compute.rs +++ b/ethash/src/seed_compute.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . use shared; use keccak::{keccak_256, H256}; diff --git a/ethash/src/shared.rs b/ethash/src/shared.rs index 90969c52225..2c9a9fa9d0e 100644 --- a/ethash/src/shared.rs +++ b/ethash/src/shared.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . use primal::is_prime; diff --git a/ethcore/benches/builtin.rs b/ethcore/benches/builtin.rs index cd99be6a3a6..d7ed483dd03 100644 --- a/ethcore/benches/builtin.rs +++ b/ethcore/benches/builtin.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . #[macro_use] extern crate criterion; @@ -154,7 +154,6 @@ fn ecrecover(b: &mut Criterion) { ); } - fn sha256(b: &mut Criterion) { bench( "sha256", @@ -165,7 +164,6 @@ fn sha256(b: &mut Criterion) { ); } - fn ripemd(b: &mut Criterion) { bench( "ripemd", @@ -176,7 +174,6 @@ fn ripemd(b: &mut Criterion) { ); } - fn identity(b: &mut Criterion) { bench( "identity", @@ -187,7 +184,6 @@ fn identity(b: &mut Criterion) { ); } - fn modexp_eip_example1(b: &mut Criterion) { bench( "modexp_eip_example1", @@ -198,7 +194,6 @@ fn modexp_eip_example1(b: &mut Criterion) { ); } - fn modexp_eip_example2(b: &mut Criterion) { bench( "modexp_eip_example2", @@ -209,7 +204,6 @@ fn modexp_eip_example2(b: &mut Criterion) { ); } - fn modexp_nagydani_1_square(b: &mut Criterion) { bench( "modexp_nagydani_1_square", @@ -220,7 +214,6 @@ fn modexp_nagydani_1_square(b: &mut Criterion) { ); } - fn modexp_nagydani_1_qube(b: &mut Criterion) { bench( "modexp_nagydani_1_qube", @@ -231,7 +224,6 @@ fn modexp_nagydani_1_qube(b: &mut Criterion) { ); } - fn modexp_nagydani_1_pow0x10001(b: &mut Criterion) { bench( "modexp_nagydani_1_pow0x10001", @@ -242,7 +234,6 @@ fn modexp_nagydani_1_pow0x10001(b: &mut Criterion) { ); } - fn modexp_nagydani_2_square(b: &mut Criterion) { bench( "modexp_nagydani_2_square", @@ -253,8 +244,6 @@ fn modexp_nagydani_2_square(b: &mut Criterion) { ); } - - fn modexp_nagydani_2_qube(b: &mut Criterion) { bench( "modexp_nagydani_2_qube", @@ -265,7 +254,6 @@ fn modexp_nagydani_2_qube(b: &mut Criterion) { ); } - fn modexp_nagydani_2_pow0x10001(b: &mut Criterion) { bench( "modexp_nagydani_2_pow0x10001", @@ -276,7 +264,6 @@ fn modexp_nagydani_2_pow0x10001(b: &mut Criterion) { ); } - fn modexp_nagydani_3_square(b: &mut Criterion) { bench( "modexp_nagydani_3_square", @@ -287,7 +274,6 @@ fn modexp_nagydani_3_square(b: &mut Criterion) { ); } - fn modexp_nagydani_3_qube(b: &mut Criterion) { bench( "modexp_nagydani_3_qube", @@ -298,7 +284,6 @@ fn modexp_nagydani_3_qube(b: &mut Criterion) { ); } - fn modexp_nagydani_3_pow0x10001(b: &mut Criterion) { bench( "modexp_nagydani_3_pow0x10001", @@ -309,7 +294,6 @@ fn modexp_nagydani_3_pow0x10001(b: &mut Criterion) { ); } - fn modexp_nagydani_4_square(b: &mut Criterion) { bench( "modexp_nagydani_4_square", @@ -320,7 +304,6 @@ fn modexp_nagydani_4_square(b: &mut Criterion) { ); } - fn modexp_nagydani_4_qube(b: &mut Criterion) { bench( "modexp_nagydani_4_qube", @@ -331,7 +314,6 @@ fn modexp_nagydani_4_qube(b: &mut Criterion) { ); } - fn modexp_nagydani_4_pow0x10001(b: &mut Criterion) { bench( "modexp_nagydani_4_pow0x10001", @@ -342,7 +324,6 @@ fn modexp_nagydani_4_pow0x10001(b: &mut Criterion) { ); } - fn modexp_nagydani_5_square(b: &mut Criterion) { bench( "modexp_nagydani_5_square", @@ -353,7 +334,6 @@ fn modexp_nagydani_5_square(b: &mut Criterion) { ); } - fn modexp_nagydani_5_qube(b: &mut Criterion) { bench( "modexp_nagydani_5_qube", @@ -364,8 +344,6 @@ fn modexp_nagydani_5_qube(b: &mut Criterion) { ); } - - fn modexp_nagydani_5_pow0x10001(b: &mut Criterion) { bench( "modexp_nagydani_5_pow0x10001", @@ -376,7 +354,6 @@ fn modexp_nagydani_5_pow0x10001(b: &mut Criterion) { ); } - fn alt_bn128_add_chfast1(b: &mut Criterion) { bench( "alt_bn128_add_chfast1", @@ -387,7 +364,6 @@ fn alt_bn128_add_chfast1(b: &mut Criterion) { ); } - fn alt_bn128_add_chfast2(b: &mut Criterion) { bench( "alt_bn128_add_chfast2", @@ -398,7 +374,6 @@ fn alt_bn128_add_chfast2(b: &mut Criterion) { ); } - fn alt_bn128_add_cdetrio1(b: &mut Criterion) { bench( "alt_bn128_add_cdetrio1", @@ -409,7 +384,6 @@ fn alt_bn128_add_cdetrio1(b: &mut Criterion) { ); } - fn alt_bn128_add_cdetrio2(b: &mut Criterion) { bench( "alt_bn128_add_cdetrio2", @@ -420,7 +394,6 @@ fn alt_bn128_add_cdetrio2(b: &mut Criterion) { ); } - fn alt_bn128_add_cdetrio3(b: &mut Criterion) { bench( "alt_bn128_add_cdetrio3", @@ -431,7 +404,6 @@ fn alt_bn128_add_cdetrio3(b: &mut Criterion) { ); } - fn alt_bn128_add_cdetrio4(b: &mut Criterion) { bench( "alt_bn128_add_cdetrio4", @@ -442,7 +414,6 @@ fn alt_bn128_add_cdetrio4(b: &mut Criterion) { ); } - fn alt_bn128_add_cdetrio5(b: &mut Criterion) { bench( "alt_bn128_add_cdetrio5", @@ -453,7 +424,6 @@ fn alt_bn128_add_cdetrio5(b: &mut Criterion) { ); } - fn alt_bn128_add_cdetrio6(b: &mut Criterion) { bench( "alt_bn128_add_cdetrio6", @@ -464,7 +434,6 @@ fn alt_bn128_add_cdetrio6(b: &mut Criterion) { ); } - fn alt_bn128_add_cdetrio7(b: &mut Criterion) { bench( "alt_bn128_add_cdetrio7", @@ -475,7 +444,6 @@ fn alt_bn128_add_cdetrio7(b: &mut Criterion) { ); } - fn alt_bn128_add_cdetrio8(b: &mut Criterion) { bench( "alt_bn128_add_cdetrio8", @@ -486,7 +454,6 @@ fn alt_bn128_add_cdetrio8(b: &mut Criterion) { ); } - fn alt_bn128_add_cdetrio9(b: &mut Criterion) { bench( "alt_bn128_add_cdetrio9", @@ -497,7 +464,6 @@ fn alt_bn128_add_cdetrio9(b: &mut Criterion) { ); } - fn alt_bn128_add_cdetrio10(b: &mut Criterion) { bench( "alt_bn128_add_cdetrio10", @@ -508,7 +474,6 @@ fn alt_bn128_add_cdetrio10(b: &mut Criterion) { ); } - fn alt_bn128_add_cdetrio11(b: &mut Criterion) { bench( "alt_bn128_add_cdetrio11", @@ -519,7 +484,6 @@ fn alt_bn128_add_cdetrio11(b: &mut Criterion) { ); } - fn alt_bn128_add_cdetrio12(b: &mut Criterion) { bench( "alt_bn128_add_cdetrio12", @@ -530,7 +494,6 @@ fn alt_bn128_add_cdetrio12(b: &mut Criterion) { ); } - fn alt_bn128_add_cdetrio13(b: &mut Criterion) { bench( "alt_bn128_add_cdetrio13", @@ -541,7 +504,6 @@ fn alt_bn128_add_cdetrio13(b: &mut Criterion) { ); } - fn alt_bn128_add_cdetrio14(b: &mut Criterion) { bench( "alt_bn128_add_cdetrio14", @@ -552,7 +514,6 @@ fn alt_bn128_add_cdetrio14(b: &mut Criterion) { ); } - fn alt_bn128_mul_chfast1(b: &mut Criterion) { bench( "alt_bn128_mul_chfast1", @@ -563,7 +524,6 @@ fn alt_bn128_mul_chfast1(b: &mut Criterion) { ); } - fn alt_bn128_mul_chfast2(b: &mut Criterion) { bench( "alt_bn128_mul_chfast2", @@ -574,7 +534,6 @@ fn alt_bn128_mul_chfast2(b: &mut Criterion) { ); } - fn alt_bn128_mul_chfast3(b: &mut Criterion) { bench( "alt_bn128_mul_chfast3", @@ -585,7 +544,6 @@ fn alt_bn128_mul_chfast3(b: &mut Criterion) { ); } - fn alt_bn128_mul_cdetrio1(b: &mut Criterion) { bench( "alt_bn128_mul_cdetrio1", @@ -596,7 +554,6 @@ fn alt_bn128_mul_cdetrio1(b: &mut Criterion) { ); } - fn alt_bn128_mul_cdetrio6(b: &mut Criterion) { bench( "alt_bn128_mul_cdetrio6", @@ -607,7 +564,6 @@ fn alt_bn128_mul_cdetrio6(b: &mut Criterion) { ); } - fn alt_bn128_mul_cdetrio11(b: &mut Criterion) { bench( "alt_bn128_mul_cdetrio11", @@ -618,7 +574,6 @@ fn alt_bn128_mul_cdetrio11(b: &mut Criterion) { ); } - fn alt_bn128_pairing_jeff1(b: &mut Criterion) { bench( "alt_bn128_pairing_jeff1", @@ -629,7 +584,6 @@ fn alt_bn128_pairing_jeff1(b: &mut Criterion) { ); } - fn alt_bn128_pairing_jeff2(b: &mut Criterion) { bench( "alt_bn128_pairing_jeff2", @@ -640,7 +594,6 @@ fn alt_bn128_pairing_jeff2(b: &mut Criterion) { ); } - fn alt_bn128_pairing_jeff3(b: &mut Criterion) { bench( "alt_bn128_pairing_jeff3", @@ -651,7 +604,6 @@ fn alt_bn128_pairing_jeff3(b: &mut Criterion) { ); } - fn alt_bn128_pairing_jeff4(b: &mut Criterion) { bench( "alt_bn128_pairing_jeff4", @@ -662,7 +614,6 @@ fn alt_bn128_pairing_jeff4(b: &mut Criterion) { ); } - fn alt_bn128_pairing_jeff5(b: &mut Criterion) { bench( "alt_bn128_pairing_jeff5", @@ -673,7 +624,6 @@ fn alt_bn128_pairing_jeff5(b: &mut Criterion) { ); } - fn alt_bn128_pairing_jeff6(b: &mut Criterion) { bench( "alt_bn128_pairing_jeff6", @@ -684,7 +634,6 @@ fn alt_bn128_pairing_jeff6(b: &mut Criterion) { ); } - fn alt_bn128_pairing_empty_data(b: &mut Criterion) { bench( "alt_bn128_pairing_empty_data", @@ -695,7 +644,6 @@ fn alt_bn128_pairing_empty_data(b: &mut Criterion) { ); } - fn alt_bn128_pairing_one_point(b: &mut Criterion) { bench( "alt_bn128_pairing_one_point", @@ -706,7 +654,6 @@ fn alt_bn128_pairing_one_point(b: &mut Criterion) { ); } - fn alt_bn128_pairing_two_point_match_2(b: &mut Criterion) { bench( "alt_bn128_pairing_two_point_match_2", @@ -717,7 +664,6 @@ fn alt_bn128_pairing_two_point_match_2(b: &mut Criterion) { ); } - fn alt_bn128_pairing_two_point_match_3(b: &mut Criterion) { bench( "alt_bn128_pairing_two_point_match_3", @@ -728,7 +674,6 @@ fn alt_bn128_pairing_two_point_match_3(b: &mut Criterion) { ); } - fn alt_bn128_pairing_two_point_match_4(b: &mut Criterion) { bench( "alt_bn128_pairing_two_point_match_4", @@ -739,7 +684,6 @@ fn alt_bn128_pairing_two_point_match_4(b: &mut Criterion) { ); } - fn alt_bn128_pairing_ten_point_match_1(b: &mut Criterion) { bench( "alt_bn128_pairing_ten_point_match_1", @@ -750,7 +694,6 @@ fn alt_bn128_pairing_ten_point_match_1(b: &mut Criterion) { ); } - fn alt_bn128_pairing_ten_point_match_2(b: &mut Criterion) { bench( "alt_bn128_pairing_ten_point_match_2", @@ -761,7 +704,6 @@ fn alt_bn128_pairing_ten_point_match_2(b: &mut Criterion) { ); } - fn alt_bn128_pairing_ten_point_match_3(b: &mut Criterion) { bench( "alt_bn128_pairing_ten_point_match_3", diff --git a/ethcore/blockchain/src/best_block.rs b/ethcore/blockchain/src/best_block.rs index f73caa5fbd3..20f247391dc 100644 --- a/ethcore/blockchain/src/best_block.rs +++ b/ethcore/blockchain/src/best_block.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . use ethereum_types::{H256, U256}; diff --git a/ethcore/blockchain/src/block_info.rs b/ethcore/blockchain/src/block_info.rs index cbf7ad9d688..15f71ecb855 100644 --- a/ethcore/blockchain/src/block_info.rs +++ b/ethcore/blockchain/src/block_info.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . use ethereum_types::{H256, U256}; use common_types::BlockNumber; diff --git a/ethcore/blockchain/src/blockchain.rs b/ethcore/blockchain/src/blockchain.rs index 2d7d129e844..88f15038803 100644 --- a/ethcore/blockchain/src/blockchain.rs +++ b/ethcore/blockchain/src/blockchain.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Blockchain database. diff --git a/ethcore/blockchain/src/cache.rs b/ethcore/blockchain/src/cache.rs index a924f2ad084..f17afbb2789 100644 --- a/ethcore/blockchain/src/cache.rs +++ b/ethcore/blockchain/src/cache.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . /// Represents blockchain's in-memory cache size in bytes. #[derive(Debug)] diff --git a/ethcore/blockchain/src/config.rs b/ethcore/blockchain/src/config.rs index 632f978ac53..8cd84b59376 100644 --- a/ethcore/blockchain/src/config.rs +++ b/ethcore/blockchain/src/config.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Blockchain configuration. diff --git a/ethcore/blockchain/src/generator.rs b/ethcore/blockchain/src/generator.rs index 8f933bbc85d..32ec2802dfb 100644 --- a/ethcore/blockchain/src/generator.rs +++ b/ethcore/blockchain/src/generator.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Blockchain generator for tests. diff --git a/ethcore/blockchain/src/import_route.rs b/ethcore/blockchain/src/import_route.rs index 8ab8d91ea4e..8c635b4e5ab 100644 --- a/ethcore/blockchain/src/import_route.rs +++ b/ethcore/blockchain/src/import_route.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Import route. diff --git a/ethcore/blockchain/src/lib.rs b/ethcore/blockchain/src/lib.rs index ad07cff3b35..0ee7a5c1c8c 100644 --- a/ethcore/blockchain/src/lib.rs +++ b/ethcore/blockchain/src/lib.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Blockchain database. diff --git a/ethcore/blockchain/src/update.rs b/ethcore/blockchain/src/update.rs index 965e0bcd729..959f55fdff5 100644 --- a/ethcore/blockchain/src/update.rs +++ b/ethcore/blockchain/src/update.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . use std::collections::HashMap; diff --git a/ethcore/db/src/cache_manager.rs b/ethcore/db/src/cache_manager.rs index dacb51da68d..34a02d72137 100644 --- a/ethcore/db/src/cache_manager.rs +++ b/ethcore/db/src/cache_manager.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Database cache manager diff --git a/ethcore/db/src/db.rs b/ethcore/db/src/db.rs index 39c30e96376..c00f63eac23 100644 --- a/ethcore/db/src/db.rs +++ b/ethcore/db/src/db.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Database utilities and definitions. diff --git a/ethcore/db/src/keys.rs b/ethcore/db/src/keys.rs index d9fc3dcc368..96ecde85fb5 100644 --- a/ethcore/db/src/keys.rs +++ b/ethcore/db/src/keys.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Blockchain DB extras. diff --git a/ethcore/db/src/lib.rs b/ethcore/db/src/lib.rs index 1ecfb9adc24..3fdb368a1aa 100644 --- a/ethcore/db/src/lib.rs +++ b/ethcore/db/src/lib.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Parity Ethereum database access utilities. diff --git a/ethcore/evm/benches/basic.rs b/ethcore/evm/benches/basic.rs index c254abe298e..f17ba363a58 100644 --- a/ethcore/evm/benches/basic.rs +++ b/ethcore/evm/benches/basic.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! benchmarking for EVM diff --git a/ethcore/evm/src/evm.rs b/ethcore/evm/src/evm.rs index ce2263e8fd5..f8a08b2b2e3 100644 --- a/ethcore/evm/src/evm.rs +++ b/ethcore/evm/src/evm.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Evm interface. diff --git a/ethcore/evm/src/factory.rs b/ethcore/evm/src/factory.rs index 8189c3a297f..484b2852fec 100644 --- a/ethcore/evm/src/factory.rs +++ b/ethcore/evm/src/factory.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Evm factory. //! diff --git a/ethcore/evm/src/instructions.rs b/ethcore/evm/src/instructions.rs index c1879cbabda..0cdbb5687da 100644 --- a/ethcore/evm/src/instructions.rs +++ b/ethcore/evm/src/instructions.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! VM Instructions list and utility functions @@ -354,7 +354,6 @@ impl Instruction { } } - /// Returns stack position of item to duplicate /// DUP1 -> 0 pub fn dup_position(&self) -> Option { @@ -365,7 +364,6 @@ impl Instruction { } } - /// Returns stack position of item to SWAP top with /// SWAP1 -> 1 pub fn swap_position(&self) -> Option { diff --git a/ethcore/evm/src/interpreter/gasometer.rs b/ethcore/evm/src/interpreter/gasometer.rs index 60ea30da042..26fec2d9376 100644 --- a/ethcore/evm/src/interpreter/gasometer.rs +++ b/ethcore/evm/src/interpreter/gasometer.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . use std::cmp; use ethereum_types::{U256, H256}; diff --git a/ethcore/evm/src/interpreter/informant.rs b/ethcore/evm/src/interpreter/informant.rs index 27e4fbfa4f6..93d459f4177 100644 --- a/ethcore/evm/src/interpreter/informant.rs +++ b/ethcore/evm/src/interpreter/informant.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . pub use self::inner::*; diff --git a/ethcore/evm/src/interpreter/memory.rs b/ethcore/evm/src/interpreter/memory.rs index a118ea41699..16c575d5e5c 100644 --- a/ethcore/evm/src/interpreter/memory.rs +++ b/ethcore/evm/src/interpreter/memory.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . use ethereum_types::U256; use vm::ReturnData; diff --git a/ethcore/evm/src/interpreter/mod.rs b/ethcore/evm/src/interpreter/mod.rs index 87f6aac815d..bd47c7ed713 100644 --- a/ethcore/evm/src/interpreter/mod.rs +++ b/ethcore/evm/src/interpreter/mod.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Rust VM implementation diff --git a/ethcore/evm/src/interpreter/shared_cache.rs b/ethcore/evm/src/interpreter/shared_cache.rs index 63c4f507d82..da7c03efa01 100644 --- a/ethcore/evm/src/interpreter/shared_cache.rs +++ b/ethcore/evm/src/interpreter/shared_cache.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . use std::sync::Arc; use hash::KECCAK_EMPTY; diff --git a/ethcore/evm/src/interpreter/stack.rs b/ethcore/evm/src/interpreter/stack.rs index cf8104fa2e1..87e14bdadbd 100644 --- a/ethcore/evm/src/interpreter/stack.rs +++ b/ethcore/evm/src/interpreter/stack.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . use std::fmt; use instructions; diff --git a/ethcore/evm/src/lib.rs b/ethcore/evm/src/lib.rs index 6b1b1d3bf86..3548a1fe5e5 100644 --- a/ethcore/evm/src/lib.rs +++ b/ethcore/evm/src/lib.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Ethereum virtual machine. diff --git a/ethcore/evm/src/tests.rs b/ethcore/evm/src/tests.rs index af16ab1e542..dd039311ebd 100644 --- a/ethcore/evm/src/tests.rs +++ b/ethcore/evm/src/tests.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . use std::fmt::Debug; use std::str::FromStr; diff --git a/ethcore/evm/src/vmtype.rs b/ethcore/evm/src/vmtype.rs index feb567b73d9..2ae40e2c110 100644 --- a/ethcore/evm/src/vmtype.rs +++ b/ethcore/evm/src/vmtype.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . use std::fmt; diff --git a/ethcore/light/src/cache.rs b/ethcore/light/src/cache.rs index 93f53063a3d..d75e0ff7d31 100644 --- a/ethcore/light/src/cache.rs +++ b/ethcore/light/src/cache.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Cache for data fetched from the network. //! diff --git a/ethcore/light/src/cht.rs b/ethcore/light/src/cht.rs index 9e015188269..b1a5049ab0b 100644 --- a/ethcore/light/src/cht.rs +++ b/ethcore/light/src/cht.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Canonical hash trie definitions and helper functions. //! diff --git a/ethcore/light/src/client/fetch.rs b/ethcore/light/src/client/fetch.rs index bd4bcfe7a2a..86a3770bf8a 100644 --- a/ethcore/light/src/client/fetch.rs +++ b/ethcore/light/src/client/fetch.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Trait for fetching chain data. diff --git a/ethcore/light/src/client/header_chain.rs b/ethcore/light/src/client/header_chain.rs index 8b9e11d4ab6..b72a099d08d 100644 --- a/ethcore/light/src/client/header_chain.rs +++ b/ethcore/light/src/client/header_chain.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Light client header chain. //! diff --git a/ethcore/light/src/client/mod.rs b/ethcore/light/src/client/mod.rs index 95173e68831..90ebba39aa2 100644 --- a/ethcore/light/src/client/mod.rs +++ b/ethcore/light/src/client/mod.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Light client implementation. Stores data from light sync diff --git a/ethcore/light/src/client/service.rs b/ethcore/light/src/client/service.rs index b8a642b2cd5..9672974fc25 100644 --- a/ethcore/light/src/client/service.rs +++ b/ethcore/light/src/client/service.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Minimal IO service for light client. //! Just handles block import messages and passes them to the client. diff --git a/ethcore/light/src/lib.rs b/ethcore/light/src/lib.rs index 6d7c8c1d63e..db52b954826 100644 --- a/ethcore/light/src/lib.rs +++ b/ethcore/light/src/lib.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Light client logic and implementation. //! diff --git a/ethcore/light/src/net/context.rs b/ethcore/light/src/net/context.rs index 083bb49cffe..6e38959cc00 100644 --- a/ethcore/light/src/net/context.rs +++ b/ethcore/light/src/net/context.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! I/O and event context generalizations. diff --git a/ethcore/light/src/net/error.rs b/ethcore/light/src/net/error.rs index ec2a7f91c59..b29327c600a 100644 --- a/ethcore/light/src/net/error.rs +++ b/ethcore/light/src/net/error.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Defines error types and levels of punishment to use upon //! encountering. diff --git a/ethcore/light/src/net/load_timer.rs b/ethcore/light/src/net/load_timer.rs index bd701ed6a88..9dc033c47a6 100644 --- a/ethcore/light/src/net/load_timer.rs +++ b/ethcore/light/src/net/load_timer.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Request load timer and distribution manager. //! diff --git a/ethcore/light/src/net/mod.rs b/ethcore/light/src/net/mod.rs index aa729ae5f0b..cffbb0e9664 100644 --- a/ethcore/light/src/net/mod.rs +++ b/ethcore/light/src/net/mod.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! PLP Protocol Version 1 implementation. //! diff --git a/ethcore/light/src/net/request_credits.rs b/ethcore/light/src/net/request_credits.rs index 20046af18a6..c3fc139f4f2 100644 --- a/ethcore/light/src/net/request_credits.rs +++ b/ethcore/light/src/net/request_credits.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Request credit management. //! diff --git a/ethcore/light/src/net/request_set.rs b/ethcore/light/src/net/request_set.rs index 3c342c8f63c..f3ec635472e 100644 --- a/ethcore/light/src/net/request_set.rs +++ b/ethcore/light/src/net/request_set.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Pending request set. //! diff --git a/ethcore/light/src/net/status.rs b/ethcore/light/src/net/status.rs index 794fb73af95..ecbe1d3cca2 100644 --- a/ethcore/light/src/net/status.rs +++ b/ethcore/light/src/net/status.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Peer status and capabilities. diff --git a/ethcore/light/src/net/tests/mod.rs b/ethcore/light/src/net/tests/mod.rs index e3d5d368093..2ca7477f2b7 100644 --- a/ethcore/light/src/net/tests/mod.rs +++ b/ethcore/light/src/net/tests/mod.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Tests for the `LightProtocol` implementation. //! These don't test of the higher level logic on top of diff --git a/ethcore/light/src/on_demand/mod.rs b/ethcore/light/src/on_demand/mod.rs index 01be013ea5a..ff1c980e286 100644 --- a/ethcore/light/src/on_demand/mod.rs +++ b/ethcore/light/src/on_demand/mod.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! On-demand chain requests over LES. This is a major building block for RPCs. //! The request service is implemented using Futures. Higher level request handlers diff --git a/ethcore/light/src/on_demand/request.rs b/ethcore/light/src/on_demand/request.rs index 537058be1c5..a2167fa38d9 100644 --- a/ethcore/light/src/on_demand/request.rs +++ b/ethcore/light/src/on_demand/request.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Request types, verification, and verification errors. diff --git a/ethcore/light/src/on_demand/request_guard.rs b/ethcore/light/src/on_demand/request_guard.rs index 7ba2fa3d891..1c67ab0c87f 100644 --- a/ethcore/light/src/on_demand/request_guard.rs +++ b/ethcore/light/src/on_demand/request_guard.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . use failsafe; use std::time::Duration; diff --git a/ethcore/light/src/on_demand/response_guard.rs b/ethcore/light/src/on_demand/response_guard.rs index 3ef55dafd17..c4c2ac23aec 100644 --- a/ethcore/light/src/on_demand/response_guard.rs +++ b/ethcore/light/src/on_demand/response_guard.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! ResponseGuard implementation. //! It is responsible for the receiving end of `Pending Request` (see `OnDemand` module docs for more information) @@ -49,7 +49,6 @@ impl fmt::Display for Error { } } - /// Dummy type to convert a generic type with no trait bounds #[derive(Copy, Clone, Debug, Hash, Eq, PartialEq, PartialOrd, Ord)] pub enum Inner { diff --git a/ethcore/light/src/on_demand/tests.rs b/ethcore/light/src/on_demand/tests.rs index db2f510def5..fd0e8b0f973 100644 --- a/ethcore/light/src/on_demand/tests.rs +++ b/ethcore/light/src/on_demand/tests.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Tests for the on-demand service. diff --git a/ethcore/light/src/provider.rs b/ethcore/light/src/provider.rs index 996b98ee148..309ff6ec115 100644 --- a/ethcore/light/src/provider.rs +++ b/ethcore/light/src/provider.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! A provider for the PIP protocol. This is typically a full node, who can //! give as much data as necessary to its peers. diff --git a/ethcore/light/src/transaction_queue.rs b/ethcore/light/src/transaction_queue.rs index 585e62f3190..53359368da9 100644 --- a/ethcore/light/src/transaction_queue.rs +++ b/ethcore/light/src/transaction_queue.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Light Transaction Queue. //! diff --git a/ethcore/light/src/types/mod.rs b/ethcore/light/src/types/mod.rs index 67e54141b27..702654b7fd2 100644 --- a/ethcore/light/src/types/mod.rs +++ b/ethcore/light/src/types/mod.rs @@ -1,17 +1,17 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . pub mod request; diff --git a/ethcore/light/src/types/request/batch.rs b/ethcore/light/src/types/request/batch.rs index 16843ae02c5..6dc75c24976 100644 --- a/ethcore/light/src/types/request/batch.rs +++ b/ethcore/light/src/types/request/batch.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Request chain builder utility. //! Push requests with `push`. Back-references and data required to verify responses must be diff --git a/ethcore/light/src/types/request/mod.rs b/ethcore/light/src/types/request/mod.rs index 438edf714f4..d43aa726369 100644 --- a/ethcore/light/src/types/request/mod.rs +++ b/ethcore/light/src/types/request/mod.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Light protocol request types. diff --git a/ethcore/node-filter/src/lib.rs b/ethcore/node-filter/src/lib.rs index ec314f1916b..de7f78cb042 100644 --- a/ethcore/node-filter/src/lib.rs +++ b/ethcore/node-filter/src/lib.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Smart contract based node filter. diff --git a/ethcore/private-tx/src/encryptor.rs b/ethcore/private-tx/src/encryptor.rs index e0beb0e65c8..b19a53d29ad 100644 --- a/ethcore/private-tx/src/encryptor.rs +++ b/ethcore/private-tx/src/encryptor.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Encryption providers. diff --git a/ethcore/private-tx/src/error.rs b/ethcore/private-tx/src/error.rs index dc778b61d8e..76a34f9023a 100644 --- a/ethcore/private-tx/src/error.rs +++ b/ethcore/private-tx/src/error.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . use ethereum_types::Address; use rlp::DecoderError; diff --git a/ethcore/private-tx/src/lib.rs b/ethcore/private-tx/src/lib.rs index adbd39664ff..599495e38af 100644 --- a/ethcore/private-tx/src/lib.rs +++ b/ethcore/private-tx/src/lib.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Private transactions module. diff --git a/ethcore/private-tx/src/messages.rs b/ethcore/private-tx/src/messages.rs index ba815506eda..2990fb9b09f 100644 --- a/ethcore/private-tx/src/messages.rs +++ b/ethcore/private-tx/src/messages.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . use ethereum_types::{H256, U256, Address}; use bytes::Bytes; diff --git a/ethcore/private-tx/src/private_transactions.rs b/ethcore/private-tx/src/private_transactions.rs index c3bbe02d496..21989025b15 100644 --- a/ethcore/private-tx/src/private_transactions.rs +++ b/ethcore/private-tx/src/private_transactions.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . use std::sync::Arc; use std::cmp; diff --git a/ethcore/private-tx/tests/private_contract.rs b/ethcore/private-tx/tests/private_contract.rs index 519322da539..bf484e8b630 100644 --- a/ethcore/private-tx/tests/private_contract.rs +++ b/ethcore/private-tx/tests/private_contract.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Contract for private transactions tests. diff --git a/ethcore/service/src/error.rs b/ethcore/service/src/error.rs index bb403d0bfc0..483409535a5 100644 --- a/ethcore/service/src/error.rs +++ b/ethcore/service/src/error.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . use ethcore; use io; diff --git a/ethcore/service/src/lib.rs b/ethcore/service/src/lib.rs index 872ba99733c..7828fff8b44 100644 --- a/ethcore/service/src/lib.rs +++ b/ethcore/service/src/lib.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . extern crate ansi_term; extern crate ethcore; @@ -35,7 +35,6 @@ extern crate ethcore_db; #[cfg(test)] extern crate tempdir; - mod error; mod service; mod stop_guard; diff --git a/ethcore/service/src/service.rs b/ethcore/service/src/service.rs index 5dda2ca2b52..831d1f0e45d 100644 --- a/ethcore/service/src/service.rs +++ b/ethcore/service/src/service.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Creates and registers client and network services. diff --git a/ethcore/service/src/stop_guard.rs b/ethcore/service/src/stop_guard.rs index 185644c350b..168219520a1 100644 --- a/ethcore/service/src/stop_guard.rs +++ b/ethcore/service/src/stop_guard.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Stop guard mod diff --git a/ethcore/src/account_db.rs b/ethcore/src/account_db.rs index c028beeb1cf..5b7bd527530 100644 --- a/ethcore/src/account_db.rs +++ b/ethcore/src/account_db.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! DB backend wrapper for Account trie use ethereum_types::H256; diff --git a/ethcore/src/account_provider/mod.rs b/ethcore/src/account_provider/mod.rs index c4025685cbd..0414c424682 100644 --- a/ethcore/src/account_provider/mod.rs +++ b/ethcore/src/account_provider/mod.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Account management. diff --git a/ethcore/src/account_provider/stores.rs b/ethcore/src/account_provider/stores.rs index 7124e91e23a..10d7ffde887 100644 --- a/ethcore/src/account_provider/stores.rs +++ b/ethcore/src/account_provider/stores.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Address Book Store diff --git a/ethcore/src/block.rs b/ethcore/src/block.rs index 6fa219b0650..e5fcb451617 100644 --- a/ethcore/src/block.rs +++ b/ethcore/src/block.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Base data structure of this module is `Block`. //! diff --git a/ethcore/src/builtin.rs b/ethcore/src/builtin.rs index 0257f8fe787..499e3c8f6cc 100644 --- a/ethcore/src/builtin.rs +++ b/ethcore/src/builtin.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Standard built-in contracts. diff --git a/ethcore/src/client/ancient_import.rs b/ethcore/src/client/ancient_import.rs index 0a71dc6d397..2a0a970cd69 100644 --- a/ethcore/src/client/ancient_import.rs +++ b/ethcore/src/client/ancient_import.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Helper for ancient block import. diff --git a/ethcore/src/client/bad_blocks.rs b/ethcore/src/client/bad_blocks.rs index e003066721d..6af24cc4093 100644 --- a/ethcore/src/client/bad_blocks.rs +++ b/ethcore/src/client/bad_blocks.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Stores recently seen bad blocks. diff --git a/ethcore/src/client/chain_notify.rs b/ethcore/src/client/chain_notify.rs index 8a5ed375a5b..5f9b8ed314c 100644 --- a/ethcore/src/client/chain_notify.rs +++ b/ethcore/src/client/chain_notify.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . use bytes::Bytes; use ethereum_types::{H256, U256}; diff --git a/ethcore/src/client/client.rs b/ethcore/src/client/client.rs index bd80028498d..22a38ec55eb 100644 --- a/ethcore/src/client/client.rs +++ b/ethcore/src/client/client.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . use std::cmp; use std::collections::{HashSet, BTreeMap, VecDeque}; @@ -2564,7 +2564,6 @@ mod tests { assert_eq!(receipts[1].cumulative_gas_used, 106_000.into()); assert_eq!(receipts[1].gas_used, 53_000.into()); - let receipt = client.transaction_receipt(TransactionId::Hash(receipts[0].transaction_hash)); assert_eq!(receipt, Some(receipts[0].clone())); diff --git a/ethcore/src/client/config.rs b/ethcore/src/client/config.rs index 8710ec9fb7b..59fc4f8135e 100644 --- a/ethcore/src/client/config.rs +++ b/ethcore/src/client/config.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . use std::str::FromStr; use std::fmt::{Display, Formatter, Error as FmtError}; diff --git a/ethcore/src/client/evm_test_client.rs b/ethcore/src/client/evm_test_client.rs index 0da010150bd..7a2158209b5 100644 --- a/ethcore/src/client/evm_test_client.rs +++ b/ethcore/src/client/evm_test_client.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Simple Client used for EVM tests. diff --git a/ethcore/src/client/io_message.rs b/ethcore/src/client/io_message.rs index d388f5ed44c..92e2d3e258e 100644 --- a/ethcore/src/client/io_message.rs +++ b/ethcore/src/client/io_message.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . use std::fmt; use bytes::Bytes; diff --git a/ethcore/src/client/mod.rs b/ethcore/src/client/mod.rs index bbbbbea8b33..9c534d470c6 100644 --- a/ethcore/src/client/mod.rs +++ b/ethcore/src/client/mod.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Blockchain database client. diff --git a/ethcore/src/client/private_notify.rs b/ethcore/src/client/private_notify.rs index d1fde555c98..4be18387327 100644 --- a/ethcore/src/client/private_notify.rs +++ b/ethcore/src/client/private_notify.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . use error::TransactionImportError; diff --git a/ethcore/src/client/test_client.rs b/ethcore/src/client/test_client.rs index c0990b720e9..1ca826097f0 100644 --- a/ethcore/src/client/test_client.rs +++ b/ethcore/src/client/test_client.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Test client. diff --git a/ethcore/src/client/trace.rs b/ethcore/src/client/trace.rs index 61f9da6143a..73563a1d0f6 100644 --- a/ethcore/src/client/trace.rs +++ b/ethcore/src/client/trace.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Bridge between Tracedb and Blockchain. diff --git a/ethcore/src/client/traits.rs b/ethcore/src/client/traits.rs index 8ccf78fc2e6..ff0148beefc 100644 --- a/ethcore/src/client/traits.rs +++ b/ethcore/src/client/traits.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . use std::collections::BTreeMap; use std::sync::Arc; diff --git a/ethcore/src/engines/authority_round/finality.rs b/ethcore/src/engines/authority_round/finality.rs index 3a8be04156d..af57278c9f3 100644 --- a/ethcore/src/engines/authority_round/finality.rs +++ b/ethcore/src/engines/authority_round/finality.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Finality proof generation and checking. diff --git a/ethcore/src/engines/authority_round/mod.rs b/ethcore/src/engines/authority_round/mod.rs index 4a5b9b40b47..d1f314aa14e 100644 --- a/ethcore/src/engines/authority_round/mod.rs +++ b/ethcore/src/engines/authority_round/mod.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! A blockchain engine that supports a non-instant BFT proof-of-authority. diff --git a/ethcore/src/engines/basic_authority.rs b/ethcore/src/engines/basic_authority.rs index 4740e46b115..4a57544adf4 100644 --- a/ethcore/src/engines/basic_authority.rs +++ b/ethcore/src/engines/basic_authority.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! A blockchain engine that supports a basic, non-BFT proof-of-authority. diff --git a/ethcore/src/engines/block_reward.rs b/ethcore/src/engines/block_reward.rs index becb776b8ba..39d1afa7dc8 100644 --- a/ethcore/src/engines/block_reward.rs +++ b/ethcore/src/engines/block_reward.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! A module with types for declaring block rewards and a client interface for interacting with a //! block reward contract. diff --git a/ethcore/src/engines/instant_seal.rs b/ethcore/src/engines/instant_seal.rs index 5a907916794..595805c1997 100644 --- a/ethcore/src/engines/instant_seal.rs +++ b/ethcore/src/engines/instant_seal.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . use engines::{Engine, Seal}; use parity_machine::{Machine, Transactions, TotalScoredHeader}; diff --git a/ethcore/src/engines/mod.rs b/ethcore/src/engines/mod.rs index 0585319a7a5..64d05e5c466 100644 --- a/ethcore/src/engines/mod.rs +++ b/ethcore/src/engines/mod.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Consensus engine specification and basic implementations. diff --git a/ethcore/src/engines/null_engine.rs b/ethcore/src/engines/null_engine.rs index 3d5fa7e84fd..c62d372e9d2 100644 --- a/ethcore/src/engines/null_engine.rs +++ b/ethcore/src/engines/null_engine.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . use engines::Engine; use engines::block_reward::{self, RewardKind}; diff --git a/ethcore/src/engines/signer.rs b/ethcore/src/engines/signer.rs index c28e44451c5..68a88745bc1 100644 --- a/ethcore/src/engines/signer.rs +++ b/ethcore/src/engines/signer.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! A signer used by Engines which need to sign messages. diff --git a/ethcore/src/engines/validator_set/contract.rs b/ethcore/src/engines/validator_set/contract.rs index 9bc75be4726..714a092d7e5 100644 --- a/ethcore/src/engines/validator_set/contract.rs +++ b/ethcore/src/engines/validator_set/contract.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . /// Validator set maintained in a contract, updated using `getValidators` method. /// It can also report validators for misbehaviour with two levels: `reportMalicious` and `reportBenign`. diff --git a/ethcore/src/engines/validator_set/mod.rs b/ethcore/src/engines/validator_set/mod.rs index 97de4cd61e0..915a3f9a15d 100644 --- a/ethcore/src/engines/validator_set/mod.rs +++ b/ethcore/src/engines/validator_set/mod.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . /// Validator lists. diff --git a/ethcore/src/engines/validator_set/multi.rs b/ethcore/src/engines/validator_set/multi.rs index 176217ffe17..4b3c33abac8 100644 --- a/ethcore/src/engines/validator_set/multi.rs +++ b/ethcore/src/engines/validator_set/multi.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . /// Validator set changing at fork blocks. diff --git a/ethcore/src/engines/validator_set/safe_contract.rs b/ethcore/src/engines/validator_set/safe_contract.rs index 026fda057a3..a5f94d4127f 100644 --- a/ethcore/src/engines/validator_set/safe_contract.rs +++ b/ethcore/src/engines/validator_set/safe_contract.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . /// Validator set maintained in a contract, updated using `getValidators` method. diff --git a/ethcore/src/engines/validator_set/simple_list.rs b/ethcore/src/engines/validator_set/simple_list.rs index 55782ed6bc3..0a0294be966 100644 --- a/ethcore/src/engines/validator_set/simple_list.rs +++ b/ethcore/src/engines/validator_set/simple_list.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . /// Preconfigured validator list. diff --git a/ethcore/src/engines/validator_set/test.rs b/ethcore/src/engines/validator_set/test.rs index c6c904878ee..c66ff14ad4e 100644 --- a/ethcore/src/engines/validator_set/test.rs +++ b/ethcore/src/engines/validator_set/test.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . /// Used for Engine testing. diff --git a/ethcore/src/error.rs b/ethcore/src/error.rs index 48bff82f2c4..5c434d48706 100644 --- a/ethcore/src/error.rs +++ b/ethcore/src/error.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! General error types for use in ethcore. diff --git a/ethcore/src/ethereum/denominations.rs b/ethcore/src/ethereum/denominations.rs index 4c51932543c..3bf4878c7c5 100644 --- a/ethcore/src/ethereum/denominations.rs +++ b/ethcore/src/ethereum/denominations.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . use ethereum_types::U256; diff --git a/ethcore/src/ethereum/ethash.rs b/ethcore/src/ethereum/ethash.rs index 5a625c630d6..5c4365cb24b 100644 --- a/ethcore/src/ethereum/ethash.rs +++ b/ethcore/src/ethereum/ethash.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . use std::cmp; use std::collections::BTreeMap; diff --git a/ethcore/src/ethereum/mod.rs b/ethcore/src/ethereum/mod.rs index 0910ee65ee5..104155532cb 100644 --- a/ethcore/src/ethereum/mod.rs +++ b/ethcore/src/ethereum/mod.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Ethereum protocol module. //! diff --git a/ethcore/src/executed.rs b/ethcore/src/executed.rs index 171071118d7..f9be002ff85 100644 --- a/ethcore/src/executed.rs +++ b/ethcore/src/executed.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Transaction execution format module. diff --git a/ethcore/src/executive.rs b/ethcore/src/executive.rs index 4517ec54347..97758994a17 100644 --- a/ethcore/src/executive.rs +++ b/ethcore/src/executive.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Transaction Execution environment. use std::cmp; diff --git a/ethcore/src/externalities.rs b/ethcore/src/externalities.rs index 9e488c2114b..0cda8ac875a 100644 --- a/ethcore/src/externalities.rs +++ b/ethcore/src/externalities.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Transaction Execution environment. use std::cmp; diff --git a/ethcore/src/factory.rs b/ethcore/src/factory.rs index 9a69e0cf0e8..06b77da9aa1 100644 --- a/ethcore/src/factory.rs +++ b/ethcore/src/factory.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . use trie::TrieFactory; use ethtrie::RlpCodec; diff --git a/ethcore/src/json_tests/chain.rs b/ethcore/src/json_tests/chain.rs index 3f3957a1ff4..5511912bb9a 100644 --- a/ethcore/src/json_tests/chain.rs +++ b/ethcore/src/json_tests/chain.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . use std::path::Path; use std::sync::Arc; diff --git a/ethcore/src/json_tests/difficulty.rs b/ethcore/src/json_tests/difficulty.rs index f70696c9423..9698116cb52 100644 --- a/ethcore/src/json_tests/difficulty.rs +++ b/ethcore/src/json_tests/difficulty.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . use ethjson; use types::header::Header; @@ -110,4 +110,3 @@ mod difficulty_test_homestead { difficulty_json_test_nopath!(new_homestead_test); declare_test!{DifficultyTests_difficultyHomestead, "BasicTests/difficultyHomestead.json"} } - diff --git a/ethcore/src/json_tests/executive.rs b/ethcore/src/json_tests/executive.rs index 1999ee4d6c4..cd9e8f2aece 100644 --- a/ethcore/src/json_tests/executive.rs +++ b/ethcore/src/json_tests/executive.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . use std::path::Path; use std::sync::Arc; diff --git a/ethcore/src/json_tests/mod.rs b/ethcore/src/json_tests/mod.rs index 35d5034806a..99cbdb21eec 100644 --- a/ethcore/src/json_tests/mod.rs +++ b/ethcore/src/json_tests/mod.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Helpers and tests for operating on jsontests. @@ -29,7 +29,6 @@ mod skip; #[cfg(test)] mod difficulty; - pub use self::test_common::HookType; pub use self::transaction::run_test_path as run_transaction_test_path; diff --git a/ethcore/src/json_tests/skip.rs b/ethcore/src/json_tests/skip.rs index 784e2975d73..06538bc2aa2 100644 --- a/ethcore/src/json_tests/skip.rs +++ b/ethcore/src/json_tests/skip.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! State tests to skip. diff --git a/ethcore/src/json_tests/state.rs b/ethcore/src/json_tests/state.rs index 7dcb6dd8192..3d4772ea0fe 100644 --- a/ethcore/src/json_tests/state.rs +++ b/ethcore/src/json_tests/state.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . use std::path::Path; use super::test_common::*; diff --git a/ethcore/src/json_tests/test_common.rs b/ethcore/src/json_tests/test_common.rs index ce16395d228..7e3842ecb75 100644 --- a/ethcore/src/json_tests/test_common.rs +++ b/ethcore/src/json_tests/test_common.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . use std::collections::HashSet; use std::io::Read; diff --git a/ethcore/src/json_tests/transaction.rs b/ethcore/src/json_tests/transaction.rs index b1475225b0a..febc61404da 100644 --- a/ethcore/src/json_tests/transaction.rs +++ b/ethcore/src/json_tests/transaction.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . use std::path::Path; use super::test_common::*; @@ -110,4 +110,3 @@ declare_test!{TransactionTests_ttSignature, "TransactionTests/ttSignature"} declare_test!{TransactionTests_ttValue, "TransactionTests/ttValue"} declare_test!{TransactionTests_ttVValue, "TransactionTests/ttVValue"} declare_test!{TransactionTests_ttWrongRLP, "TransactionTests/ttWrongRLP"} - diff --git a/ethcore/src/json_tests/trie.rs b/ethcore/src/json_tests/trie.rs index 2d1f8d1fec3..6d367f20832 100644 --- a/ethcore/src/json_tests/trie.rs +++ b/ethcore/src/json_tests/trie.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . use ethjson; use trie::{TrieFactory, TrieSpec}; diff --git a/ethcore/src/lib.rs b/ethcore/src/lib.rs index 21cf3320b65..7e09a8a62f0 100644 --- a/ethcore/src/lib.rs +++ b/ethcore/src/lib.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . #![warn(missing_docs, unused_extern_crates)] diff --git a/ethcore/src/machine.rs b/ethcore/src/machine.rs index 1580c364e21..4ceab9bf028 100644 --- a/ethcore/src/machine.rs +++ b/ethcore/src/machine.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Ethereum-like state machine definition. diff --git a/ethcore/src/miner/miner.rs b/ethcore/src/miner/miner.rs index 70d35d6de72..d30c5a67d04 100644 --- a/ethcore/src/miner/miner.rs +++ b/ethcore/src/miner/miner.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . use std::cmp; use std::time::{Instant, Duration}; @@ -1195,7 +1195,6 @@ impl miner::MinerService for Miner { let gas_limit = *chain.best_block_header().gas_limit(); self.update_transaction_queue_limits(gas_limit); - // Then import all transactions from retracted blocks. let client = self.pool_client(chain); { diff --git a/ethcore/src/miner/mod.rs b/ethcore/src/miner/mod.rs index 95ee00e9cc4..2696306e71d 100644 --- a/ethcore/src/miner/mod.rs +++ b/ethcore/src/miner/mod.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . #![warn(missing_docs)] diff --git a/ethcore/src/miner/pool_client.rs b/ethcore/src/miner/pool_client.rs index 8be5b1e3717..e748d9bc201 100644 --- a/ethcore/src/miner/pool_client.rs +++ b/ethcore/src/miner/pool_client.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Blockchain access for transaction pool. diff --git a/ethcore/src/miner/service_transaction_checker.rs b/ethcore/src/miner/service_transaction_checker.rs index f8b6354810f..8d4c461cea2 100644 --- a/ethcore/src/miner/service_transaction_checker.rs +++ b/ethcore/src/miner/service_transaction_checker.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! A service transactions contract checker. diff --git a/ethcore/src/miner/stratum.rs b/ethcore/src/miner/stratum.rs index 65dc7d21358..71862225ab5 100644 --- a/ethcore/src/miner/stratum.rs +++ b/ethcore/src/miner/stratum.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Client-side stratum job dispatcher and mining notifier handler diff --git a/ethcore/src/pod_account.rs b/ethcore/src/pod_account.rs index c4d05cca5cd..9f5f3a237b9 100644 --- a/ethcore/src/pod_account.rs +++ b/ethcore/src/pod_account.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Account system expressed in Plain Old Data. diff --git a/ethcore/src/pod_state.rs b/ethcore/src/pod_state.rs index 76d6495c55d..c1130faa726 100644 --- a/ethcore/src/pod_state.rs +++ b/ethcore/src/pod_state.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! State of all accounts in the system expressed in Plain Old Data. diff --git a/ethcore/src/snapshot/account.rs b/ethcore/src/snapshot/account.rs index 5c2df5ac34f..81e4d4a0e29 100644 --- a/ethcore/src/snapshot/account.rs +++ b/ethcore/src/snapshot/account.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Account state encoding and decoding diff --git a/ethcore/src/snapshot/block.rs b/ethcore/src/snapshot/block.rs index 8cd65871a6c..0fc590763c6 100644 --- a/ethcore/src/snapshot/block.rs +++ b/ethcore/src/snapshot/block.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Block RLP compression. diff --git a/ethcore/src/snapshot/consensus/authority.rs b/ethcore/src/snapshot/consensus/authority.rs index 43c177b97b0..909e00281c2 100644 --- a/ethcore/src/snapshot/consensus/authority.rs +++ b/ethcore/src/snapshot/consensus/authority.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Secondary chunk creation and restoration, implementation for proof-of-authority //! based engines. diff --git a/ethcore/src/snapshot/consensus/mod.rs b/ethcore/src/snapshot/consensus/mod.rs index ec14b2188d3..907e9c520bb 100644 --- a/ethcore/src/snapshot/consensus/mod.rs +++ b/ethcore/src/snapshot/consensus/mod.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Secondary chunk creation and restoration, implementations for different consensus //! engines. diff --git a/ethcore/src/snapshot/consensus/work.rs b/ethcore/src/snapshot/consensus/work.rs index 7f4c6dfc643..0293d1a2fd4 100644 --- a/ethcore/src/snapshot/consensus/work.rs +++ b/ethcore/src/snapshot/consensus/work.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Secondary chunk creation and restoration, implementation for proof-of-work //! chains. diff --git a/ethcore/src/snapshot/error.rs b/ethcore/src/snapshot/error.rs index f0bb7d7ade7..b71f79f8054 100644 --- a/ethcore/src/snapshot/error.rs +++ b/ethcore/src/snapshot/error.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Snapshot-related errors. diff --git a/ethcore/src/snapshot/io.rs b/ethcore/src/snapshot/io.rs index 7d2cbcf92cf..c5f178cd329 100644 --- a/ethcore/src/snapshot/io.rs +++ b/ethcore/src/snapshot/io.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Snapshot i/o. //! Ways of writing and reading snapshots. This module supports writing and reading diff --git a/ethcore/src/snapshot/mod.rs b/ethcore/src/snapshot/mod.rs index 9bcf26e3f49..f054e54198c 100644 --- a/ethcore/src/snapshot/mod.rs +++ b/ethcore/src/snapshot/mod.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Snapshot creation, restoration, and network service. //! diff --git a/ethcore/src/snapshot/service.rs b/ethcore/src/snapshot/service.rs index d85f6028a5b..0da3f919fea 100644 --- a/ethcore/src/snapshot/service.rs +++ b/ethcore/src/snapshot/service.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Snapshot network service implementation. diff --git a/ethcore/src/snapshot/tests/helpers.rs b/ethcore/src/snapshot/tests/helpers.rs index 4a629afb494..31913c2f400 100644 --- a/ethcore/src/snapshot/tests/helpers.rs +++ b/ethcore/src/snapshot/tests/helpers.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Snapshot test helpers. These are used to build blockchains and state tries //! which can be queried before and after a full snapshot/restore cycle. diff --git a/ethcore/src/snapshot/tests/mod.rs b/ethcore/src/snapshot/tests/mod.rs index c09f2b965c7..f25fd03b258 100644 --- a/ethcore/src/snapshot/tests/mod.rs +++ b/ethcore/src/snapshot/tests/mod.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Snapshot tests. diff --git a/ethcore/src/snapshot/tests/proof_of_authority.rs b/ethcore/src/snapshot/tests/proof_of_authority.rs index c6e0b20d063..5ffcdab1b7d 100644 --- a/ethcore/src/snapshot/tests/proof_of_authority.rs +++ b/ethcore/src/snapshot/tests/proof_of_authority.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! PoA block chunker and rebuilder tests. diff --git a/ethcore/src/snapshot/tests/proof_of_work.rs b/ethcore/src/snapshot/tests/proof_of_work.rs index 2572699682f..d970da406cb 100644 --- a/ethcore/src/snapshot/tests/proof_of_work.rs +++ b/ethcore/src/snapshot/tests/proof_of_work.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! PoW block chunker and rebuilder tests. diff --git a/ethcore/src/snapshot/tests/service.rs b/ethcore/src/snapshot/tests/service.rs index 2718c7e0078..8c8fe4bb509 100644 --- a/ethcore/src/snapshot/tests/service.rs +++ b/ethcore/src/snapshot/tests/service.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Tests for the snapshot service. @@ -100,7 +100,6 @@ fn restored_is_equivalent() { } } - // on windows the guards deletion (remove_dir_all) // is not happening (error directory is not empty). // So the test is disabled until windows api behave. diff --git a/ethcore/src/snapshot/tests/state.rs b/ethcore/src/snapshot/tests/state.rs index b8cacfab5e4..44a624715ee 100644 --- a/ethcore/src/snapshot/tests/state.rs +++ b/ethcore/src/snapshot/tests/state.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! State snapshotting tests. diff --git a/ethcore/src/snapshot/traits.rs b/ethcore/src/snapshot/traits.rs index eec629ba6e6..bb4ab3b3964 100644 --- a/ethcore/src/snapshot/traits.rs +++ b/ethcore/src/snapshot/traits.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . use super::{ManifestData, RestorationStatus}; use ethereum_types::H256; diff --git a/ethcore/src/snapshot/watcher.rs b/ethcore/src/snapshot/watcher.rs index 2ef0beb89bd..5c4712cff9c 100644 --- a/ethcore/src/snapshot/watcher.rs +++ b/ethcore/src/snapshot/watcher.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Watcher for snapshot-related chain events. diff --git a/ethcore/src/spec/genesis.rs b/ethcore/src/spec/genesis.rs index fbfd2cbc427..96a42178dd4 100644 --- a/ethcore/src/spec/genesis.rs +++ b/ethcore/src/spec/genesis.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . use ethereum_types::{H256, U256, Address}; use ethjson; diff --git a/ethcore/src/spec/mod.rs b/ethcore/src/spec/mod.rs index 35705f4a8e5..5d90b5fbf89 100644 --- a/ethcore/src/spec/mod.rs +++ b/ethcore/src/spec/mod.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Blockchain params. diff --git a/ethcore/src/spec/seal.rs b/ethcore/src/spec/seal.rs index 0ed41acc846..ed70ac8b545 100644 --- a/ethcore/src/spec/seal.rs +++ b/ethcore/src/spec/seal.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Spec seal. diff --git a/ethcore/src/spec/spec.rs b/ethcore/src/spec/spec.rs index 360e255a5a2..311f970cd24 100644 --- a/ethcore/src/spec/spec.rs +++ b/ethcore/src/spec/spec.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Parameters for a block chain. diff --git a/ethcore/src/state/account.rs b/ethcore/src/state/account.rs index 6d6f39db994..d4a42dd31a1 100644 --- a/ethcore/src/state/account.rs +++ b/ethcore/src/state/account.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Single account in the system. diff --git a/ethcore/src/state/backend.rs b/ethcore/src/state/backend.rs index df364af9235..2593f9a5d78 100644 --- a/ethcore/src/state/backend.rs +++ b/ethcore/src/state/backend.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! A minimal "state backend" trait: an abstraction over the sources of data //! a blockchain state may draw upon. diff --git a/ethcore/src/state/mod.rs b/ethcore/src/state/mod.rs index ace2e77eccf..ee6e6bb9cf9 100644 --- a/ethcore/src/state/mod.rs +++ b/ethcore/src/state/mod.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! A mutable state representation suitable to execute transactions. //! Generic over a `Backend`. Deals with `Account`s. @@ -1016,7 +1016,6 @@ impl State { Ok(pod_account) } - /// Populate a PodAccount map from this state, with another state as the account and storage query. fn to_pod_diff(&mut self, query: &State) -> TrieResult { assert!(self.checkpoints.borrow().is_empty()); @@ -2738,7 +2737,6 @@ mod tests { let dump = state.to_pod_full().unwrap(); assert_eq!(get_pod_state_val(&dump, &a, storage_address.clone()), H256::from(&U256::from(0u64))); - } } diff --git a/ethcore/src/state/substate.rs b/ethcore/src/state/substate.rs index 784c5e9eab6..86f6e37f8d5 100644 --- a/ethcore/src/state/substate.rs +++ b/ethcore/src/state/substate.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Execution environment substate. use std::collections::HashSet; diff --git a/ethcore/src/state_db.rs b/ethcore/src/state_db.rs index 3cc3dfe081f..4b654c6a92d 100644 --- a/ethcore/src/state_db.rs +++ b/ethcore/src/state_db.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! State database abstraction. For more info, see the doc for `StateDB` diff --git a/ethcore/src/test_helpers.rs b/ethcore/src/test_helpers.rs index 54e35da45be..939c4e5e1de 100644 --- a/ethcore/src/test_helpers.rs +++ b/ethcore/src/test_helpers.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Set of different helpers for client tests diff --git a/ethcore/src/tests/blockchain.rs b/ethcore/src/tests/blockchain.rs index bf38d784275..9f2cdbdb9cb 100644 --- a/ethcore/src/tests/blockchain.rs +++ b/ethcore/src/tests/blockchain.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . use blockchain::BlockProvider; @@ -58,4 +58,3 @@ fn can_contain_only_genesis_block() { let bc = generate_dummy_empty_blockchain(); assert_eq!(bc.best_block_number(), 0); } - diff --git a/ethcore/src/tests/client.rs b/ethcore/src/tests/client.rs index b8fad28c1c0..60ea5e1f0e9 100644 --- a/ethcore/src/tests/client.rs +++ b/ethcore/src/tests/client.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . use std::str::FromStr; use std::sync::Arc; diff --git a/ethcore/src/tests/evm.rs b/ethcore/src/tests/evm.rs index 3da872223e8..ec0b1dd8e6a 100644 --- a/ethcore/src/tests/evm.rs +++ b/ethcore/src/tests/evm.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Tests of EVM integration with transaction execution. diff --git a/ethcore/src/tests/mod.rs b/ethcore/src/tests/mod.rs index 900336c3db3..ee45c73856f 100644 --- a/ethcore/src/tests/mod.rs +++ b/ethcore/src/tests/mod.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . mod client; mod blockchain; diff --git a/ethcore/src/tests/trace.rs b/ethcore/src/tests/trace.rs index 3bfb5071f6b..f687aac127f 100644 --- a/ethcore/src/tests/trace.rs +++ b/ethcore/src/tests/trace.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Client tests of tracing diff --git a/ethcore/src/trace/config.rs b/ethcore/src/trace/config.rs index 2e667f07f2a..72fc1765511 100644 --- a/ethcore/src/trace/config.rs +++ b/ethcore/src/trace/config.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Traces config. diff --git a/ethcore/src/trace/db.rs b/ethcore/src/trace/db.rs index e6d026eb754..8dbd38449f7 100644 --- a/ethcore/src/trace/db.rs +++ b/ethcore/src/trace/db.rs @@ -1,24 +1,23 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Trace database. use std::collections::HashMap; use std::sync::Arc; - use blockchain::BlockChainDB; use db::cache_manager::CacheManager; use db::{self, Key, Writable, Readable, CacheUpdatePolicy}; diff --git a/ethcore/src/trace/executive_tracer.rs b/ethcore/src/trace/executive_tracer.rs index 789f40bd3e3..015deaea038 100644 --- a/ethcore/src/trace/executive_tracer.rs +++ b/ethcore/src/trace/executive_tracer.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Simple executive tracer. diff --git a/ethcore/src/trace/import.rs b/ethcore/src/trace/import.rs index af217076070..e9ec9c77bad 100644 --- a/ethcore/src/trace/import.rs +++ b/ethcore/src/trace/import.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Traces import request. use ethereum_types::H256; diff --git a/ethcore/src/trace/mod.rs b/ethcore/src/trace/mod.rs index 449ce13424d..d3586614754 100644 --- a/ethcore/src/trace/mod.rs +++ b/ethcore/src/trace/mod.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Tracing diff --git a/ethcore/src/trace/noop_tracer.rs b/ethcore/src/trace/noop_tracer.rs index 0752f003be7..62cce8e0111 100644 --- a/ethcore/src/trace/noop_tracer.rs +++ b/ethcore/src/trace/noop_tracer.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Nonoperative tracer. diff --git a/ethcore/src/trace/types/error.rs b/ethcore/src/trace/types/error.rs index a934443c5db..5c775dcb6ec 100644 --- a/ethcore/src/trace/types/error.rs +++ b/ethcore/src/trace/types/error.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Trace errors. diff --git a/ethcore/src/trace/types/filter.rs b/ethcore/src/trace/types/filter.rs index 0bfdc10da3d..00fe38e4845 100644 --- a/ethcore/src/trace/types/filter.rs +++ b/ethcore/src/trace/types/filter.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Trace filters type definitions diff --git a/ethcore/src/trace/types/flat.rs b/ethcore/src/trace/types/flat.rs index f4cbba665ab..cb3e1229b71 100644 --- a/ethcore/src/trace/types/flat.rs +++ b/ethcore/src/trace/types/flat.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Flat trace module diff --git a/ethcore/src/trace/types/localized.rs b/ethcore/src/trace/types/localized.rs index 41eb21dc2dd..330d23a7289 100644 --- a/ethcore/src/trace/types/localized.rs +++ b/ethcore/src/trace/types/localized.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Localized traces type definitions diff --git a/ethcore/src/trace/types/mod.rs b/ethcore/src/trace/types/mod.rs index 0e019ac552d..c1ef3ac1a55 100644 --- a/ethcore/src/trace/types/mod.rs +++ b/ethcore/src/trace/types/mod.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Types used in the public api diff --git a/ethcore/src/trace/types/trace.rs b/ethcore/src/trace/types/trace.rs index 446fffb3af0..18ec24a84f0 100644 --- a/ethcore/src/trace/types/trace.rs +++ b/ethcore/src/trace/types/trace.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Tracing datatypes. diff --git a/ethcore/src/transaction_ext.rs b/ethcore/src/transaction_ext.rs index 6293148c634..fefcd91a341 100644 --- a/ethcore/src/transaction_ext.rs +++ b/ethcore/src/transaction_ext.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Ethereum transaction @@ -41,4 +41,3 @@ fn gas_required_for(is_create: bool, data: &[u8], schedule: &Schedule) -> u64 { |g, b| g + (match *b { 0 => schedule.tx_data_zero_gas, _ => schedule.tx_data_non_zero_gas }) as u64 ) } - diff --git a/ethcore/src/tx_filter.rs b/ethcore/src/tx_filter.rs index bf1a74a777c..403e4f7bcbe 100644 --- a/ethcore/src/tx_filter.rs +++ b/ethcore/src/tx_filter.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Smart contract based transaction filter. diff --git a/ethcore/src/verification/canon_verifier.rs b/ethcore/src/verification/canon_verifier.rs index f0756ae41ad..4a8ed111c96 100644 --- a/ethcore/src/verification/canon_verifier.rs +++ b/ethcore/src/verification/canon_verifier.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Canonical verifier. diff --git a/ethcore/src/verification/mod.rs b/ethcore/src/verification/mod.rs index fdb04df8647..acffb8c0a54 100644 --- a/ethcore/src/verification/mod.rs +++ b/ethcore/src/verification/mod.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Block verification utilities. diff --git a/ethcore/src/verification/noop_verifier.rs b/ethcore/src/verification/noop_verifier.rs index 53c61f7ef15..727e99a66c0 100644 --- a/ethcore/src/verification/noop_verifier.rs +++ b/ethcore/src/verification/noop_verifier.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! No-op verifier. diff --git a/ethcore/src/verification/queue/kind.rs b/ethcore/src/verification/queue/kind.rs index 625cd44f09e..dd9798c092b 100644 --- a/ethcore/src/verification/queue/kind.rs +++ b/ethcore/src/verification/queue/kind.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Definition of valid items for the verification queue. diff --git a/ethcore/src/verification/queue/mod.rs b/ethcore/src/verification/queue/mod.rs index 9541ecc1ad1..423121eefa9 100644 --- a/ethcore/src/verification/queue/mod.rs +++ b/ethcore/src/verification/queue/mod.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! A queue of blocks. Sits between network or other I/O and the `BlockChain`. //! Sorts them ready for blockchain insertion. diff --git a/ethcore/src/verification/verification.rs b/ethcore/src/verification/verification.rs index 6382a7a7bfc..31eb9dfa685 100644 --- a/ethcore/src/verification/verification.rs +++ b/ethcore/src/verification/verification.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Block and transaction verification functions //! diff --git a/ethcore/src/verification/verifier.rs b/ethcore/src/verification/verifier.rs index add4d33f6aa..a1a5d32bc95 100644 --- a/ethcore/src/verification/verifier.rs +++ b/ethcore/src/verification/verifier.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! A generic verifier trait. diff --git a/ethcore/sync/src/api.rs b/ethcore/sync/src/api.rs index 1afbd3960a5..253f7fe8385 100644 --- a/ethcore/sync/src/api.rs +++ b/ethcore/sync/src/api.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . use std::sync::{Arc, mpsc, atomic}; use std::collections::{HashMap, BTreeMap}; diff --git a/ethcore/sync/src/block_sync.rs b/ethcore/sync/src/block_sync.rs index ed01643e26a..2331e214c5b 100644 --- a/ethcore/sync/src/block_sync.rs +++ b/ethcore/sync/src/block_sync.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . /// /// Blockchain downloader diff --git a/ethcore/sync/src/blocks.rs b/ethcore/sync/src/blocks.rs index 5e378eff100..125c8d0b9c5 100644 --- a/ethcore/sync/src/blocks.rs +++ b/ethcore/sync/src/blocks.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . use std::collections::{HashSet, HashMap, hash_map}; use hash::{keccak, KECCAK_NULL_RLP, KECCAK_EMPTY_LIST_RLP}; diff --git a/ethcore/sync/src/chain/handler.rs b/ethcore/sync/src/chain/handler.rs index 17fd8c08dca..5630ea25636 100644 --- a/ethcore/sync/src/chain/handler.rs +++ b/ethcore/sync/src/chain/handler.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . use api::WARP_SYNC_PROTOCOL_ID; use block_sync::{BlockDownloaderImportError as DownloaderImportError, DownloadAction}; diff --git a/ethcore/sync/src/chain/mod.rs b/ethcore/sync/src/chain/mod.rs index d5841dac546..3a8c0a19bcd 100644 --- a/ethcore/sync/src/chain/mod.rs +++ b/ethcore/sync/src/chain/mod.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! `BlockChain` synchronization strategy. //! Syncs to peers and keeps up to date. @@ -1607,4 +1607,3 @@ pub mod tests { assert_eq!(status.status.transaction_count, 0); } } - diff --git a/ethcore/sync/src/chain/propagator.rs b/ethcore/sync/src/chain/propagator.rs index 06d6cf54a2d..74ef27e8872 100644 --- a/ethcore/sync/src/chain/propagator.rs +++ b/ethcore/sync/src/chain/propagator.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . use std::cmp; use std::collections::HashSet; diff --git a/ethcore/sync/src/chain/requester.rs b/ethcore/sync/src/chain/requester.rs index c05c4330f7b..7307ffc4483 100644 --- a/ethcore/sync/src/chain/requester.rs +++ b/ethcore/sync/src/chain/requester.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . use api::WARP_SYNC_PROTOCOL_ID; use block_sync::BlockRequest; diff --git a/ethcore/sync/src/chain/supplier.rs b/ethcore/sync/src/chain/supplier.rs index ca6380416d8..8656abcffd4 100644 --- a/ethcore/sync/src/chain/supplier.rs +++ b/ethcore/sync/src/chain/supplier.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . use bytes::Bytes; use ethereum_types::H256; diff --git a/ethcore/sync/src/lib.rs b/ethcore/sync/src/lib.rs index 2aa4c391bae..fc648927624 100644 --- a/ethcore/sync/src/lib.rs +++ b/ethcore/sync/src/lib.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . #![warn(missing_docs)] diff --git a/ethcore/sync/src/light_sync/mod.rs b/ethcore/sync/src/light_sync/mod.rs index 478e6a09df9..dae05c3188a 100644 --- a/ethcore/sync/src/light_sync/mod.rs +++ b/ethcore/sync/src/light_sync/mod.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Light client synchronization. //! diff --git a/ethcore/sync/src/light_sync/response.rs b/ethcore/sync/src/light_sync/response.rs index 1e312aa204b..96d2a8822e9 100644 --- a/ethcore/sync/src/light_sync/response.rs +++ b/ethcore/sync/src/light_sync/response.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Helpers for decoding and verifying responses for headers. diff --git a/ethcore/sync/src/light_sync/sync_round.rs b/ethcore/sync/src/light_sync/sync_round.rs index cb939ad81ac..7c2a2bc0169 100644 --- a/ethcore/sync/src/light_sync/sync_round.rs +++ b/ethcore/sync/src/light_sync/sync_round.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Header download state machine. diff --git a/ethcore/sync/src/light_sync/tests/mod.rs b/ethcore/sync/src/light_sync/tests/mod.rs index e3d46188a65..9bfb99ed0d9 100644 --- a/ethcore/sync/src/light_sync/tests/mod.rs +++ b/ethcore/sync/src/light_sync/tests/mod.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . use tests::helpers::TestNet; diff --git a/ethcore/sync/src/light_sync/tests/test_net.rs b/ethcore/sync/src/light_sync/tests/test_net.rs index e843e97dd0c..74567c11925 100644 --- a/ethcore/sync/src/light_sync/tests/test_net.rs +++ b/ethcore/sync/src/light_sync/tests/test_net.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! TestNet peer definition. diff --git a/ethcore/sync/src/private_tx.rs b/ethcore/sync/src/private_tx.rs index 03928c22d6f..c9396af5b4b 100644 --- a/ethcore/sync/src/private_tx.rs +++ b/ethcore/sync/src/private_tx.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . use parking_lot::Mutex; use ethereum_types::H256; diff --git a/ethcore/sync/src/snapshot.rs b/ethcore/sync/src/snapshot.rs index c7f0d284f39..64e463c7b25 100644 --- a/ethcore/sync/src/snapshot.rs +++ b/ethcore/sync/src/snapshot.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . use ethcore::snapshot::{ManifestData, SnapshotService}; use ethereum_types::H256; diff --git a/ethcore/sync/src/sync_io.rs b/ethcore/sync/src/sync_io.rs index e3457ea551d..81dc9cf90c5 100644 --- a/ethcore/sync/src/sync_io.rs +++ b/ethcore/sync/src/sync_io.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . use std::collections::HashMap; use network::{NetworkContext, PeerId, PacketId, Error, SessionInfo, ProtocolId}; diff --git a/ethcore/sync/src/tests/chain.rs b/ethcore/sync/src/tests/chain.rs index 06118df66b5..d81a876d7a8 100644 --- a/ethcore/sync/src/tests/chain.rs +++ b/ethcore/sync/src/tests/chain.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . use std::sync::Arc; use ethcore::client::{TestBlockChainClient, BlockChainClient, BlockId, EachBlockWith, ChainInfo, BlockInfo}; diff --git a/ethcore/sync/src/tests/consensus.rs b/ethcore/sync/src/tests/consensus.rs index abfba559bcb..6545652961b 100644 --- a/ethcore/sync/src/tests/consensus.rs +++ b/ethcore/sync/src/tests/consensus.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . use std::sync::Arc; use hash::keccak; diff --git a/ethcore/sync/src/tests/helpers.rs b/ethcore/sync/src/tests/helpers.rs index 549bfb7f23c..85c20384579 100644 --- a/ethcore/sync/src/tests/helpers.rs +++ b/ethcore/sync/src/tests/helpers.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . use std::collections::{VecDeque, HashSet, HashMap}; use std::sync::Arc; diff --git a/ethcore/sync/src/tests/mod.rs b/ethcore/sync/src/tests/mod.rs index 0168913aa16..34e04d19607 100644 --- a/ethcore/sync/src/tests/mod.rs +++ b/ethcore/sync/src/tests/mod.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . pub mod helpers; pub mod snapshot; diff --git a/ethcore/sync/src/tests/private.rs b/ethcore/sync/src/tests/private.rs index 0a390079b43..10bd7d1f3da 100644 --- a/ethcore/sync/src/tests/private.rs +++ b/ethcore/sync/src/tests/private.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . use std::sync::Arc; use hash::keccak; diff --git a/ethcore/sync/src/tests/rpc.rs b/ethcore/sync/src/tests/rpc.rs index 99e95959be6..3e0523931e1 100644 --- a/ethcore/sync/src/tests/rpc.rs +++ b/ethcore/sync/src/tests/rpc.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . use super::super::NetworkConfiguration; use network::NetworkConfiguration as BasicNetworkConfiguration; diff --git a/ethcore/sync/src/tests/snapshot.rs b/ethcore/sync/src/tests/snapshot.rs index bada7c8cd20..a3aa77d36d6 100644 --- a/ethcore/sync/src/tests/snapshot.rs +++ b/ethcore/sync/src/tests/snapshot.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . use std::collections::HashMap; use std::sync::Arc; diff --git a/ethcore/sync/src/transactions_stats.rs b/ethcore/sync/src/transactions_stats.rs index 2f0aa858ac8..91094fa5fd2 100644 --- a/ethcore/sync/src/transactions_stats.rs +++ b/ethcore/sync/src/transactions_stats.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . use api::TransactionStats; use std::hash::BuildHasher; diff --git a/ethcore/types/src/account_diff.rs b/ethcore/types/src/account_diff.rs index 9633ffeb078..09751ba4554 100644 --- a/ethcore/types/src/account_diff.rs +++ b/ethcore/types/src/account_diff.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Diff between two accounts. diff --git a/ethcore/types/src/ancestry_action.rs b/ethcore/types/src/ancestry_action.rs index d9915cfee42..39b73ef99ea 100644 --- a/ethcore/types/src/ancestry_action.rs +++ b/ethcore/types/src/ancestry_action.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Actions on ancestry blocks when working on a new block. diff --git a/ethcore/types/src/basic_account.rs b/ethcore/types/src/basic_account.rs index 94157977bc7..039dbac9493 100644 --- a/ethcore/types/src/basic_account.rs +++ b/ethcore/types/src/basic_account.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Basic account type -- the decoded RLP from the state trie. diff --git a/ethcore/types/src/block.rs b/ethcore/types/src/block.rs index e3d89bbe0c2..a423fb1ed1b 100644 --- a/ethcore/types/src/block.rs +++ b/ethcore/types/src/block.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Base data structure of this module is `Block`. //! @@ -74,4 +74,3 @@ impl Decodable for Block { }) } } - diff --git a/ethcore/types/src/block_status.rs b/ethcore/types/src/block_status.rs index c1f21cc2258..0460fcbe6d1 100644 --- a/ethcore/types/src/block_status.rs +++ b/ethcore/types/src/block_status.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! General block status diff --git a/ethcore/types/src/blockchain_info.rs b/ethcore/types/src/blockchain_info.rs index b82582bda09..42158638dae 100644 --- a/ethcore/types/src/blockchain_info.rs +++ b/ethcore/types/src/blockchain_info.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Blockhain info type definition diff --git a/ethcore/types/src/call_analytics.rs b/ethcore/types/src/call_analytics.rs index ae53e6911e1..902c75e56a7 100644 --- a/ethcore/types/src/call_analytics.rs +++ b/ethcore/types/src/call_analytics.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Call analytics related types diff --git a/ethcore/types/src/encoded.rs b/ethcore/types/src/encoded.rs index 20a7301aafe..4680f95af50 100644 --- a/ethcore/types/src/encoded.rs +++ b/ethcore/types/src/encoded.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Lazily-decoded owning views of RLP-encoded blockchain objects. //! These views are meant to contain _trusted_ data -- without encoding diff --git a/ethcore/types/src/engines/epoch.rs b/ethcore/types/src/engines/epoch.rs index 53b540cabd1..34054a193fc 100644 --- a/ethcore/types/src/engines/epoch.rs +++ b/ethcore/types/src/engines/epoch.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Epoch verifiers and transitions. diff --git a/ethcore/types/src/engines/mod.rs b/ethcore/types/src/engines/mod.rs index 0ff1503a6ba..cc622bbe65b 100644 --- a/ethcore/types/src/engines/mod.rs +++ b/ethcore/types/src/engines/mod.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Engine-specific types. @@ -26,4 +26,3 @@ pub enum ForkChoice { /// Choose the current best block. Old, } - diff --git a/ethcore/types/src/filter.rs b/ethcore/types/src/filter.rs index c32551473d1..71e8d394414 100644 --- a/ethcore/types/src/filter.rs +++ b/ethcore/types/src/filter.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Blockchain filter diff --git a/ethcore/types/src/header.rs b/ethcore/types/src/header.rs index a75f9cd6c82..829776f013e 100644 --- a/ethcore/types/src/header.rs +++ b/ethcore/types/src/header.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Block header. diff --git a/ethcore/types/src/ids.rs b/ethcore/types/src/ids.rs index d1457832c01..dccb240d94b 100644 --- a/ethcore/types/src/ids.rs +++ b/ethcore/types/src/ids.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Unique identifiers. diff --git a/ethcore/types/src/lib.rs b/ethcore/types/src/lib.rs index b5b85c5ddbf..4ca5c80dcf5 100644 --- a/ethcore/types/src/lib.rs +++ b/ethcore/types/src/lib.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Types used in the public API //! diff --git a/ethcore/types/src/log_entry.rs b/ethcore/types/src/log_entry.rs index 0b7455df496..a5087b2a003 100644 --- a/ethcore/types/src/log_entry.rs +++ b/ethcore/types/src/log_entry.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Log entry type definition. diff --git a/ethcore/types/src/pruning_info.rs b/ethcore/types/src/pruning_info.rs index fcf4a774a20..76f775cb7e4 100644 --- a/ethcore/types/src/pruning_info.rs +++ b/ethcore/types/src/pruning_info.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Information about portions of the state and chain which the client may serve. //! diff --git a/ethcore/types/src/receipt.rs b/ethcore/types/src/receipt.rs index ec3b3c66f55..aedb208a78b 100644 --- a/ethcore/types/src/receipt.rs +++ b/ethcore/types/src/receipt.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Receipt diff --git a/ethcore/types/src/restoration_status.rs b/ethcore/types/src/restoration_status.rs index ec15bf4809f..dea342a3104 100644 --- a/ethcore/types/src/restoration_status.rs +++ b/ethcore/types/src/restoration_status.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Restoration status type definition diff --git a/ethcore/types/src/security_level.rs b/ethcore/types/src/security_level.rs index 59175847046..eb87317e7ff 100644 --- a/ethcore/types/src/security_level.rs +++ b/ethcore/types/src/security_level.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Indication of how secure the chain is. diff --git a/ethcore/types/src/snapshot_manifest.rs b/ethcore/types/src/snapshot_manifest.rs index 40ff4c532f7..8ed19fcfc20 100644 --- a/ethcore/types/src/snapshot_manifest.rs +++ b/ethcore/types/src/snapshot_manifest.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Snapshot manifest type definition diff --git a/ethcore/types/src/state_diff.rs b/ethcore/types/src/state_diff.rs index 4cc85fff93f..5605719f015 100644 --- a/ethcore/types/src/state_diff.rs +++ b/ethcore/types/src/state_diff.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! State diff module. diff --git a/ethcore/types/src/trace_filter.rs b/ethcore/types/src/trace_filter.rs index 69a37870277..8b1d715b42f 100644 --- a/ethcore/types/src/trace_filter.rs +++ b/ethcore/types/src/trace_filter.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Trace filter related types diff --git a/ethcore/types/src/transaction/error.rs b/ethcore/types/src/transaction/error.rs index 0efd18ae6b3..ab10636643f 100644 --- a/ethcore/types/src/transaction/error.rs +++ b/ethcore/types/src/transaction/error.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . use std::{fmt, error}; diff --git a/ethcore/types/src/transaction/mod.rs b/ethcore/types/src/transaction/mod.rs index f3e3f0a4e63..4b26b7dc144 100644 --- a/ethcore/types/src/transaction/mod.rs +++ b/ethcore/types/src/transaction/mod.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Ethereum Transactions diff --git a/ethcore/types/src/transaction/transaction.rs b/ethcore/types/src/transaction/transaction.rs index dcb249e4aec..248bc264629 100644 --- a/ethcore/types/src/transaction/transaction.rs +++ b/ethcore/types/src/transaction/transaction.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Transaction data structure. diff --git a/ethcore/types/src/tree_route.rs b/ethcore/types/src/tree_route.rs index 9c84052be35..0386472b858 100644 --- a/ethcore/types/src/tree_route.rs +++ b/ethcore/types/src/tree_route.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Tree route info type definition diff --git a/ethcore/types/src/verification_queue_info.rs b/ethcore/types/src/verification_queue_info.rs index bc280b15bfe..a855fee6a17 100644 --- a/ethcore/types/src/verification_queue_info.rs +++ b/ethcore/types/src/verification_queue_info.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Verification queue info types diff --git a/ethcore/types/src/views/block.rs b/ethcore/types/src/views/block.rs index 0d279ea6254..9ad67ddd66b 100644 --- a/ethcore/types/src/views/block.rs +++ b/ethcore/types/src/views/block.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! View onto block rlp. diff --git a/ethcore/types/src/views/body.rs b/ethcore/types/src/views/body.rs index ad4346d146a..1ea4999b8bc 100644 --- a/ethcore/types/src/views/body.rs +++ b/ethcore/types/src/views/body.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! View onto block body rlp. diff --git a/ethcore/types/src/views/header.rs b/ethcore/types/src/views/header.rs index 761f09128a2..4009892910f 100644 --- a/ethcore/types/src/views/header.rs +++ b/ethcore/types/src/views/header.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! View onto block header rlp diff --git a/ethcore/types/src/views/mod.rs b/ethcore/types/src/views/mod.rs index 407807ab9b9..f5c2eab9411 100644 --- a/ethcore/types/src/views/mod.rs +++ b/ethcore/types/src/views/mod.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Block oriented views onto rlp. diff --git a/ethcore/types/src/views/transaction.rs b/ethcore/types/src/views/transaction.rs index 1f4782cd2d5..b7d412f6ce8 100644 --- a/ethcore/types/src/views/transaction.rs +++ b/ethcore/types/src/views/transaction.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! View onto transaction rlp use bytes::Bytes; diff --git a/ethcore/types/src/views/view_rlp.rs b/ethcore/types/src/views/view_rlp.rs index 2dd1b33a946..a6c789de989 100644 --- a/ethcore/types/src/views/view_rlp.rs +++ b/ethcore/types/src/views/view_rlp.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Wrapper for view rlp expected to be valid with debug info diff --git a/ethcore/vm/src/action_params.rs b/ethcore/vm/src/action_params.rs index 481f6373104..0d4959c1899 100644 --- a/ethcore/vm/src/action_params.rs +++ b/ethcore/vm/src/action_params.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Evm input params. use ethereum_types::{U256, H256, Address}; diff --git a/ethcore/vm/src/call_type.rs b/ethcore/vm/src/call_type.rs index 0e58d76bbd2..e5245c8c142 100644 --- a/ethcore/vm/src/call_type.rs +++ b/ethcore/vm/src/call_type.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! EVM call types. diff --git a/ethcore/vm/src/env_info.rs b/ethcore/vm/src/env_info.rs index 77e67c0f138..e5bd3f64e34 100644 --- a/ethcore/vm/src/env_info.rs +++ b/ethcore/vm/src/env_info.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Environment information for transaction execution. diff --git a/ethcore/vm/src/error.rs b/ethcore/vm/src/error.rs index fb4444104ce..33400563359 100644 --- a/ethcore/vm/src/error.rs +++ b/ethcore/vm/src/error.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! VM errors module diff --git a/ethcore/vm/src/ext.rs b/ethcore/vm/src/ext.rs index a437da53e14..9b499fcab48 100644 --- a/ethcore/vm/src/ext.rs +++ b/ethcore/vm/src/ext.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Interface for Evm externalities. diff --git a/ethcore/vm/src/lib.rs b/ethcore/vm/src/lib.rs index 49672d3450c..a8bb440412d 100644 --- a/ethcore/vm/src/lib.rs +++ b/ethcore/vm/src/lib.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Virtual machines support library diff --git a/ethcore/vm/src/return_data.rs b/ethcore/vm/src/return_data.rs index 24191ec55f6..85fdb361db5 100644 --- a/ethcore/vm/src/return_data.rs +++ b/ethcore/vm/src/return_data.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Return data structures diff --git a/ethcore/vm/src/schedule.rs b/ethcore/vm/src/schedule.rs index 462e96b3250..d1dc3b5aad7 100644 --- a/ethcore/vm/src/schedule.rs +++ b/ethcore/vm/src/schedule.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Cost schedule and other parameterisations for the EVM. diff --git a/ethcore/vm/src/tests.rs b/ethcore/vm/src/tests.rs index 00c986af107..306ad871da9 100644 --- a/ethcore/vm/src/tests.rs +++ b/ethcore/vm/src/tests.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . use std::sync::Arc; use std::collections::{HashMap, HashSet}; diff --git a/ethcore/wasm/run/src/fixture.rs b/ethcore/wasm/run/src/fixture.rs index de6044a8f3c..42117d6dfd3 100644 --- a/ethcore/wasm/run/src/fixture.rs +++ b/ethcore/wasm/run/src/fixture.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . use std::borrow::Cow; use ethjson::uint::Uint; diff --git a/ethcore/wasm/run/src/main.rs b/ethcore/wasm/run/src/main.rs index d2a3a0ff506..f273b32cd31 100644 --- a/ethcore/wasm/run/src/main.rs +++ b/ethcore/wasm/run/src/main.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . extern crate serde; extern crate serde_json; diff --git a/ethcore/wasm/run/src/runner.rs b/ethcore/wasm/run/src/runner.rs index b04ec29a482..a69fe6bf674 100644 --- a/ethcore/wasm/run/src/runner.rs +++ b/ethcore/wasm/run/src/runner.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . use fixture::{Fixture, Assert, CallLocator, Source}; use wasm::WasmInterpreter; diff --git a/ethcore/wasm/src/env.rs b/ethcore/wasm/src/env.rs index fb9e93e0fd0..b996ea000a0 100644 --- a/ethcore/wasm/src/env.rs +++ b/ethcore/wasm/src/env.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Env module glue for wasmi interpreter diff --git a/ethcore/wasm/src/lib.rs b/ethcore/wasm/src/lib.rs index 73fe4fff88e..5cf125e5789 100644 --- a/ethcore/wasm/src/lib.rs +++ b/ethcore/wasm/src/lib.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Wasm Interpreter diff --git a/ethcore/wasm/src/panic_payload.rs b/ethcore/wasm/src/panic_payload.rs index 36aa6c5f585..a484daf7123 100644 --- a/ethcore/wasm/src/panic_payload.rs +++ b/ethcore/wasm/src/panic_payload.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . use byteorder::{LittleEndian, ReadBytesExt}; use std::io::{self, Read}; diff --git a/ethcore/wasm/src/parser.rs b/ethcore/wasm/src/parser.rs index 656ebb30191..ca730e71886 100644 --- a/ethcore/wasm/src/parser.rs +++ b/ethcore/wasm/src/parser.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! ActionParams parser for wasm diff --git a/ethcore/wasm/src/runtime.rs b/ethcore/wasm/src/runtime.rs index b6de43e9f91..8466c3b8d90 100644 --- a/ethcore/wasm/src/runtime.rs +++ b/ethcore/wasm/src/runtime.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . use std::cmp; use ethereum_types::{U256, H256, Address}; diff --git a/ethcore/wasm/src/tests.rs b/ethcore/wasm/src/tests.rs index 01f35d6c983..0def27eb6c7 100644 --- a/ethcore/wasm/src/tests.rs +++ b/ethcore/wasm/src/tests.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . use std::sync::Arc; use std::collections::HashMap; diff --git a/evmbin/benches/mod.rs b/evmbin/benches/mod.rs index 8fdd5e9cfe1..d8872b5100e 100644 --- a/evmbin/benches/mod.rs +++ b/evmbin/benches/mod.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! benchmarking for EVM //! should be started with: diff --git a/evmbin/src/display/json.rs b/evmbin/src/display/json.rs index 09d0a78f83b..eec5131c7b0 100644 --- a/evmbin/src/display/json.rs +++ b/evmbin/src/display/json.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! JSON VM output. diff --git a/evmbin/src/display/mod.rs b/evmbin/src/display/mod.rs index a8eb20d9e6c..32b45c56922 100644 --- a/evmbin/src/display/mod.rs +++ b/evmbin/src/display/mod.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! VM Output display utils. diff --git a/evmbin/src/display/simple.rs b/evmbin/src/display/simple.rs index 9bfe86f0751..58d4a704585 100644 --- a/evmbin/src/display/simple.rs +++ b/evmbin/src/display/simple.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Simple VM output. diff --git a/evmbin/src/display/std_json.rs b/evmbin/src/display/std_json.rs index 87f515e8ea4..a0071b174fa 100644 --- a/evmbin/src/display/std_json.rs +++ b/evmbin/src/display/std_json.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Standardized JSON VM output. @@ -117,7 +117,6 @@ impl Informant { } } - } impl vm::Informant for Informant { diff --git a/evmbin/src/info.rs b/evmbin/src/info.rs index 92726ecd568..a12cdb16bd3 100644 --- a/evmbin/src/info.rs +++ b/evmbin/src/info.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! VM runner. diff --git a/evmbin/src/main.rs b/evmbin/src/main.rs index f7448352fa9..91e38e2546c 100644 --- a/evmbin/src/main.rs +++ b/evmbin/src/main.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Parity EVM interpreter binary. diff --git a/ipfs/src/error.rs b/ipfs/src/error.rs index 60b2d564f13..a9a584985a7 100644 --- a/ipfs/src/error.rs +++ b/ipfs/src/error.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . use {multihash, cid, http}; use route::Out; @@ -30,7 +30,6 @@ pub enum ServerError { InvalidInterface } - /// Handle IO errors (ports taken when starting the server). impl From<::std::io::Error> for ServerError { fn from(err: ::std::io::Error) -> ServerError { @@ -107,4 +106,4 @@ impl From for Error { fn from(_: multihash::Error) -> Error { Error::CidParsingFailed } -} \ No newline at end of file +} diff --git a/ipfs/src/lib.rs b/ipfs/src/lib.rs index e3974c2c50b..0ba6a86d029 100644 --- a/ipfs/src/lib.rs +++ b/ipfs/src/lib.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . extern crate multihash; extern crate cid; diff --git a/ipfs/src/route.rs b/ipfs/src/route.rs index b004c8ebfcb..f4a730338bd 100644 --- a/ipfs/src/route.rs +++ b/ipfs/src/route.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . use {rlp, multihash, IpfsHandler}; use error::{Error, Result}; diff --git a/json/src/blockchain/account.rs b/json/src/blockchain/account.rs index 38a0b1fa9cd..aa6f6f8bf26 100644 --- a/json/src/blockchain/account.rs +++ b/json/src/blockchain/account.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Blockchain test account deserializer. diff --git a/json/src/blockchain/block.rs b/json/src/blockchain/block.rs index 1d2755d4064..23ba5300dc2 100644 --- a/json/src/blockchain/block.rs +++ b/json/src/blockchain/block.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Blockchain test block deserializer. diff --git a/json/src/blockchain/blockchain.rs b/json/src/blockchain/blockchain.rs index 0564ff004eb..b92336f793a 100644 --- a/json/src/blockchain/blockchain.rs +++ b/json/src/blockchain/blockchain.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Blockchain deserialization. diff --git a/json/src/blockchain/header.rs b/json/src/blockchain/header.rs index ba06d7cb2be..8de5b16edb6 100644 --- a/json/src/blockchain/header.rs +++ b/json/src/blockchain/header.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Blockchain test header deserializer. diff --git a/json/src/blockchain/mod.rs b/json/src/blockchain/mod.rs index 0114216453a..0a3b162e95f 100644 --- a/json/src/blockchain/mod.rs +++ b/json/src/blockchain/mod.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Blockchain test deserialization. diff --git a/json/src/blockchain/state.rs b/json/src/blockchain/state.rs index e23a31efa03..e108c937f8a 100644 --- a/json/src/blockchain/state.rs +++ b/json/src/blockchain/state.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Blockchain test state deserializer. diff --git a/json/src/blockchain/test.rs b/json/src/blockchain/test.rs index 792303dc7e4..d773aa3b510 100644 --- a/json/src/blockchain/test.rs +++ b/json/src/blockchain/test.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Blockchain test deserializer. diff --git a/json/src/blockchain/transaction.rs b/json/src/blockchain/transaction.rs index c46ff722147..4e519f394ee 100644 --- a/json/src/blockchain/transaction.rs +++ b/json/src/blockchain/transaction.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Blockchain test transaction deserialization. diff --git a/json/src/bytes.rs b/json/src/bytes.rs index 3eb1f541526..3fbdee2380f 100644 --- a/json/src/bytes.rs +++ b/json/src/bytes.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Lenient bytes json deserialization for test json files. diff --git a/json/src/hash.rs b/json/src/hash.rs index 8dac3f6e736..a025dc45414 100644 --- a/json/src/hash.rs +++ b/json/src/hash.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Lenient hash json deserialization for test json files. diff --git a/json/src/lib.rs b/json/src/lib.rs index 5d31cd6c97d..b8fa463d425 100644 --- a/json/src/lib.rs +++ b/json/src/lib.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . extern crate rustc_hex; extern crate serde; diff --git a/json/src/maybe.rs b/json/src/maybe.rs index 1f77a98ef1d..4fd2ca60e49 100644 --- a/json/src/maybe.rs +++ b/json/src/maybe.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Deserializer of empty string values into optionals. diff --git a/json/src/misc/account_meta.rs b/json/src/misc/account_meta.rs index cb6ed1c877a..f6f8c0c637a 100644 --- a/json/src/misc/account_meta.rs +++ b/json/src/misc/account_meta.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Misc deserialization. diff --git a/json/src/misc/mod.rs b/json/src/misc/mod.rs index ae7dd80e1fa..52bbfc03af3 100644 --- a/json/src/misc/mod.rs +++ b/json/src/misc/mod.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Misc deserialization. diff --git a/json/src/spec/account.rs b/json/src/spec/account.rs index 9a593db0cb2..3d18ecd6c24 100644 --- a/json/src/spec/account.rs +++ b/json/src/spec/account.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Spec account deserialization. diff --git a/json/src/spec/authority_round.rs b/json/src/spec/authority_round.rs index a1adbef128e..61936a5f9a2 100644 --- a/json/src/spec/authority_round.rs +++ b/json/src/spec/authority_round.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Authority params deserialization. diff --git a/json/src/spec/basic_authority.rs b/json/src/spec/basic_authority.rs index 1d2b963600e..195b89bebb6 100644 --- a/json/src/spec/basic_authority.rs +++ b/json/src/spec/basic_authority.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Authority params deserialization. diff --git a/json/src/spec/builtin.rs b/json/src/spec/builtin.rs index 38da42f1d60..930e0bc9a1b 100644 --- a/json/src/spec/builtin.rs +++ b/json/src/spec/builtin.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Spec builtin deserialization. diff --git a/json/src/spec/engine.rs b/json/src/spec/engine.rs index 2c3ff362493..8941f89e14e 100644 --- a/json/src/spec/engine.rs +++ b/json/src/spec/engine.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Engine deserialization. @@ -77,7 +77,6 @@ mod tests { _ => panic!(), }; - let s = r#"{ "Ethash": { "params": { diff --git a/json/src/spec/ethash.rs b/json/src/spec/ethash.rs index fc61c3e8dd8..6f9dd770687 100644 --- a/json/src/spec/ethash.rs +++ b/json/src/spec/ethash.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Ethash params deserialization. diff --git a/json/src/spec/genesis.rs b/json/src/spec/genesis.rs index 3cbfd060c10..1452bea0c17 100644 --- a/json/src/spec/genesis.rs +++ b/json/src/spec/genesis.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Spec genesis deserialization. diff --git a/json/src/spec/hardcoded_sync.rs b/json/src/spec/hardcoded_sync.rs index 078e0e76a6f..381cd1f1acc 100644 --- a/json/src/spec/hardcoded_sync.rs +++ b/json/src/spec/hardcoded_sync.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Spec hardcoded synchronization deserialization for the light client. diff --git a/json/src/spec/instant_seal.rs b/json/src/spec/instant_seal.rs index c15da8db4ee..2f1ad33e9bc 100644 --- a/json/src/spec/instant_seal.rs +++ b/json/src/spec/instant_seal.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Instant seal engine params deserialization. diff --git a/json/src/spec/mod.rs b/json/src/spec/mod.rs index fb08f9bb00e..1d6815d37c1 100644 --- a/json/src/spec/mod.rs +++ b/json/src/spec/mod.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Spec deserialization. diff --git a/json/src/spec/null_engine.rs b/json/src/spec/null_engine.rs index 946d1882d79..bf75749808c 100644 --- a/json/src/spec/null_engine.rs +++ b/json/src/spec/null_engine.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Null engine params deserialization. diff --git a/json/src/spec/params.rs b/json/src/spec/params.rs index 139e74b0f24..d64f429bf88 100644 --- a/json/src/spec/params.rs +++ b/json/src/spec/params.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Spec params deserialization. diff --git a/json/src/spec/seal.rs b/json/src/spec/seal.rs index 69c9077255e..e716a05bc26 100644 --- a/json/src/spec/seal.rs +++ b/json/src/spec/seal.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Spec seal deserialization. diff --git a/json/src/spec/spec.rs b/json/src/spec/spec.rs index 9a5589d84f0..f8f1217b479 100644 --- a/json/src/spec/spec.rs +++ b/json/src/spec/spec.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Spec deserialization. diff --git a/json/src/spec/state.rs b/json/src/spec/state.rs index 6227750e1f7..e8a8663672e 100644 --- a/json/src/spec/state.rs +++ b/json/src/spec/state.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Blockchain test state deserializer. diff --git a/json/src/spec/validator_set.rs b/json/src/spec/validator_set.rs index babbb8a4760..e7e82282c7a 100644 --- a/json/src/spec/validator_set.rs +++ b/json/src/spec/validator_set.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Validator set deserialization. diff --git a/json/src/state/log.rs b/json/src/state/log.rs index 1e07d9ed1ea..1a0dda5295a 100644 --- a/json/src/state/log.rs +++ b/json/src/state/log.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! State test log deserialization. use hash::{Address, H256, Bloom}; diff --git a/json/src/state/mod.rs b/json/src/state/mod.rs index 6037ca514d0..8c2ac287535 100644 --- a/json/src/state/mod.rs +++ b/json/src/state/mod.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! State test deserialization. diff --git a/json/src/state/state.rs b/json/src/state/state.rs index 22a2e3f9e4f..f25dabec798 100644 --- a/json/src/state/state.rs +++ b/json/src/state/state.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! State test deserialization. diff --git a/json/src/state/test.rs b/json/src/state/test.rs index 2609ad1d21e..3521c797785 100644 --- a/json/src/state/test.rs +++ b/json/src/state/test.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! General test deserialization. diff --git a/json/src/state/transaction.rs b/json/src/state/transaction.rs index bdbe3030fdc..693b976994e 100644 --- a/json/src/state/transaction.rs +++ b/json/src/state/transaction.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! State test transaction deserialization. diff --git a/json/src/test/mod.rs b/json/src/test/mod.rs index 97d66bbd0a8..355d30d69fc 100644 --- a/json/src/test/mod.rs +++ b/json/src/test/mod.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Additional test structures deserialization. diff --git a/json/src/transaction/mod.rs b/json/src/transaction/mod.rs index 8ebab3f1c2b..f845fe3340a 100644 --- a/json/src/transaction/mod.rs +++ b/json/src/transaction/mod.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Transaction test deserialization. diff --git a/json/src/transaction/test.rs b/json/src/transaction/test.rs index 2c5f39f13cf..ee9d4110f1f 100644 --- a/json/src/transaction/test.rs +++ b/json/src/transaction/test.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! TransactionTest test deserializer. diff --git a/json/src/transaction/transaction.rs b/json/src/transaction/transaction.rs index bc36743b18d..718d3080bd2 100644 --- a/json/src/transaction/transaction.rs +++ b/json/src/transaction/transaction.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Transaction test transaction deserialization. diff --git a/json/src/transaction/txtest.rs b/json/src/transaction/txtest.rs index 2be035b4fe9..e72e5f60bfa 100644 --- a/json/src/transaction/txtest.rs +++ b/json/src/transaction/txtest.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Transaction test deserialization. diff --git a/json/src/trie/input.rs b/json/src/trie/input.rs index e1c46ac537e..4c56c10d7cd 100644 --- a/json/src/trie/input.rs +++ b/json/src/trie/input.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Trie test input deserialization. diff --git a/json/src/trie/mod.rs b/json/src/trie/mod.rs index 5dc52cb21d4..68fec087617 100644 --- a/json/src/trie/mod.rs +++ b/json/src/trie/mod.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Trie test deserialization. diff --git a/json/src/trie/test.rs b/json/src/trie/test.rs index c6cd99c25e8..39876da0a16 100644 --- a/json/src/trie/test.rs +++ b/json/src/trie/test.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! TransactionTest test deserializer. diff --git a/json/src/trie/trie.rs b/json/src/trie/trie.rs index 24a3418c79d..756e54f4351 100644 --- a/json/src/trie/trie.rs +++ b/json/src/trie/trie.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Trie test deserialization. diff --git a/json/src/uint.rs b/json/src/uint.rs index 25c5049c45b..3f1d02f03e7 100644 --- a/json/src/uint.rs +++ b/json/src/uint.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Lenient uint json deserialization for test json files. diff --git a/json/src/vm/call.rs b/json/src/vm/call.rs index f37a80b57d8..aa75862f0dd 100644 --- a/json/src/vm/call.rs +++ b/json/src/vm/call.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Vm call deserialization. diff --git a/json/src/vm/env.rs b/json/src/vm/env.rs index cd301aa02bc..e06812c0a87 100644 --- a/json/src/vm/env.rs +++ b/json/src/vm/env.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Vm environment. use hash::Address; diff --git a/json/src/vm/mod.rs b/json/src/vm/mod.rs index 29b12d4805d..d8f99e20021 100644 --- a/json/src/vm/mod.rs +++ b/json/src/vm/mod.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Vm test loader. diff --git a/json/src/vm/test.rs b/json/src/vm/test.rs index 10b4aae54f8..9dfe814ae82 100644 --- a/json/src/vm/test.rs +++ b/json/src/vm/test.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Vm test deserializer. diff --git a/json/src/vm/transaction.rs b/json/src/vm/transaction.rs index f21ed7aceff..4a9374531d5 100644 --- a/json/src/vm/transaction.rs +++ b/json/src/vm/transaction.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Executed transaction. use hash::Address; diff --git a/json/src/vm/vm.rs b/json/src/vm/vm.rs index 016ea256de2..1fbb937cb7f 100644 --- a/json/src/vm/vm.rs +++ b/json/src/vm/vm.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Vm execution env. diff --git a/license_header b/license_header index c83bb0d90a4..2fc672e4f1f 100644 --- a/license_header +++ b/license_header @@ -1,4 +1,4 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. // This file is part of Parity Ethereum. // Parity Ethereum is free software: you can redistribute it and/or modify diff --git a/logger/src/lib.rs b/logger/src/lib.rs index c78c24b29ea..da4a28bed10 100644 --- a/logger/src/lib.rs +++ b/logger/src/lib.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Logger for parity executables diff --git a/logger/src/rotating.rs b/logger/src/rotating.rs index e8fde50d446..2745e95bf62 100644 --- a/logger/src/rotating.rs +++ b/logger/src/rotating.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Common log helper functions diff --git a/machine/src/lib.rs b/machine/src/lib.rs index a3f640fe577..8a0b5e3f2ed 100644 --- a/machine/src/lib.rs +++ b/machine/src/lib.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Generalization of a state machine for a consensus engine. //! This will define traits for the header, block, and state of a blockchain. diff --git a/miner/local-store/src/lib.rs b/miner/local-store/src/lib.rs index f8eaec5a94c..56c573b06ff 100644 --- a/miner/local-store/src/lib.rs +++ b/miner/local-store/src/lib.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Manages local node data: pending local transactions, sync security level diff --git a/miner/price-info/src/lib.rs b/miner/price-info/src/lib.rs index ef6fafff654..4117f84c525 100644 --- a/miner/price-info/src/lib.rs +++ b/miner/price-info/src/lib.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . #![warn(missing_docs)] diff --git a/miner/src/external.rs b/miner/src/external.rs index a56be42f021..f68e065abd0 100644 --- a/miner/src/external.rs +++ b/miner/src/external.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! External Miner hashrate tracker. diff --git a/miner/src/gas_price_calibrator.rs b/miner/src/gas_price_calibrator.rs index db22e07b114..7a0943640cf 100644 --- a/miner/src/gas_price_calibrator.rs +++ b/miner/src/gas_price_calibrator.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Auto-updates minimal gas price requirement from a price-info source. diff --git a/miner/src/gas_pricer.rs b/miner/src/gas_pricer.rs index 32877836529..0f851a9f862 100644 --- a/miner/src/gas_pricer.rs +++ b/miner/src/gas_pricer.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Auto-updates minimal gas price requirement. diff --git a/miner/src/lib.rs b/miner/src/lib.rs index de7da33efe0..3b2513f678e 100644 --- a/miner/src/lib.rs +++ b/miner/src/lib.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . #![warn(missing_docs)] diff --git a/miner/src/pool/client.rs b/miner/src/pool/client.rs index 1b0452cf158..bcd2b968954 100644 --- a/miner/src/pool/client.rs +++ b/miner/src/pool/client.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Transaction Pool state client. //! diff --git a/miner/src/pool/listener.rs b/miner/src/pool/listener.rs index 7dcac1f80b4..fac98b0a17c 100644 --- a/miner/src/pool/listener.rs +++ b/miner/src/pool/listener.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Notifier for new transaction hashes. diff --git a/miner/src/pool/local_transactions.rs b/miner/src/pool/local_transactions.rs index f616d1f3a66..c805484d1ce 100644 --- a/miner/src/pool/local_transactions.rs +++ b/miner/src/pool/local_transactions.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Local Transactions List. diff --git a/miner/src/pool/mod.rs b/miner/src/pool/mod.rs index 07c056a80d4..561b85f4bc5 100644 --- a/miner/src/pool/mod.rs +++ b/miner/src/pool/mod.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Transaction Pool diff --git a/miner/src/pool/queue.rs b/miner/src/pool/queue.rs index 1540c8f46ed..22278c3e858 100644 --- a/miner/src/pool/queue.rs +++ b/miner/src/pool/queue.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Ethereum Transaction Queue diff --git a/miner/src/pool/ready.rs b/miner/src/pool/ready.rs index 3a4b9d28711..20507186e7a 100644 --- a/miner/src/pool/ready.rs +++ b/miner/src/pool/ready.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Transaction Readiness indicator //! diff --git a/miner/src/pool/scoring.rs b/miner/src/pool/scoring.rs index 61fcf4e418a..89ab6eb8f2f 100644 --- a/miner/src/pool/scoring.rs +++ b/miner/src/pool/scoring.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Transaction Scoring and Ordering //! diff --git a/miner/src/pool/tests/client.rs b/miner/src/pool/tests/client.rs index ec4d8e79625..4735fbd64d4 100644 --- a/miner/src/pool/tests/client.rs +++ b/miner/src/pool/tests/client.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . use std::sync::{atomic, Arc}; diff --git a/miner/src/pool/tests/mod.rs b/miner/src/pool/tests/mod.rs index c667dacc666..ad9f6824fae 100644 --- a/miner/src/pool/tests/mod.rs +++ b/miner/src/pool/tests/mod.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . use ethereum_types::U256; use types::transaction::{self, PendingTransaction}; @@ -1037,7 +1037,6 @@ fn should_reject_early_in_case_gas_price_is_less_than_min_effective() { assert_eq!(txq.status().status.transaction_count, 1); } - #[test] fn should_not_reject_early_in_case_gas_price_is_less_than_min_effective() { // given diff --git a/miner/src/pool/tests/tx.rs b/miner/src/pool/tests/tx.rs index 1b5ec84735c..b8f6dca676d 100644 --- a/miner/src/pool/tests/tx.rs +++ b/miner/src/pool/tests/tx.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . use ethereum_types::{U256, H256}; use ethkey::{Random, Generator}; diff --git a/miner/src/pool/verifier.rs b/miner/src/pool/verifier.rs index b055bb2d2dd..65835230d8e 100644 --- a/miner/src/pool/verifier.rs +++ b/miner/src/pool/verifier.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Transaction Verifier //! diff --git a/miner/src/work_notify.rs b/miner/src/work_notify.rs index e23db64bfde..367990f2255 100644 --- a/miner/src/work_notify.rs +++ b/miner/src/work_notify.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Sends HTTP notifications to a list of URLs every time new work is available. diff --git a/miner/stratum/src/lib.rs b/miner/stratum/src/lib.rs index 7a8234ced4a..0ad702ce9f8 100644 --- a/miner/stratum/src/lib.rs +++ b/miner/stratum/src/lib.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Stratum protocol implementation for parity ethereum/bitcoin clients diff --git a/miner/stratum/src/traits.rs b/miner/stratum/src/traits.rs index d1bb9a4da73..36b95a0169e 100644 --- a/miner/stratum/src/traits.rs +++ b/miner/stratum/src/traits.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . use std; use std::error::Error as StdError; diff --git a/miner/using-queue/src/lib.rs b/miner/using-queue/src/lib.rs index 42fe1a33ad7..56e99879db7 100644 --- a/miner/using-queue/src/lib.rs +++ b/miner/using-queue/src/lib.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Queue-like datastructure including notion of usage. diff --git a/parity-clib/examples/cpp/main.cpp b/parity-clib/examples/cpp/main.cpp index aab05c9066c..d4603ceb7ac 100644 --- a/parity-clib/examples/cpp/main.cpp +++ b/parity-clib/examples/cpp/main.cpp @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . #include #include diff --git a/parity-clib/src/java.rs b/parity-clib/src/java.rs index 30e63e60162..88f5444ea8c 100644 --- a/parity-clib/src/java.rs +++ b/parity-clib/src/java.rs @@ -1,3 +1,19 @@ +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. + +// Parity Ethereum is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. + +// Parity Ethereum is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. + +// You should have received a copy of the GNU General Public License +// along with Parity Ethereum. If not, see . + use std::{mem, ptr}; use std::sync::Arc; use std::time::Duration; diff --git a/parity-clib/src/lib.rs b/parity-clib/src/lib.rs index b4f776c89c0..38130372703 100644 --- a/parity-clib/src/lib.rs +++ b/parity-clib/src/lib.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Note that all the structs and functions here are documented in `parity.h`, to avoid //! duplicating documentation. @@ -146,7 +146,6 @@ pub unsafe extern fn parity_destroy(client: *mut c_void) { }); } - unsafe fn parity_rpc_query_checker<'a>(client: *const c_void, query: *const c_char, len: usize) -> Option> { diff --git a/parity/account.rs b/parity/account.rs index 92297cf7ee9..79681fda7e7 100644 --- a/parity/account.rs +++ b/parity/account.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . use std::path::PathBuf; use ethstore::{EthStore, SecretStore, import_account, import_accounts, read_geth_accounts}; diff --git a/parity/blockchain.rs b/parity/blockchain.rs index 55903f46d6b..959de3a30b3 100644 --- a/parity/blockchain.rs +++ b/parity/blockchain.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . use std::str::{FromStr, from_utf8}; use std::{io, fs}; diff --git a/parity/cache.rs b/parity/cache.rs index 5848e404c2a..d6487221b35 100644 --- a/parity/cache.rs +++ b/parity/cache.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . use std::cmp::max; diff --git a/parity/cli/mod.rs b/parity/cli/mod.rs index e18e141d2b2..29c975acfec 100644 --- a/parity/cli/mod.rs +++ b/parity/cli/mod.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . #[macro_use] mod usage; @@ -461,7 +461,6 @@ usage! { Ok(()) }, - ["API and Console Options – HTTP JSON-RPC"] FLAG flag_jsonrpc_allow_missing_blocks: (bool) = false, or |c: &Config| c.rpc.as_ref()?.allow_missing_blocks.clone(), "--jsonrpc-allow-missing-blocks", diff --git a/parity/cli/presets/mod.rs b/parity/cli/presets/mod.rs index 125ab510c3c..25bccf41b83 100644 --- a/parity/cli/presets/mod.rs +++ b/parity/cli/presets/mod.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . use std::io::{Error, ErrorKind}; diff --git a/parity/cli/usage.rs b/parity/cli/usage.rs index caacd364f2c..f48387b2a7c 100644 --- a/parity/cli/usage.rs +++ b/parity/cli/usage.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . macro_rules! println_stderr( ($($arg:tt)*) => { { diff --git a/parity/configuration.rs b/parity/configuration.rs index 9de5c790253..c0f9c35eb26 100644 --- a/parity/configuration.rs +++ b/parity/configuration.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . use std::time::Duration; use std::io::Read; diff --git a/parity/db/mod.rs b/parity/db/mod.rs index a5d66339826..9b46624425b 100644 --- a/parity/db/mod.rs +++ b/parity/db/mod.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Database-related operations. diff --git a/parity/db/rocksdb/blooms.rs b/parity/db/rocksdb/blooms.rs index 5c71fe95667..eea913bea49 100644 --- a/parity/db/rocksdb/blooms.rs +++ b/parity/db/rocksdb/blooms.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Blooms migration from rocksdb to blooms-db diff --git a/parity/db/rocksdb/helpers.rs b/parity/db/rocksdb/helpers.rs index 6a59a939cd3..9829cb5a62c 100644 --- a/parity/db/rocksdb/helpers.rs +++ b/parity/db/rocksdb/helpers.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . use std::path::Path; use ethcore_db::NUM_COLUMNS; diff --git a/parity/db/rocksdb/migration.rs b/parity/db/rocksdb/migration.rs index 1844f424e48..eec43d23362 100644 --- a/parity/db/rocksdb/migration.rs +++ b/parity/db/rocksdb/migration.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . use std::fs; use std::io::{Read, Write, Error as IoError, ErrorKind}; diff --git a/parity/db/rocksdb/mod.rs b/parity/db/rocksdb/mod.rs index beac78e2b8f..c7aa0a5344d 100644 --- a/parity/db/rocksdb/mod.rs +++ b/parity/db/rocksdb/mod.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . extern crate kvdb_rocksdb; extern crate migration_rocksdb; diff --git a/parity/deprecated.rs b/parity/deprecated.rs index 91a872e2202..49155225aa0 100644 --- a/parity/deprecated.rs +++ b/parity/deprecated.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . use std::fmt; use cli::Args; diff --git a/parity/export_hardcoded_sync.rs b/parity/export_hardcoded_sync.rs index 039ce9e66e1..0e527b3413b 100644 --- a/parity/export_hardcoded_sync.rs +++ b/parity/export_hardcoded_sync.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . use std::sync::Arc; use std::time::Duration; diff --git a/parity/helpers.rs b/parity/helpers.rs index 0a378a34f19..1d018f423b9 100644 --- a/parity/helpers.rs +++ b/parity/helpers.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . use std::io; use std::io::{Write, BufReader, BufRead}; diff --git a/parity/informant.rs b/parity/informant.rs index 067bc741d2c..0299f524f28 100644 --- a/parity/informant.rs +++ b/parity/informant.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . extern crate ansi_term; use self::ansi_term::Colour::{White, Yellow, Green, Cyan, Blue}; diff --git a/parity/ipfs.rs b/parity/ipfs.rs index 2cc2effca5f..0923a1e7d40 100644 --- a/parity/ipfs.rs +++ b/parity/ipfs.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . use std::sync::Arc; use parity_ipfs_api::{self, AccessControlAllowOrigin, Host, Listening}; diff --git a/parity/lib.rs b/parity/lib.rs index 960982e290e..4f1a0d9aa62 100644 --- a/parity/lib.rs +++ b/parity/lib.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Ethcore client application. @@ -168,7 +168,6 @@ fn run_deadlock_detection_thread() { }); } - /// Action that Parity performed when running `start`. pub enum ExecutionAction { /// The execution didn't require starting a node, and thus has finished. diff --git a/parity/light_helpers/epoch_fetch.rs b/parity/light_helpers/epoch_fetch.rs index 6b912bacde7..ecf94860891 100644 --- a/parity/light_helpers/epoch_fetch.rs +++ b/parity/light_helpers/epoch_fetch.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . use std::sync::{Arc, Weak}; diff --git a/parity/light_helpers/mod.rs b/parity/light_helpers/mod.rs index c30b62da55e..9a9bbf2cd87 100644 --- a/parity/light_helpers/mod.rs +++ b/parity/light_helpers/mod.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Utilities and helpers for the light client. diff --git a/parity/light_helpers/queue_cull.rs b/parity/light_helpers/queue_cull.rs index ee056607599..c919511ba5c 100644 --- a/parity/light_helpers/queue_cull.rs +++ b/parity/light_helpers/queue_cull.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Service for culling the light client's transaction queue. diff --git a/parity/main.rs b/parity/main.rs index 1254c34727b..fd943741404 100644 --- a/parity/main.rs +++ b/parity/main.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Ethcore client application. diff --git a/parity/modules.rs b/parity/modules.rs index 3b5add61258..9f5d25a11e2 100644 --- a/parity/modules.rs +++ b/parity/modules.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . use std::sync::{Arc, mpsc}; diff --git a/parity/params.rs b/parity/params.rs index 1d384687550..11414edf007 100644 --- a/parity/params.rs +++ b/parity/params.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . use std::{str, fs, fmt}; use std::time::Duration; diff --git a/parity/presale.rs b/parity/presale.rs index 387983968ff..da5bef369e9 100644 --- a/parity/presale.rs +++ b/parity/presale.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . use ethstore::{PresaleWallet, EthStore}; use ethstore::accounts_dir::RootDiskDirectory; diff --git a/parity/rpc.rs b/parity/rpc.rs index d77bc6d6d99..57bb584775d 100644 --- a/parity/rpc.rs +++ b/parity/rpc.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . use std::io; use std::sync::Arc; diff --git a/parity/rpc_apis.rs b/parity/rpc_apis.rs index 660ec66289f..10eaa554482 100644 --- a/parity/rpc_apis.rs +++ b/parity/rpc_apis.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . use std::cmp::PartialEq; use std::collections::{BTreeMap, HashSet}; diff --git a/parity/run.rs b/parity/run.rs index 1df495228e9..8b4bfff5b95 100644 --- a/parity/run.rs +++ b/parity/run.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . use std::any::Any; use std::sync::{Arc, Weak, atomic}; diff --git a/parity/secretstore.rs b/parity/secretstore.rs index 80a3c76f8d9..c61d4b76cbe 100644 --- a/parity/secretstore.rs +++ b/parity/secretstore.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . use std::collections::BTreeMap; use std::sync::Arc; diff --git a/parity/signer.rs b/parity/signer.rs index e9a636bf8bc..98f2b8cc6b6 100644 --- a/parity/signer.rs +++ b/parity/signer.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . use std::io; use std::path::{Path, PathBuf}; diff --git a/parity/snapshot.rs b/parity/snapshot.rs index 43cb69cc004..0be4ce15f7d 100644 --- a/parity/snapshot.rs +++ b/parity/snapshot.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Snapshot and restoration commands. diff --git a/parity/stratum.rs b/parity/stratum.rs index efaa6b307ce..a74f60d852a 100644 --- a/parity/stratum.rs +++ b/parity/stratum.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Parity sync service diff --git a/parity/upgrade.rs b/parity/upgrade.rs index 1db2e77bdf6..3406e573c75 100644 --- a/parity/upgrade.rs +++ b/parity/upgrade.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Parity upgrade logic diff --git a/parity/user_defaults.rs b/parity/user_defaults.rs index 5df50dd99d3..bdd5d9efb33 100644 --- a/parity/user_defaults.rs +++ b/parity/user_defaults.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . use std::fs::File; use std::io::Write; diff --git a/parity/whisper.rs b/parity/whisper.rs index c3c8854dcb6..e9a744b5469 100644 --- a/parity/whisper.rs +++ b/parity/whisper.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . use std::sync::Arc; use std::io; diff --git a/rpc/src/authcodes.rs b/rpc/src/authcodes.rs index 8fd47d553fc..976ce1a3fb9 100644 --- a/rpc/src/authcodes.rs +++ b/rpc/src/authcodes.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . use std::io::{self, Read, Write}; use std::path::Path; diff --git a/rpc/src/http_common.rs b/rpc/src/http_common.rs index 0e720a7917f..517bbbf7608 100644 --- a/rpc/src/http_common.rs +++ b/rpc/src/http_common.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Transport-specific metadata extractors. diff --git a/rpc/src/lib.rs b/rpc/src/lib.rs index bd063968e03..a72e5e18379 100644 --- a/rpc/src/lib.rs +++ b/rpc/src/lib.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Parity RPC. diff --git a/rpc/src/tests/helpers.rs b/rpc/src/tests/helpers.rs index 73c75924aa7..fe04906d4a9 100644 --- a/rpc/src/tests/helpers.rs +++ b/rpc/src/tests/helpers.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . use std::ops::{Deref, DerefMut}; use std::path::PathBuf; diff --git a/rpc/src/tests/http_client.rs b/rpc/src/tests/http_client.rs index e2f33d4257f..7720f4254be 100644 --- a/rpc/src/tests/http_client.rs +++ b/rpc/src/tests/http_client.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . use std::thread; use std::time::Duration; diff --git a/rpc/src/tests/mod.rs b/rpc/src/tests/mod.rs index 4d0a23dfc10..a73d69096da 100644 --- a/rpc/src/tests/mod.rs +++ b/rpc/src/tests/mod.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! RPC integration tests. diff --git a/rpc/src/tests/rpc.rs b/rpc/src/tests/rpc.rs index e370efd15c0..761ccc4e1f3 100644 --- a/rpc/src/tests/rpc.rs +++ b/rpc/src/tests/rpc.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . use jsonrpc_core::MetaIoHandler; use http::{self, hyper}; diff --git a/rpc/src/tests/ws.rs b/rpc/src/tests/ws.rs index 847671624f1..aded13953cb 100644 --- a/rpc/src/tests/ws.rs +++ b/rpc/src/tests/ws.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! WebSockets server tests. diff --git a/rpc/src/v1/extractors.rs b/rpc/src/v1/extractors.rs index a7c1c40b1ea..adcf569d9bb 100644 --- a/rpc/src/v1/extractors.rs +++ b/rpc/src/v1/extractors.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Parity-specific metadata extractors. diff --git a/rpc/src/v1/helpers/accounts.rs b/rpc/src/v1/helpers/accounts.rs index 4268bf2f99f..544c47883c9 100644 --- a/rpc/src/v1/helpers/accounts.rs +++ b/rpc/src/v1/helpers/accounts.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . use std::sync::Arc; use ethcore::account_provider::AccountProvider; diff --git a/rpc/src/v1/helpers/block_import.rs b/rpc/src/v1/helpers/block_import.rs index 50a4ed8e006..3fd5d9fff7d 100644 --- a/rpc/src/v1/helpers/block_import.rs +++ b/rpc/src/v1/helpers/block_import.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Block import analysis functions. diff --git a/rpc/src/v1/helpers/dispatch.rs b/rpc/src/v1/helpers/dispatch.rs index a66b08e948d..e6d0d3fef67 100644 --- a/rpc/src/v1/helpers/dispatch.rs +++ b/rpc/src/v1/helpers/dispatch.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Utilities and helpers for transaction dispatch. diff --git a/rpc/src/v1/helpers/eip191.rs b/rpc/src/v1/helpers/eip191.rs index 44d23456865..938ab81dc4e 100644 --- a/rpc/src/v1/helpers/eip191.rs +++ b/rpc/src/v1/helpers/eip191.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! EIP-191 compliant decoding + hashing use v1::types::{EIP191Version, Bytes, PresignedTransaction}; diff --git a/rpc/src/v1/helpers/errors.rs b/rpc/src/v1/helpers/errors.rs index f83f66253d4..4695682e3cc 100644 --- a/rpc/src/v1/helpers/errors.rs +++ b/rpc/src/v1/helpers/errors.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! RPC Error codes and error objects diff --git a/rpc/src/v1/helpers/fake_sign.rs b/rpc/src/v1/helpers/fake_sign.rs index 866b292c1db..76d37aab2fb 100644 --- a/rpc/src/v1/helpers/fake_sign.rs +++ b/rpc/src/v1/helpers/fake_sign.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . use types::transaction::{Transaction, SignedTransaction, Action}; diff --git a/rpc/src/v1/helpers/ipfs.rs b/rpc/src/v1/helpers/ipfs.rs index 12980d3f418..928362cf89f 100644 --- a/rpc/src/v1/helpers/ipfs.rs +++ b/rpc/src/v1/helpers/ipfs.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! IPFS utility functions diff --git a/rpc/src/v1/helpers/light_fetch.rs b/rpc/src/v1/helpers/light_fetch.rs index 2dc587f7aa5..ba6e13b1671 100644 --- a/rpc/src/v1/helpers/light_fetch.rs +++ b/rpc/src/v1/helpers/light_fetch.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Helpers for fetching blockchain data either from the light client or the network. @@ -377,7 +377,6 @@ impl LightFetch { }) } - /// Get transaction logs pub fn logs(&self, filter: EthcoreFilter) -> impl Future, Error = Error> + Send { use jsonrpc_core::futures::stream::{self, Stream}; diff --git a/rpc/src/v1/helpers/mod.rs b/rpc/src/v1/helpers/mod.rs index c770836fb47..547a3ebd85f 100644 --- a/rpc/src/v1/helpers/mod.rs +++ b/rpc/src/v1/helpers/mod.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . #[macro_use] pub mod errors; diff --git a/rpc/src/v1/helpers/network_settings.rs b/rpc/src/v1/helpers/network_settings.rs index eddb2abe067..ed515e471a9 100644 --- a/rpc/src/v1/helpers/network_settings.rs +++ b/rpc/src/v1/helpers/network_settings.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Structure to hold network settings configured from CLI diff --git a/rpc/src/v1/helpers/nonce.rs b/rpc/src/v1/helpers/nonce.rs index 110d8decb46..25ec89f01b0 100644 --- a/rpc/src/v1/helpers/nonce.rs +++ b/rpc/src/v1/helpers/nonce.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . use std::{cmp, mem}; use std::collections::HashMap; diff --git a/rpc/src/v1/helpers/oneshot.rs b/rpc/src/v1/helpers/oneshot.rs index 5ede0ae912f..623691d3998 100644 --- a/rpc/src/v1/helpers/oneshot.rs +++ b/rpc/src/v1/helpers/oneshot.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . use jsonrpc_core::Error; use jsonrpc_core::futures::{self, Future}; diff --git a/rpc/src/v1/helpers/poll_filter.rs b/rpc/src/v1/helpers/poll_filter.rs index 497cd895509..2d7eb956683 100644 --- a/rpc/src/v1/helpers/poll_filter.rs +++ b/rpc/src/v1/helpers/poll_filter.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Helper type with all filter state data. diff --git a/rpc/src/v1/helpers/poll_manager.rs b/rpc/src/v1/helpers/poll_manager.rs index 03387a70939..a0f1684395d 100644 --- a/rpc/src/v1/helpers/poll_manager.rs +++ b/rpc/src/v1/helpers/poll_manager.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Indexes all rpc poll requests. diff --git a/rpc/src/v1/helpers/requests.rs b/rpc/src/v1/helpers/requests.rs index 90fb42f50c0..db02c586752 100644 --- a/rpc/src/v1/helpers/requests.rs +++ b/rpc/src/v1/helpers/requests.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . use ethereum_types::{U256, Address}; use bytes::Bytes; diff --git a/rpc/src/v1/helpers/secretstore.rs b/rpc/src/v1/helpers/secretstore.rs index f23222824fb..d8a60d592c3 100644 --- a/rpc/src/v1/helpers/secretstore.rs +++ b/rpc/src/v1/helpers/secretstore.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . use std::collections::BTreeSet; use rand::{Rng, OsRng}; diff --git a/rpc/src/v1/helpers/signature.rs b/rpc/src/v1/helpers/signature.rs index 47664fc74bf..c684523feaf 100644 --- a/rpc/src/v1/helpers/signature.rs +++ b/rpc/src/v1/helpers/signature.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . use ethkey::{recover, public_to_address, Signature}; use jsonrpc_core::Result; diff --git a/rpc/src/v1/helpers/signer.rs b/rpc/src/v1/helpers/signer.rs index 0ee14bad1b9..0cb13bd7f51 100644 --- a/rpc/src/v1/helpers/signer.rs +++ b/rpc/src/v1/helpers/signer.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . use std::sync::Arc; use std::ops::Deref; diff --git a/rpc/src/v1/helpers/signing_queue.rs b/rpc/src/v1/helpers/signing_queue.rs index 9f31628a319..3429f2fa2b2 100644 --- a/rpc/src/v1/helpers/signing_queue.rs +++ b/rpc/src/v1/helpers/signing_queue.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . use std::collections::BTreeMap; use ethereum_types::{U256, Address}; diff --git a/rpc/src/v1/helpers/subscribers.rs b/rpc/src/v1/helpers/subscribers.rs index 68712076438..80a6bfe8b1b 100644 --- a/rpc/src/v1/helpers/subscribers.rs +++ b/rpc/src/v1/helpers/subscribers.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! A map of subscribers. diff --git a/rpc/src/v1/helpers/subscription_manager.rs b/rpc/src/v1/helpers/subscription_manager.rs index 0641ca2b02f..4f50cad4235 100644 --- a/rpc/src/v1/helpers/subscription_manager.rs +++ b/rpc/src/v1/helpers/subscription_manager.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Generic poll manager for Pub-Sub. diff --git a/rpc/src/v1/helpers/work.rs b/rpc/src/v1/helpers/work.rs index 18047e546dc..0a90d446ee8 100644 --- a/rpc/src/v1/helpers/work.rs +++ b/rpc/src/v1/helpers/work.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Helpers for submit a POW work. diff --git a/rpc/src/v1/impls/debug.rs b/rpc/src/v1/impls/debug.rs index d1647f4f869..abec9b1f87c 100644 --- a/rpc/src/v1/impls/debug.rs +++ b/rpc/src/v1/impls/debug.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Debug APIs RPC implementation diff --git a/rpc/src/v1/impls/eth.rs b/rpc/src/v1/impls/eth.rs index d7692c4168e..bf39557d1a1 100644 --- a/rpc/src/v1/impls/eth.rs +++ b/rpc/src/v1/impls/eth.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Eth rpc implementation. @@ -625,7 +625,6 @@ impl Eth for EthClient< Box::new(future::done(res)) } - fn storage_at(&self, address: RpcH160, pos: RpcU256, num: Trailing) -> BoxFuture { let address: Address = RpcH160::into(address); let position: U256 = RpcU256::into(pos); diff --git a/rpc/src/v1/impls/eth_filter.rs b/rpc/src/v1/impls/eth_filter.rs index 097460ece19..20a0d274000 100644 --- a/rpc/src/v1/impls/eth_filter.rs +++ b/rpc/src/v1/impls/eth_filter.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Eth Filter RPC implementation diff --git a/rpc/src/v1/impls/eth_pubsub.rs b/rpc/src/v1/impls/eth_pubsub.rs index eaefeac1be6..86340d73d4b 100644 --- a/rpc/src/v1/impls/eth_pubsub.rs +++ b/rpc/src/v1/impls/eth_pubsub.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Eth PUB-SUB rpc implementation. diff --git a/rpc/src/v1/impls/light/eth.rs b/rpc/src/v1/impls/light/eth.rs index 045a2f1d8ba..87e87c3098a 100644 --- a/rpc/src/v1/impls/light/eth.rs +++ b/rpc/src/v1/impls/light/eth.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Eth RPC interface for the light client. diff --git a/rpc/src/v1/impls/light/mod.rs b/rpc/src/v1/impls/light/mod.rs index 40f1df89907..c159514582b 100644 --- a/rpc/src/v1/impls/light/mod.rs +++ b/rpc/src/v1/impls/light/mod.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! RPC implementations for the light client. //! diff --git a/rpc/src/v1/impls/light/net.rs b/rpc/src/v1/impls/light/net.rs index 4dbc9d19085..3f73e010b93 100644 --- a/rpc/src/v1/impls/light/net.rs +++ b/rpc/src/v1/impls/light/net.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Net rpc implementation. use std::sync::Arc; diff --git a/rpc/src/v1/impls/light/parity.rs b/rpc/src/v1/impls/light/parity.rs index 74eddeb665c..f179ab23675 100644 --- a/rpc/src/v1/impls/light/parity.rs +++ b/rpc/src/v1/impls/light/parity.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Parity-specific rpc implementation. use std::sync::Arc; diff --git a/rpc/src/v1/impls/light/parity_set.rs b/rpc/src/v1/impls/light/parity_set.rs index ca4eb60cb45..08e386fe5db 100644 --- a/rpc/src/v1/impls/light/parity_set.rs +++ b/rpc/src/v1/impls/light/parity_set.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Parity-specific rpc interface for operations altering the settings. //! Implementation for light client. diff --git a/rpc/src/v1/impls/light/trace.rs b/rpc/src/v1/impls/light/trace.rs index 483b193653c..092189b7431 100644 --- a/rpc/src/v1/impls/light/trace.rs +++ b/rpc/src/v1/impls/light/trace.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Traces api implementation. diff --git a/rpc/src/v1/impls/mod.rs b/rpc/src/v1/impls/mod.rs index 44bc62883a3..5e334a3b6de 100644 --- a/rpc/src/v1/impls/mod.rs +++ b/rpc/src/v1/impls/mod.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Ethereum rpc interface implementation. diff --git a/rpc/src/v1/impls/net.rs b/rpc/src/v1/impls/net.rs index e86bd253f7a..188d67cd5aa 100644 --- a/rpc/src/v1/impls/net.rs +++ b/rpc/src/v1/impls/net.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Net rpc implementation. use std::sync::Arc; diff --git a/rpc/src/v1/impls/parity.rs b/rpc/src/v1/impls/parity.rs index 286e5d2ea7c..4252d763271 100644 --- a/rpc/src/v1/impls/parity.rs +++ b/rpc/src/v1/impls/parity.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Parity-specific rpc implementation. use std::sync::Arc; diff --git a/rpc/src/v1/impls/parity_accounts.rs b/rpc/src/v1/impls/parity_accounts.rs index 941a77796b9..f1038077e3f 100644 --- a/rpc/src/v1/impls/parity_accounts.rs +++ b/rpc/src/v1/impls/parity_accounts.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Account management (personal) rpc implementation use std::sync::Arc; diff --git a/rpc/src/v1/impls/parity_set.rs b/rpc/src/v1/impls/parity_set.rs index bff428dd5f4..fbd69230aa3 100644 --- a/rpc/src/v1/impls/parity_set.rs +++ b/rpc/src/v1/impls/parity_set.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . /// Parity-specific rpc interface for operations altering the settings. use std::io; diff --git a/rpc/src/v1/impls/personal.rs b/rpc/src/v1/impls/personal.rs index c9c3e78e5c0..56135544a68 100644 --- a/rpc/src/v1/impls/personal.rs +++ b/rpc/src/v1/impls/personal.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Account management (personal) rpc implementation use std::sync::Arc; diff --git a/rpc/src/v1/impls/private.rs b/rpc/src/v1/impls/private.rs index 1d5b69a8a41..8744390ba28 100644 --- a/rpc/src/v1/impls/private.rs +++ b/rpc/src/v1/impls/private.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Private transaction signing RPC implementation. diff --git a/rpc/src/v1/impls/pubsub.rs b/rpc/src/v1/impls/pubsub.rs index 193fec72bd7..fb147768dd9 100644 --- a/rpc/src/v1/impls/pubsub.rs +++ b/rpc/src/v1/impls/pubsub.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Parity-specific PUB-SUB rpc implementation. diff --git a/rpc/src/v1/impls/rpc.rs b/rpc/src/v1/impls/rpc.rs index 9f15cc1a384..f218c5ade6e 100644 --- a/rpc/src/v1/impls/rpc.rs +++ b/rpc/src/v1/impls/rpc.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! RPC generic methods implementation. use std::collections::BTreeMap; diff --git a/rpc/src/v1/impls/secretstore.rs b/rpc/src/v1/impls/secretstore.rs index cbb7580e6ae..f71de4e19f8 100644 --- a/rpc/src/v1/impls/secretstore.rs +++ b/rpc/src/v1/impls/secretstore.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! SecretStore-specific rpc implementation. diff --git a/rpc/src/v1/impls/signer.rs b/rpc/src/v1/impls/signer.rs index 5e909c38c59..8f83547ab20 100644 --- a/rpc/src/v1/impls/signer.rs +++ b/rpc/src/v1/impls/signer.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Transactions Confirmations rpc implementation diff --git a/rpc/src/v1/impls/signing.rs b/rpc/src/v1/impls/signing.rs index 1497ce0b2a2..c0ba955b7e6 100644 --- a/rpc/src/v1/impls/signing.rs +++ b/rpc/src/v1/impls/signing.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Signing RPC implementation. diff --git a/rpc/src/v1/impls/signing_unsafe.rs b/rpc/src/v1/impls/signing_unsafe.rs index c4f2117a5e1..eab2489f12a 100644 --- a/rpc/src/v1/impls/signing_unsafe.rs +++ b/rpc/src/v1/impls/signing_unsafe.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Unsafe Signing RPC implementation. diff --git a/rpc/src/v1/impls/traces.rs b/rpc/src/v1/impls/traces.rs index 825f8c17d51..92bf045f4cb 100644 --- a/rpc/src/v1/impls/traces.rs +++ b/rpc/src/v1/impls/traces.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Traces api implementation. diff --git a/rpc/src/v1/impls/web3.rs b/rpc/src/v1/impls/web3.rs index aa304472856..3dfe2a6653c 100644 --- a/rpc/src/v1/impls/web3.rs +++ b/rpc/src/v1/impls/web3.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Web3 rpc implementation. use hash::keccak; diff --git a/rpc/src/v1/informant.rs b/rpc/src/v1/informant.rs index dfa20ee4695..9455fa9ebbc 100644 --- a/rpc/src/v1/informant.rs +++ b/rpc/src/v1/informant.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! RPC Requests Statistics diff --git a/rpc/src/v1/metadata.rs b/rpc/src/v1/metadata.rs index 10486f496c8..3224bd2c039 100644 --- a/rpc/src/v1/metadata.rs +++ b/rpc/src/v1/metadata.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Parity RPC requests Metadata. use std::sync::Arc; diff --git a/rpc/src/v1/mod.rs b/rpc/src/v1/mod.rs index c9700ec4c0f..91915cacc6a 100644 --- a/rpc/src/v1/mod.rs +++ b/rpc/src/v1/mod.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Ethcore rpc v1. //! diff --git a/rpc/src/v1/tests/eth.rs b/rpc/src/v1/tests/eth.rs index 41042822852..ed9d39b6040 100644 --- a/rpc/src/v1/tests/eth.rs +++ b/rpc/src/v1/tests/eth.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! rpc integration tests. use std::env; @@ -95,7 +95,6 @@ impl EthTester { Self::from_spec(make_spec(chain)) }; - for b in chain.blocks_rlp() { if let Ok(block) = Unverified::from_rlp(b) { let _ = tester.client.import_block(block); diff --git a/rpc/src/v1/tests/helpers/miner_service.rs b/rpc/src/v1/tests/helpers/miner_service.rs index 95d7c4467b0..4392716548e 100644 --- a/rpc/src/v1/tests/helpers/miner_service.rs +++ b/rpc/src/v1/tests/helpers/miner_service.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Test implementation of miner service. diff --git a/rpc/src/v1/tests/helpers/mod.rs b/rpc/src/v1/tests/helpers/mod.rs index ba87428b989..0cecd271c05 100644 --- a/rpc/src/v1/tests/helpers/mod.rs +++ b/rpc/src/v1/tests/helpers/mod.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Test rpc services. diff --git a/rpc/src/v1/tests/helpers/snapshot_service.rs b/rpc/src/v1/tests/helpers/snapshot_service.rs index 4e45488dbe5..5450886bb42 100644 --- a/rpc/src/v1/tests/helpers/snapshot_service.rs +++ b/rpc/src/v1/tests/helpers/snapshot_service.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . use ethcore::snapshot::{ManifestData, RestorationStatus, SnapshotService}; diff --git a/rpc/src/v1/tests/helpers/sync_provider.rs b/rpc/src/v1/tests/helpers/sync_provider.rs index b65e543e557..0ef87cd8fb9 100644 --- a/rpc/src/v1/tests/helpers/sync_provider.rs +++ b/rpc/src/v1/tests/helpers/sync_provider.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Test implementation of SyncProvider. diff --git a/rpc/src/v1/tests/helpers/update_service.rs b/rpc/src/v1/tests/helpers/update_service.rs index 3c4d0b1d7de..ccf3315c47f 100644 --- a/rpc/src/v1/tests/helpers/update_service.rs +++ b/rpc/src/v1/tests/helpers/update_service.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Test implementation of fetch client. diff --git a/rpc/src/v1/tests/mocked/debug.rs b/rpc/src/v1/tests/mocked/debug.rs index d60e8ef8d6f..ffbe8d4d1c9 100644 --- a/rpc/src/v1/tests/mocked/debug.rs +++ b/rpc/src/v1/tests/mocked/debug.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . use std::sync::Arc; diff --git a/rpc/src/v1/tests/mocked/eth.rs b/rpc/src/v1/tests/mocked/eth.rs index e2585ea0589..f920996d1af 100644 --- a/rpc/src/v1/tests/mocked/eth.rs +++ b/rpc/src/v1/tests/mocked/eth.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . use std::str::FromStr; use std::collections::HashMap; diff --git a/rpc/src/v1/tests/mocked/eth_pubsub.rs b/rpc/src/v1/tests/mocked/eth_pubsub.rs index 077b1640405..6fd7394a4b2 100644 --- a/rpc/src/v1/tests/mocked/eth_pubsub.rs +++ b/rpc/src/v1/tests/mocked/eth_pubsub.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . use std::sync::Arc; diff --git a/rpc/src/v1/tests/mocked/manage_network.rs b/rpc/src/v1/tests/mocked/manage_network.rs index a742f03c2f9..560ed89ff22 100644 --- a/rpc/src/v1/tests/mocked/manage_network.rs +++ b/rpc/src/v1/tests/mocked/manage_network.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . use std::ops::Range; use sync::ManageNetwork; diff --git a/rpc/src/v1/tests/mocked/mod.rs b/rpc/src/v1/tests/mocked/mod.rs index 9eabe2aa217..80766ca4370 100644 --- a/rpc/src/v1/tests/mocked/mod.rs +++ b/rpc/src/v1/tests/mocked/mod.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! RPC mocked tests. Most of these test that the RPC server is serializing and forwarding //! method calls properly. diff --git a/rpc/src/v1/tests/mocked/net.rs b/rpc/src/v1/tests/mocked/net.rs index b94bf2b1138..ff6d152d825 100644 --- a/rpc/src/v1/tests/mocked/net.rs +++ b/rpc/src/v1/tests/mocked/net.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . use std::sync::Arc; use jsonrpc_core::IoHandler; diff --git a/rpc/src/v1/tests/mocked/parity.rs b/rpc/src/v1/tests/mocked/parity.rs index 074a704fe9f..f83ded550dc 100644 --- a/rpc/src/v1/tests/mocked/parity.rs +++ b/rpc/src/v1/tests/mocked/parity.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . use std::sync::Arc; use ethcore::account_provider::AccountProvider; diff --git a/rpc/src/v1/tests/mocked/parity_accounts.rs b/rpc/src/v1/tests/mocked/parity_accounts.rs index 4a1f72173bd..794d7f9cad2 100644 --- a/rpc/src/v1/tests/mocked/parity_accounts.rs +++ b/rpc/src/v1/tests/mocked/parity_accounts.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . use std::sync::Arc; diff --git a/rpc/src/v1/tests/mocked/parity_set.rs b/rpc/src/v1/tests/mocked/parity_set.rs index e1617ed3866..91a4c6c95a6 100644 --- a/rpc/src/v1/tests/mocked/parity_set.rs +++ b/rpc/src/v1/tests/mocked/parity_set.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . use std::sync::Arc; use std::str::FromStr; diff --git a/rpc/src/v1/tests/mocked/personal.rs b/rpc/src/v1/tests/mocked/personal.rs index 58e41144c4d..b74553bc7f8 100644 --- a/rpc/src/v1/tests/mocked/personal.rs +++ b/rpc/src/v1/tests/mocked/personal.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . use std::sync::Arc; use std::str::FromStr; diff --git a/rpc/src/v1/tests/mocked/pubsub.rs b/rpc/src/v1/tests/mocked/pubsub.rs index c5f965cdac2..c0f664d5fc1 100644 --- a/rpc/src/v1/tests/mocked/pubsub.rs +++ b/rpc/src/v1/tests/mocked/pubsub.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . use std::sync::{atomic, Arc}; diff --git a/rpc/src/v1/tests/mocked/rpc.rs b/rpc/src/v1/tests/mocked/rpc.rs index ed6503cea5f..d4634ac90e4 100644 --- a/rpc/src/v1/tests/mocked/rpc.rs +++ b/rpc/src/v1/tests/mocked/rpc.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . use std::collections::BTreeMap; use jsonrpc_core::IoHandler; diff --git a/rpc/src/v1/tests/mocked/secretstore.rs b/rpc/src/v1/tests/mocked/secretstore.rs index 7e28a52838e..3e4f284a2fe 100644 --- a/rpc/src/v1/tests/mocked/secretstore.rs +++ b/rpc/src/v1/tests/mocked/secretstore.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . use std::sync::Arc; diff --git a/rpc/src/v1/tests/mocked/signer.rs b/rpc/src/v1/tests/mocked/signer.rs index cd749f0f8fa..78f2e00098d 100644 --- a/rpc/src/v1/tests/mocked/signer.rs +++ b/rpc/src/v1/tests/mocked/signer.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . use std::sync::Arc; use std::str::FromStr; diff --git a/rpc/src/v1/tests/mocked/signing.rs b/rpc/src/v1/tests/mocked/signing.rs index c3cccd63b23..a142a40a53a 100644 --- a/rpc/src/v1/tests/mocked/signing.rs +++ b/rpc/src/v1/tests/mocked/signing.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . use std::thread; use std::str::FromStr; diff --git a/rpc/src/v1/tests/mocked/traces.rs b/rpc/src/v1/tests/mocked/traces.rs index 48c96377923..89cf198aa1d 100644 --- a/rpc/src/v1/tests/mocked/traces.rs +++ b/rpc/src/v1/tests/mocked/traces.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . use std::sync::Arc; diff --git a/rpc/src/v1/tests/mocked/web3.rs b/rpc/src/v1/tests/mocked/web3.rs index e16c5f4926f..79bcfe01dba 100644 --- a/rpc/src/v1/tests/mocked/web3.rs +++ b/rpc/src/v1/tests/mocked/web3.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . use jsonrpc_core::IoHandler; use version::version; diff --git a/rpc/src/v1/tests/mod.rs b/rpc/src/v1/tests/mod.rs index 471569e5231..83f9dca905f 100644 --- a/rpc/src/v1/tests/mod.rs +++ b/rpc/src/v1/tests/mod.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! RPC unit test moduleS diff --git a/rpc/src/v1/traits/debug.rs b/rpc/src/v1/traits/debug.rs index 0fedf0a5a8e..3b490e6f2aa 100644 --- a/rpc/src/v1/traits/debug.rs +++ b/rpc/src/v1/traits/debug.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Debug RPC interface. diff --git a/rpc/src/v1/traits/eth.rs b/rpc/src/v1/traits/eth.rs index 817da88f75e..cf5469773bd 100644 --- a/rpc/src/v1/traits/eth.rs +++ b/rpc/src/v1/traits/eth.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Eth rpc interface. use jsonrpc_core::{Result, BoxFuture}; diff --git a/rpc/src/v1/traits/eth_pubsub.rs b/rpc/src/v1/traits/eth_pubsub.rs index 38babeef42c..d584b7dbc92 100644 --- a/rpc/src/v1/traits/eth_pubsub.rs +++ b/rpc/src/v1/traits/eth_pubsub.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Eth PUB-SUB rpc interface. diff --git a/rpc/src/v1/traits/eth_signing.rs b/rpc/src/v1/traits/eth_signing.rs index 27657475bab..3b7d88446e6 100644 --- a/rpc/src/v1/traits/eth_signing.rs +++ b/rpc/src/v1/traits/eth_signing.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Eth rpc interface. diff --git a/rpc/src/v1/traits/mod.rs b/rpc/src/v1/traits/mod.rs index 7c4f617e15c..130fcae1053 100644 --- a/rpc/src/v1/traits/mod.rs +++ b/rpc/src/v1/traits/mod.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Ethereum rpc interfaces. diff --git a/rpc/src/v1/traits/net.rs b/rpc/src/v1/traits/net.rs index d70a4653a6e..b8bdb196070 100644 --- a/rpc/src/v1/traits/net.rs +++ b/rpc/src/v1/traits/net.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Net rpc interface. use jsonrpc_core::Result; diff --git a/rpc/src/v1/traits/parity.rs b/rpc/src/v1/traits/parity.rs index c4a697783e7..8333498809c 100644 --- a/rpc/src/v1/traits/parity.rs +++ b/rpc/src/v1/traits/parity.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Parity-specific rpc interface. diff --git a/rpc/src/v1/traits/parity_accounts.rs b/rpc/src/v1/traits/parity_accounts.rs index 029f06bf2ff..8037161e054 100644 --- a/rpc/src/v1/traits/parity_accounts.rs +++ b/rpc/src/v1/traits/parity_accounts.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Parity Accounts-related rpc interface. use std::collections::BTreeMap; diff --git a/rpc/src/v1/traits/parity_set.rs b/rpc/src/v1/traits/parity_set.rs index 9335ddc273c..66f91a524dd 100644 --- a/rpc/src/v1/traits/parity_set.rs +++ b/rpc/src/v1/traits/parity_set.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Parity-specific rpc interface for operations altering the settings. diff --git a/rpc/src/v1/traits/parity_signing.rs b/rpc/src/v1/traits/parity_signing.rs index 208422222ec..e716204be7a 100644 --- a/rpc/src/v1/traits/parity_signing.rs +++ b/rpc/src/v1/traits/parity_signing.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! ParitySigning rpc interface. use jsonrpc_core::{BoxFuture, Result}; diff --git a/rpc/src/v1/traits/personal.rs b/rpc/src/v1/traits/personal.rs index 0073d0a2810..8965564e7b3 100644 --- a/rpc/src/v1/traits/personal.rs +++ b/rpc/src/v1/traits/personal.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Personal rpc interface. use eip_712::EIP712; diff --git a/rpc/src/v1/traits/private.rs b/rpc/src/v1/traits/private.rs index fdc28a817b4..f7168c06c83 100644 --- a/rpc/src/v1/traits/private.rs +++ b/rpc/src/v1/traits/private.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! SecretStore-specific rpc interface. diff --git a/rpc/src/v1/traits/pubsub.rs b/rpc/src/v1/traits/pubsub.rs index 840de8d4b0f..007e1dae406 100644 --- a/rpc/src/v1/traits/pubsub.rs +++ b/rpc/src/v1/traits/pubsub.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Parity-specific PUB-SUB rpc interface. diff --git a/rpc/src/v1/traits/rpc.rs b/rpc/src/v1/traits/rpc.rs index 8c0b3c2c905..4ec58b24246 100644 --- a/rpc/src/v1/traits/rpc.rs +++ b/rpc/src/v1/traits/rpc.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! RPC interface. diff --git a/rpc/src/v1/traits/secretstore.rs b/rpc/src/v1/traits/secretstore.rs index 83f63b2802b..0a5216c493b 100644 --- a/rpc/src/v1/traits/secretstore.rs +++ b/rpc/src/v1/traits/secretstore.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! SecretStore-specific rpc interface. diff --git a/rpc/src/v1/traits/signer.rs b/rpc/src/v1/traits/signer.rs index 4ede0ce534a..afaba5ebec6 100644 --- a/rpc/src/v1/traits/signer.rs +++ b/rpc/src/v1/traits/signer.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Parity Signer-related rpc interface. use jsonrpc_core::{BoxFuture, Result}; diff --git a/rpc/src/v1/traits/traces.rs b/rpc/src/v1/traits/traces.rs index 00572ce38db..f6efae7395a 100644 --- a/rpc/src/v1/traits/traces.rs +++ b/rpc/src/v1/traits/traces.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Traces specific rpc interface. diff --git a/rpc/src/v1/traits/web3.rs b/rpc/src/v1/traits/web3.rs index 713cd9a32d3..e50c0963a6f 100644 --- a/rpc/src/v1/traits/web3.rs +++ b/rpc/src/v1/traits/web3.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Web3 rpc interface. use jsonrpc_core::Result; diff --git a/rpc/src/v1/types/account_info.rs b/rpc/src/v1/types/account_info.rs index e0e2464d89b..a35537b0296 100644 --- a/rpc/src/v1/types/account_info.rs +++ b/rpc/src/v1/types/account_info.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Return types for RPC calls diff --git a/rpc/src/v1/types/block.rs b/rpc/src/v1/types/block.rs index 73511ab389c..b3a6018f674 100644 --- a/rpc/src/v1/types/block.rs +++ b/rpc/src/v1/types/block.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . use std::ops::Deref; use std::collections::BTreeMap; diff --git a/rpc/src/v1/types/block_number.rs b/rpc/src/v1/types/block_number.rs index 085886998e2..64b100d5aa7 100644 --- a/rpc/src/v1/types/block_number.rs +++ b/rpc/src/v1/types/block_number.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . use std::fmt; use serde::{Deserialize, Deserializer, Serialize, Serializer}; diff --git a/rpc/src/v1/types/bytes.rs b/rpc/src/v1/types/bytes.rs index 0bd62c601c9..12edd76bc86 100644 --- a/rpc/src/v1/types/bytes.rs +++ b/rpc/src/v1/types/bytes.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Serializable wrapper around vector of bytes diff --git a/rpc/src/v1/types/call_request.rs b/rpc/src/v1/types/call_request.rs index 60b06067784..c2657315093 100644 --- a/rpc/src/v1/types/call_request.rs +++ b/rpc/src/v1/types/call_request.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . use v1::helpers::CallRequest as Request; use v1::types::{Bytes, H160, U256}; diff --git a/rpc/src/v1/types/confirmations.rs b/rpc/src/v1/types/confirmations.rs index e04bda95729..2a62e2cfae5 100644 --- a/rpc/src/v1/types/confirmations.rs +++ b/rpc/src/v1/types/confirmations.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Types used in Confirmations queue (Trusted Signer) diff --git a/rpc/src/v1/types/consensus_status.rs b/rpc/src/v1/types/consensus_status.rs index 2fedeb018c5..15047ed0518 100644 --- a/rpc/src/v1/types/consensus_status.rs +++ b/rpc/src/v1/types/consensus_status.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . use semver; use v1::types::{H160, H256}; diff --git a/rpc/src/v1/types/derivation.rs b/rpc/src/v1/types/derivation.rs index 0abd0868817..a2947a89f70 100644 --- a/rpc/src/v1/types/derivation.rs +++ b/rpc/src/v1/types/derivation.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . use std::fmt; use serde::{Deserialize, Deserializer}; diff --git a/rpc/src/v1/types/eip191.rs b/rpc/src/v1/types/eip191.rs index d5dce32557f..16b8536bf89 100644 --- a/rpc/src/v1/types/eip191.rs +++ b/rpc/src/v1/types/eip191.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! EIP-191 specific types use serde::{Deserialize, Deserializer}; diff --git a/rpc/src/v1/types/filter.rs b/rpc/src/v1/types/filter.rs index fbed2fd8498..dfcf78acf42 100644 --- a/rpc/src/v1/types/filter.rs +++ b/rpc/src/v1/types/filter.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . use jsonrpc_core::{Error as RpcError}; use serde::de::{Error, DeserializeOwned}; diff --git a/rpc/src/v1/types/hash.rs b/rpc/src/v1/types/hash.rs index 07c7ef24f45..9a51b063061 100644 --- a/rpc/src/v1/types/hash.rs +++ b/rpc/src/v1/types/hash.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . use std::fmt; use std::str::FromStr; diff --git a/rpc/src/v1/types/histogram.rs b/rpc/src/v1/types/histogram.rs index 96c50a48b83..5b7ab1bb68f 100644 --- a/rpc/src/v1/types/histogram.rs +++ b/rpc/src/v1/types/histogram.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Gas prices histogram. diff --git a/rpc/src/v1/types/index.rs b/rpc/src/v1/types/index.rs index 4c8af600045..3f4b4e31705 100644 --- a/rpc/src/v1/types/index.rs +++ b/rpc/src/v1/types/index.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . use std::fmt; use serde::{Deserialize, Deserializer}; diff --git a/rpc/src/v1/types/log.rs b/rpc/src/v1/types/log.rs index 9074ffeda25..dd8f3d31cca 100644 --- a/rpc/src/v1/types/log.rs +++ b/rpc/src/v1/types/log.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . use types::log_entry::{LocalizedLogEntry, LogEntry}; use v1::types::{Bytes, H160, H256, U256}; diff --git a/rpc/src/v1/types/mod.rs b/rpc/src/v1/types/mod.rs index cde98e59784..9859bc909dc 100644 --- a/rpc/src/v1/types/mod.rs +++ b/rpc/src/v1/types/mod.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! RPC types diff --git a/rpc/src/v1/types/node_kind.rs b/rpc/src/v1/types/node_kind.rs index a4418d09e52..f02f21939d0 100644 --- a/rpc/src/v1/types/node_kind.rs +++ b/rpc/src/v1/types/node_kind.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Description of the node. diff --git a/rpc/src/v1/types/private_receipt.rs b/rpc/src/v1/types/private_receipt.rs index 246f358b128..a9e1eef01e1 100644 --- a/rpc/src/v1/types/private_receipt.rs +++ b/rpc/src/v1/types/private_receipt.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . use v1::types::{H160, H256, TransactionRequest}; use ethcore_private_tx::{Receipt as EthPrivateReceipt}; diff --git a/rpc/src/v1/types/provenance.rs b/rpc/src/v1/types/provenance.rs index 1ad7cfe1b13..2d9301b49ef 100644 --- a/rpc/src/v1/types/provenance.rs +++ b/rpc/src/v1/types/provenance.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Request Provenance diff --git a/rpc/src/v1/types/pubsub.rs b/rpc/src/v1/types/pubsub.rs index fb4f217c25e..179ee0e5c35 100644 --- a/rpc/src/v1/types/pubsub.rs +++ b/rpc/src/v1/types/pubsub.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Pub-Sub types. diff --git a/rpc/src/v1/types/receipt.rs b/rpc/src/v1/types/receipt.rs index 32f74f1cbef..f57c988ffea 100644 --- a/rpc/src/v1/types/receipt.rs +++ b/rpc/src/v1/types/receipt.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . use v1::types::{Log, H160, H256, H2048, U256, U64}; use types::receipt::{Receipt as EthReceipt, RichReceipt, LocalizedReceipt, TransactionOutcome}; diff --git a/rpc/src/v1/types/rpc_settings.rs b/rpc/src/v1/types/rpc_settings.rs index 3be781f2061..63dfba7a8e4 100644 --- a/rpc/src/v1/types/rpc_settings.rs +++ b/rpc/src/v1/types/rpc_settings.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! RPC Settings data. diff --git a/rpc/src/v1/types/secretstore.rs b/rpc/src/v1/types/secretstore.rs index 22b61b5e152..0de3aaac673 100644 --- a/rpc/src/v1/types/secretstore.rs +++ b/rpc/src/v1/types/secretstore.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . use v1::types::{Bytes, H512}; diff --git a/rpc/src/v1/types/sync.rs b/rpc/src/v1/types/sync.rs index 82b1b41a80b..b56d1f9ccb1 100644 --- a/rpc/src/v1/types/sync.rs +++ b/rpc/src/v1/types/sync.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . use std::collections::BTreeMap; use sync::{self, PeerInfo as SyncPeerInfo, TransactionStats as SyncTransactionStats}; diff --git a/rpc/src/v1/types/trace.rs b/rpc/src/v1/types/trace.rs index 8de499ff2df..209523d3f86 100644 --- a/rpc/src/v1/types/trace.rs +++ b/rpc/src/v1/types/trace.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . use std::collections::BTreeMap; diff --git a/rpc/src/v1/types/trace_filter.rs b/rpc/src/v1/types/trace_filter.rs index 71a9021386a..d5ef60f47b4 100644 --- a/rpc/src/v1/types/trace_filter.rs +++ b/rpc/src/v1/types/trace_filter.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Trace filter deserialization. diff --git a/rpc/src/v1/types/transaction.rs b/rpc/src/v1/types/transaction.rs index 0b2547a3826..dc7d6b5a152 100644 --- a/rpc/src/v1/types/transaction.rs +++ b/rpc/src/v1/types/transaction.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . use std::sync::Arc; diff --git a/rpc/src/v1/types/transaction_condition.rs b/rpc/src/v1/types/transaction_condition.rs index 29a3d8b1d96..589848fe549 100644 --- a/rpc/src/v1/types/transaction_condition.rs +++ b/rpc/src/v1/types/transaction_condition.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . use types::transaction; diff --git a/rpc/src/v1/types/transaction_request.rs b/rpc/src/v1/types/transaction_request.rs index 58cac6dd44c..bfefde462d6 100644 --- a/rpc/src/v1/types/transaction_request.rs +++ b/rpc/src/v1/types/transaction_request.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! `TransactionRequest` type diff --git a/rpc/src/v1/types/uint.rs b/rpc/src/v1/types/uint.rs index cb6dd5d3fdb..122cb2269a4 100644 --- a/rpc/src/v1/types/uint.rs +++ b/rpc/src/v1/types/uint.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . use std::str::FromStr; use std::fmt; diff --git a/rpc/src/v1/types/work.rs b/rpc/src/v1/types/work.rs index 5fdc117a202..b7c312162bd 100644 --- a/rpc/src/v1/types/work.rs +++ b/rpc/src/v1/types/work.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . use super::{H256, U256}; diff --git a/secret-store/src/acl_storage.rs b/secret-store/src/acl_storage.rs index 5704d42b3f8..98eab5d932c 100644 --- a/secret-store/src/acl_storage.rs +++ b/secret-store/src/acl_storage.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . use std::sync::Arc; use std::collections::{HashMap, HashSet}; diff --git a/secret-store/src/helpers.rs b/secret-store/src/helpers.rs index 3bc49116e0d..19b19d1ba10 100644 --- a/secret-store/src/helpers.rs +++ b/secret-store/src/helpers.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . use ethcore::client::{Client, BlockChainClient, BlockId}; use ethereum_types::H256; diff --git a/secret-store/src/key_server.rs b/secret-store/src/key_server.rs index 93baba111a4..066c6fcc61c 100644 --- a/secret-store/src/key_server.rs +++ b/secret-store/src/key_server.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . use std::collections::BTreeSet; use std::sync::Arc; diff --git a/secret-store/src/key_server_cluster/admin_sessions/key_version_negotiation_session.rs b/secret-store/src/key_server_cluster/admin_sessions/key_version_negotiation_session.rs index 4839ac41e80..58801948664 100644 --- a/secret-store/src/key_server_cluster/admin_sessions/key_version_negotiation_session.rs +++ b/secret-store/src/key_server_cluster/admin_sessions/key_version_negotiation_session.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . use std::sync::Arc; use std::collections::{BTreeSet, BTreeMap}; diff --git a/secret-store/src/key_server_cluster/admin_sessions/mod.rs b/secret-store/src/key_server_cluster/admin_sessions/mod.rs index 1fedc1db404..2509a76c4ac 100644 --- a/secret-store/src/key_server_cluster/admin_sessions/mod.rs +++ b/secret-store/src/key_server_cluster/admin_sessions/mod.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . pub mod key_version_negotiation_session; pub mod servers_set_change_session; diff --git a/secret-store/src/key_server_cluster/admin_sessions/servers_set_change_session.rs b/secret-store/src/key_server_cluster/admin_sessions/servers_set_change_session.rs index af612c3d9aa..4d3de950052 100644 --- a/secret-store/src/key_server_cluster/admin_sessions/servers_set_change_session.rs +++ b/secret-store/src/key_server_cluster/admin_sessions/servers_set_change_session.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . use std::sync::Arc; use std::collections::{BTreeSet, BTreeMap}; diff --git a/secret-store/src/key_server_cluster/admin_sessions/sessions_queue.rs b/secret-store/src/key_server_cluster/admin_sessions/sessions_queue.rs index 7657dfc8263..91d3bc7b893 100644 --- a/secret-store/src/key_server_cluster/admin_sessions/sessions_queue.rs +++ b/secret-store/src/key_server_cluster/admin_sessions/sessions_queue.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . use std::sync::Arc; use std::collections::{VecDeque, BTreeSet}; diff --git a/secret-store/src/key_server_cluster/admin_sessions/share_add_session.rs b/secret-store/src/key_server_cluster/admin_sessions/share_add_session.rs index 51a027dca38..0c771006a56 100644 --- a/secret-store/src/key_server_cluster/admin_sessions/share_add_session.rs +++ b/secret-store/src/key_server_cluster/admin_sessions/share_add_session.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . use std::sync::Arc; use std::collections::{BTreeSet, BTreeMap}; diff --git a/secret-store/src/key_server_cluster/admin_sessions/share_change_session.rs b/secret-store/src/key_server_cluster/admin_sessions/share_change_session.rs index 48cb81c137a..bd2bed2d61d 100644 --- a/secret-store/src/key_server_cluster/admin_sessions/share_change_session.rs +++ b/secret-store/src/key_server_cluster/admin_sessions/share_change_session.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . use std::sync::Arc; use std::collections::{BTreeSet, BTreeMap}; diff --git a/secret-store/src/key_server_cluster/client_sessions/decryption_session.rs b/secret-store/src/key_server_cluster/client_sessions/decryption_session.rs index 9172a03b1a8..ccb34e9828a 100644 --- a/secret-store/src/key_server_cluster/client_sessions/decryption_session.rs +++ b/secret-store/src/key_server_cluster/client_sessions/decryption_session.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . use std::collections::{BTreeSet, BTreeMap}; use std::sync::Arc; diff --git a/secret-store/src/key_server_cluster/client_sessions/encryption_session.rs b/secret-store/src/key_server_cluster/client_sessions/encryption_session.rs index 70532b69052..a3eabc35c61 100644 --- a/secret-store/src/key_server_cluster/client_sessions/encryption_session.rs +++ b/secret-store/src/key_server_cluster/client_sessions/encryption_session.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . use std::collections::BTreeMap; use std::fmt::{Debug, Formatter, Error as FmtError}; diff --git a/secret-store/src/key_server_cluster/client_sessions/generation_session.rs b/secret-store/src/key_server_cluster/client_sessions/generation_session.rs index 8984f61fff7..da2ffebc728 100644 --- a/secret-store/src/key_server_cluster/client_sessions/generation_session.rs +++ b/secret-store/src/key_server_cluster/client_sessions/generation_session.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . use std::collections::{BTreeSet, BTreeMap, VecDeque}; use std::fmt::{Debug, Formatter, Error as FmtError}; diff --git a/secret-store/src/key_server_cluster/client_sessions/mod.rs b/secret-store/src/key_server_cluster/client_sessions/mod.rs index 133edcffbb2..7815a74fbf7 100644 --- a/secret-store/src/key_server_cluster/client_sessions/mod.rs +++ b/secret-store/src/key_server_cluster/client_sessions/mod.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . pub mod decryption_session; pub mod encryption_session; diff --git a/secret-store/src/key_server_cluster/client_sessions/signing_session_ecdsa.rs b/secret-store/src/key_server_cluster/client_sessions/signing_session_ecdsa.rs index 670fa138f2c..3744f6c2044 100644 --- a/secret-store/src/key_server_cluster/client_sessions/signing_session_ecdsa.rs +++ b/secret-store/src/key_server_cluster/client_sessions/signing_session_ecdsa.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . use std::collections::{BTreeSet, BTreeMap}; use std::collections::btree_map::Entry; diff --git a/secret-store/src/key_server_cluster/client_sessions/signing_session_schnorr.rs b/secret-store/src/key_server_cluster/client_sessions/signing_session_schnorr.rs index 376eab26b4f..075e456fdb5 100644 --- a/secret-store/src/key_server_cluster/client_sessions/signing_session_schnorr.rs +++ b/secret-store/src/key_server_cluster/client_sessions/signing_session_schnorr.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . use std::collections::BTreeSet; use std::sync::Arc; diff --git a/secret-store/src/key_server_cluster/cluster.rs b/secret-store/src/key_server_cluster/cluster.rs index 61fb2bcecd7..282e7c2511d 100644 --- a/secret-store/src/key_server_cluster/cluster.rs +++ b/secret-store/src/key_server_cluster/cluster.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . use std::io; use std::time::{Duration, Instant}; diff --git a/secret-store/src/key_server_cluster/cluster_sessions.rs b/secret-store/src/key_server_cluster/cluster_sessions.rs index d068c25b93a..cce4b18c3b4 100644 --- a/secret-store/src/key_server_cluster/cluster_sessions.rs +++ b/secret-store/src/key_server_cluster/cluster_sessions.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . use std::time::{Duration, Instant}; use std::sync::{Arc, Weak}; diff --git a/secret-store/src/key_server_cluster/cluster_sessions_creator.rs b/secret-store/src/key_server_cluster/cluster_sessions_creator.rs index 15192542b5c..23a3657c42b 100644 --- a/secret-store/src/key_server_cluster/cluster_sessions_creator.rs +++ b/secret-store/src/key_server_cluster/cluster_sessions_creator.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . use std::sync::Arc; use std::sync::atomic::{AtomicBool, AtomicUsize, Ordering}; diff --git a/secret-store/src/key_server_cluster/connection_trigger.rs b/secret-store/src/key_server_cluster/connection_trigger.rs index 2de1a595497..3ea1a0a302e 100644 --- a/secret-store/src/key_server_cluster/connection_trigger.rs +++ b/secret-store/src/key_server_cluster/connection_trigger.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . use std::collections::{BTreeSet, BTreeMap}; use std::collections::btree_map::Entry; diff --git a/secret-store/src/key_server_cluster/connection_trigger_with_migration.rs b/secret-store/src/key_server_cluster/connection_trigger_with_migration.rs index cc8db3e6652..9607949c5ad 100644 --- a/secret-store/src/key_server_cluster/connection_trigger_with_migration.rs +++ b/secret-store/src/key_server_cluster/connection_trigger_with_migration.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . use std::collections::{BTreeSet, BTreeMap}; use std::net::SocketAddr; diff --git a/secret-store/src/key_server_cluster/io/deadline.rs b/secret-store/src/key_server_cluster/io/deadline.rs index f3b660cbf3b..7c08932578a 100644 --- a/secret-store/src/key_server_cluster/io/deadline.rs +++ b/secret-store/src/key_server_cluster/io/deadline.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . use std::io; use std::time::Duration; diff --git a/secret-store/src/key_server_cluster/io/handshake.rs b/secret-store/src/key_server_cluster/io/handshake.rs index 5081004d0b3..f378cba0985 100644 --- a/secret-store/src/key_server_cluster/io/handshake.rs +++ b/secret-store/src/key_server_cluster/io/handshake.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . ///! Given: two nodes each holding its own `self_key_pair`. ///! diff --git a/secret-store/src/key_server_cluster/io/message.rs b/secret-store/src/key_server_cluster/io/message.rs index e8e01a91f52..0ce2b7c01ff 100644 --- a/secret-store/src/key_server_cluster/io/message.rs +++ b/secret-store/src/key_server_cluster/io/message.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . use std::io::Cursor; use std::u16; diff --git a/secret-store/src/key_server_cluster/io/mod.rs b/secret-store/src/key_server_cluster/io/mod.rs index 02adb72ad77..c1cfe55665c 100644 --- a/secret-store/src/key_server_cluster/io/mod.rs +++ b/secret-store/src/key_server_cluster/io/mod.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . mod deadline; mod handshake; diff --git a/secret-store/src/key_server_cluster/io/read_header.rs b/secret-store/src/key_server_cluster/io/read_header.rs index 803e01b95b4..3806537ebff 100644 --- a/secret-store/src/key_server_cluster/io/read_header.rs +++ b/secret-store/src/key_server_cluster/io/read_header.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . use std::io; use futures::{Future, Poll, Async}; diff --git a/secret-store/src/key_server_cluster/io/read_message.rs b/secret-store/src/key_server_cluster/io/read_message.rs index b1d0395d57a..e16de57a36e 100644 --- a/secret-store/src/key_server_cluster/io/read_message.rs +++ b/secret-store/src/key_server_cluster/io/read_message.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . use std::io; use futures::{Poll, Future, Async}; diff --git a/secret-store/src/key_server_cluster/io/read_payload.rs b/secret-store/src/key_server_cluster/io/read_payload.rs index da4f4d3c019..9f3a47f6624 100644 --- a/secret-store/src/key_server_cluster/io/read_payload.rs +++ b/secret-store/src/key_server_cluster/io/read_payload.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . use std::io; use futures::{Poll, Future}; diff --git a/secret-store/src/key_server_cluster/io/shared_tcp_stream.rs b/secret-store/src/key_server_cluster/io/shared_tcp_stream.rs index fb8abb47d08..99d6e4ca788 100644 --- a/secret-store/src/key_server_cluster/io/shared_tcp_stream.rs +++ b/secret-store/src/key_server_cluster/io/shared_tcp_stream.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . use std::sync::Arc; use std::net::Shutdown; diff --git a/secret-store/src/key_server_cluster/io/write_message.rs b/secret-store/src/key_server_cluster/io/write_message.rs index d337a3705a0..15823730a24 100644 --- a/secret-store/src/key_server_cluster/io/write_message.rs +++ b/secret-store/src/key_server_cluster/io/write_message.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . use std::io; use futures::{Future, Poll}; diff --git a/secret-store/src/key_server_cluster/jobs/consensus_session.rs b/secret-store/src/key_server_cluster/jobs/consensus_session.rs index 6d2866750ee..7daf05d3b41 100644 --- a/secret-store/src/key_server_cluster/jobs/consensus_session.rs +++ b/secret-store/src/key_server_cluster/jobs/consensus_session.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . use std::collections::BTreeSet; use key_server_cluster::{Error, NodeId, SessionMeta, Requester}; diff --git a/secret-store/src/key_server_cluster/jobs/decryption_job.rs b/secret-store/src/key_server_cluster/jobs/decryption_job.rs index debffa25e0a..ca3df29b2da 100644 --- a/secret-store/src/key_server_cluster/jobs/decryption_job.rs +++ b/secret-store/src/key_server_cluster/jobs/decryption_job.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . use std::collections::{BTreeSet, BTreeMap}; use ethereum_types::H256; diff --git a/secret-store/src/key_server_cluster/jobs/dummy_job.rs b/secret-store/src/key_server_cluster/jobs/dummy_job.rs index f7e771d1558..122903eb60d 100644 --- a/secret-store/src/key_server_cluster/jobs/dummy_job.rs +++ b/secret-store/src/key_server_cluster/jobs/dummy_job.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . use std::collections::{BTreeMap, BTreeSet}; use key_server_cluster::{Error, NodeId}; diff --git a/secret-store/src/key_server_cluster/jobs/job_session.rs b/secret-store/src/key_server_cluster/jobs/job_session.rs index ab0300db361..d76f8addafb 100644 --- a/secret-store/src/key_server_cluster/jobs/job_session.rs +++ b/secret-store/src/key_server_cluster/jobs/job_session.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . use std::collections::{BTreeSet, BTreeMap}; use key_server_cluster::{Error, NodeId, SessionMeta}; diff --git a/secret-store/src/key_server_cluster/jobs/key_access_job.rs b/secret-store/src/key_server_cluster/jobs/key_access_job.rs index 7ded90afabb..075d7320f2b 100644 --- a/secret-store/src/key_server_cluster/jobs/key_access_job.rs +++ b/secret-store/src/key_server_cluster/jobs/key_access_job.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . use std::sync::Arc; use std::collections::{BTreeSet, BTreeMap}; diff --git a/secret-store/src/key_server_cluster/jobs/mod.rs b/secret-store/src/key_server_cluster/jobs/mod.rs index 75d07e313b7..543f3e1bbb8 100644 --- a/secret-store/src/key_server_cluster/jobs/mod.rs +++ b/secret-store/src/key_server_cluster/jobs/mod.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . pub mod consensus_session; pub mod decryption_job; diff --git a/secret-store/src/key_server_cluster/jobs/servers_set_change_access_job.rs b/secret-store/src/key_server_cluster/jobs/servers_set_change_access_job.rs index 6c142d2a2f8..ace5021a058 100644 --- a/secret-store/src/key_server_cluster/jobs/servers_set_change_access_job.rs +++ b/secret-store/src/key_server_cluster/jobs/servers_set_change_access_job.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . use std::collections::{BTreeSet, BTreeMap}; use ethkey::{Public, Signature, recover}; diff --git a/secret-store/src/key_server_cluster/jobs/signing_job_ecdsa.rs b/secret-store/src/key_server_cluster/jobs/signing_job_ecdsa.rs index 6349c2e7db4..0628b1e75cb 100644 --- a/secret-store/src/key_server_cluster/jobs/signing_job_ecdsa.rs +++ b/secret-store/src/key_server_cluster/jobs/signing_job_ecdsa.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . use std::collections::{BTreeSet, BTreeMap}; use ethkey::{Public, Secret, Signature}; diff --git a/secret-store/src/key_server_cluster/jobs/signing_job_schnorr.rs b/secret-store/src/key_server_cluster/jobs/signing_job_schnorr.rs index 4d1a0e7d909..7e41dce47ce 100644 --- a/secret-store/src/key_server_cluster/jobs/signing_job_schnorr.rs +++ b/secret-store/src/key_server_cluster/jobs/signing_job_schnorr.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . use std::collections::{BTreeSet, BTreeMap}; use ethkey::{Public, Secret}; diff --git a/secret-store/src/key_server_cluster/jobs/unknown_sessions_job.rs b/secret-store/src/key_server_cluster/jobs/unknown_sessions_job.rs index 908afa1ecc6..33eca6583d6 100644 --- a/secret-store/src/key_server_cluster/jobs/unknown_sessions_job.rs +++ b/secret-store/src/key_server_cluster/jobs/unknown_sessions_job.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . use std::sync::Arc; use std::collections::{BTreeSet, BTreeMap}; diff --git a/secret-store/src/key_server_cluster/math.rs b/secret-store/src/key_server_cluster/math.rs index bb5e45fcc0a..60d48b7f3c1 100644 --- a/secret-store/src/key_server_cluster/math.rs +++ b/secret-store/src/key_server_cluster/math.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . use ethkey::{Public, Secret, Signature, Random, Generator, math}; use ethereum_types::{H256, U256}; diff --git a/secret-store/src/key_server_cluster/message.rs b/secret-store/src/key_server_cluster/message.rs index 1bc487eb78f..4b850ec3d3b 100644 --- a/secret-store/src/key_server_cluster/message.rs +++ b/secret-store/src/key_server_cluster/message.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . use std::fmt; use std::collections::{BTreeSet, BTreeMap}; diff --git a/secret-store/src/key_server_cluster/mod.rs b/secret-store/src/key_server_cluster/mod.rs index 018d70d305f..3db29ba7ede 100644 --- a/secret-store/src/key_server_cluster/mod.rs +++ b/secret-store/src/key_server_cluster/mod.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . use super::types::ServerKeyId; diff --git a/secret-store/src/key_server_cluster/net/accept_connection.rs b/secret-store/src/key_server_cluster/net/accept_connection.rs index 3dfb4bdb4a9..3b66fe1d7f0 100644 --- a/secret-store/src/key_server_cluster/net/accept_connection.rs +++ b/secret-store/src/key_server_cluster/net/accept_connection.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . use std::io; use std::sync::Arc; diff --git a/secret-store/src/key_server_cluster/net/connect.rs b/secret-store/src/key_server_cluster/net/connect.rs index 438ce9e1279..3c2cbc2693a 100644 --- a/secret-store/src/key_server_cluster/net/connect.rs +++ b/secret-store/src/key_server_cluster/net/connect.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . use std::sync::Arc; use std::collections::BTreeSet; diff --git a/secret-store/src/key_server_cluster/net/connection.rs b/secret-store/src/key_server_cluster/net/connection.rs index 7776e97a74e..8688db2897c 100644 --- a/secret-store/src/key_server_cluster/net/connection.rs +++ b/secret-store/src/key_server_cluster/net/connection.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . use std::net; use ethkey::KeyPair; diff --git a/secret-store/src/key_server_cluster/net/mod.rs b/secret-store/src/key_server_cluster/net/mod.rs index e76f4f476c6..a040596af82 100644 --- a/secret-store/src/key_server_cluster/net/mod.rs +++ b/secret-store/src/key_server_cluster/net/mod.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . mod accept_connection; mod connect; diff --git a/secret-store/src/key_server_set.rs b/secret-store/src/key_server_set.rs index 2e5e6816d4f..50036d04d5d 100644 --- a/secret-store/src/key_server_set.rs +++ b/secret-store/src/key_server_set.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . use std::sync::Arc; use std::net::SocketAddr; diff --git a/secret-store/src/key_storage.rs b/secret-store/src/key_storage.rs index f19630c5c6e..36edae43ed5 100644 --- a/secret-store/src/key_storage.rs +++ b/secret-store/src/key_storage.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . use std::collections::BTreeMap; use std::sync::Arc; diff --git a/secret-store/src/lib.rs b/secret-store/src/lib.rs index d0a430e2176..6471e5614ba 100644 --- a/secret-store/src/lib.rs +++ b/secret-store/src/lib.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . extern crate byteorder; extern crate common_types; diff --git a/secret-store/src/listener/http_listener.rs b/secret-store/src/listener/http_listener.rs index fdaac861b55..cbe6c42d3a7 100644 --- a/secret-store/src/listener/http_listener.rs +++ b/secret-store/src/listener/http_listener.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . use std::collections::BTreeSet; use std::sync::{Arc, Weak}; diff --git a/secret-store/src/listener/mod.rs b/secret-store/src/listener/mod.rs index 8837e7ffd63..b28375d8ec2 100644 --- a/secret-store/src/listener/mod.rs +++ b/secret-store/src/listener/mod.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . pub mod http_listener; pub mod service_contract; diff --git a/secret-store/src/listener/service_contract.rs b/secret-store/src/listener/service_contract.rs index 4bb99eb5a32..47bb996e358 100644 --- a/secret-store/src/listener/service_contract.rs +++ b/secret-store/src/listener/service_contract.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . use std::sync::Arc; use parking_lot::RwLock; diff --git a/secret-store/src/listener/service_contract_aggregate.rs b/secret-store/src/listener/service_contract_aggregate.rs index cc2e97b8d42..29a4730e2b6 100644 --- a/secret-store/src/listener/service_contract_aggregate.rs +++ b/secret-store/src/listener/service_contract_aggregate.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . use std::sync::Arc; use bytes::Bytes; diff --git a/secret-store/src/listener/service_contract_listener.rs b/secret-store/src/listener/service_contract_listener.rs index e26d3d9250d..61dcda1766a 100644 --- a/secret-store/src/listener/service_contract_listener.rs +++ b/secret-store/src/listener/service_contract_listener.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . use std::collections::HashSet; use std::sync::Arc; diff --git a/secret-store/src/listener/tasks_queue.rs b/secret-store/src/listener/tasks_queue.rs index 934459940ae..2d9bdba11fc 100644 --- a/secret-store/src/listener/tasks_queue.rs +++ b/secret-store/src/listener/tasks_queue.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . use std::collections::VecDeque; use parking_lot::{Mutex, Condvar}; diff --git a/secret-store/src/node_key_pair.rs b/secret-store/src/node_key_pair.rs index d96d9ff6115..62938588918 100644 --- a/secret-store/src/node_key_pair.rs +++ b/secret-store/src/node_key_pair.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . use std::sync::Arc; use ethkey::crypto::ecdh::agree; diff --git a/secret-store/src/serialization.rs b/secret-store/src/serialization.rs index 7ae5e8f2694..64cc5f1ce3b 100644 --- a/secret-store/src/serialization.rs +++ b/secret-store/src/serialization.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . use std::fmt; use std::ops::Deref; diff --git a/secret-store/src/traits.rs b/secret-store/src/traits.rs index d92983fe8da..fdfa0589795 100644 --- a/secret-store/src/traits.rs +++ b/secret-store/src/traits.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . use std::collections::BTreeSet; use ethkey::{KeyPair, Signature, Error as EthKeyError}; diff --git a/secret-store/src/trusted_client.rs b/secret-store/src/trusted_client.rs index 669888e5816..d66e7f43dab 100644 --- a/secret-store/src/trusted_client.rs +++ b/secret-store/src/trusted_client.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . use std::sync::{Arc, Weak}; use bytes::Bytes; diff --git a/secret-store/src/types/all.rs b/secret-store/src/types/all.rs index bf05b538d5b..3a1e9df70dd 100644 --- a/secret-store/src/types/all.rs +++ b/secret-store/src/types/all.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . use std::collections::BTreeMap; diff --git a/secret-store/src/types/error.rs b/secret-store/src/types/error.rs index fc670fcc02d..72dfded78e2 100644 --- a/secret-store/src/types/error.rs +++ b/secret-store/src/types/error.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . use std::fmt; use std::net; diff --git a/secret-store/src/types/mod.rs b/secret-store/src/types/mod.rs index 443f4acb3a5..2001efc5a73 100644 --- a/secret-store/src/types/mod.rs +++ b/secret-store/src/types/mod.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Types used in the public api diff --git a/updater/hash-fetch/src/client.rs b/updater/hash-fetch/src/client.rs index b9d42696ec9..513b02f2568 100644 --- a/updater/hash-fetch/src/client.rs +++ b/updater/hash-fetch/src/client.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Hash-addressed content resolver & fetcher. diff --git a/updater/hash-fetch/src/lib.rs b/updater/hash-fetch/src/lib.rs index 97ef6d91d60..a9ddc7363e3 100644 --- a/updater/hash-fetch/src/lib.rs +++ b/updater/hash-fetch/src/lib.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Hash-addressed content resolver & fetcher. diff --git a/updater/hash-fetch/src/urlhint.rs b/updater/hash-fetch/src/urlhint.rs index d3a9af2bf28..73520fd3b77 100644 --- a/updater/hash-fetch/src/urlhint.rs +++ b/updater/hash-fetch/src/urlhint.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! URLHint Contract diff --git a/updater/src/lib.rs b/updater/src/lib.rs index 56c7065dbf1..f6fad17199a 100644 --- a/updater/src/lib.rs +++ b/updater/src/lib.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Updater for Parity executables diff --git a/updater/src/service.rs b/updater/src/service.rs index 1cf35d4ea67..b9ef2f9657b 100644 --- a/updater/src/service.rs +++ b/updater/src/service.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . use types::{CapState, ReleaseInfo, OperationsInfo, VersionInfo}; diff --git a/updater/src/types/all.rs b/updater/src/types/all.rs index 9dd782683d6..f17480c8adf 100644 --- a/updater/src/types/all.rs +++ b/updater/src/types/all.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Types used in the public API diff --git a/updater/src/types/mod.rs b/updater/src/types/mod.rs index 8fdbcf169df..fab4ec4d0e5 100644 --- a/updater/src/types/mod.rs +++ b/updater/src/types/mod.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Types used in the public api diff --git a/updater/src/types/release_track.rs b/updater/src/types/release_track.rs index eefe18d9f20..0648ebc47ae 100644 --- a/updater/src/types/release_track.rs +++ b/updater/src/types/release_track.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Types used in the public API diff --git a/updater/src/types/version_info.rs b/updater/src/types/version_info.rs index df2026b28c3..b55e08cb196 100644 --- a/updater/src/types/version_info.rs +++ b/updater/src/types/version_info.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Types used in the public API diff --git a/updater/src/updater.rs b/updater/src/updater.rs index 8c8539d1131..70adc9f3b32 100644 --- a/updater/src/updater.rs +++ b/updater/src/updater.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . use std::cmp; use std::fs; diff --git a/util/EIP-712/src/eip712.rs b/util/EIP-712/src/eip712.rs index add2a97ed41..426303403d9 100644 --- a/util/EIP-712/src/eip712.rs +++ b/util/EIP-712/src/eip712.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! EIP712 structs use serde_json::{Value}; diff --git a/util/EIP-712/src/encode.rs b/util/EIP-712/src/encode.rs index 865d6c2f116..f3c89840d64 100644 --- a/util/EIP-712/src/encode.rs +++ b/util/EIP-712/src/encode.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! EIP712 Encoder use ethabi::{encode, Token as EthAbiToken}; @@ -30,7 +30,6 @@ use rustc_hex::FromHex; use validator::Validate; use std::collections::HashSet; - fn check_hex(string: &str) -> Result<()> { if string.len() >= 2 && &string[..2] == "0x" { return Ok(()) diff --git a/util/EIP-712/src/error.rs b/util/EIP-712/src/error.rs index e6b5634e546..3ec1292bb56 100644 --- a/util/EIP-712/src/error.rs +++ b/util/EIP-712/src/error.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . use std::fmt::{self, Display}; use failure::{Fail, Context, Backtrace}; diff --git a/util/EIP-712/src/lib.rs b/util/EIP-712/src/lib.rs index d5a9ae2d1a2..26ce9615c63 100644 --- a/util/EIP-712/src/lib.rs +++ b/util/EIP-712/src/lib.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! EIP-712 encoding utilities //! @@ -163,7 +163,6 @@ extern crate validator_derive; #[macro_use] extern crate serde_derive; - mod eip712; mod error; mod parser; diff --git a/util/EIP-712/src/parser.rs b/util/EIP-712/src/parser.rs index 1da74b53985..c2c16cd599a 100644 --- a/util/EIP-712/src/parser.rs +++ b/util/EIP-712/src/parser.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Solidity type-name parsing use lunarity_lexer::{Lexer, Token}; diff --git a/util/bloom/src/lib.rs b/util/bloom/src/lib.rs index 32aad24bf26..3dec641cd39 100644 --- a/util/bloom/src/lib.rs +++ b/util/bloom/src/lib.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . extern crate siphasher; diff --git a/util/blooms-db/benches/blooms.rs b/util/blooms-db/benches/blooms.rs index 7a27260b35a..1cb3bad543e 100644 --- a/util/blooms-db/benches/blooms.rs +++ b/util/blooms-db/benches/blooms.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . #![feature(test)] diff --git a/util/blooms-db/src/db.rs b/util/blooms-db/src/db.rs index 3adedeaf1b5..7d003f7e27c 100644 --- a/util/blooms-db/src/db.rs +++ b/util/blooms-db/src/db.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . use std::{error, io, fmt}; use std::path::{Path, PathBuf}; diff --git a/util/blooms-db/src/file.rs b/util/blooms-db/src/file.rs index 64766c5cde7..098a23fdf4a 100644 --- a/util/blooms-db/src/file.rs +++ b/util/blooms-db/src/file.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . use std::io::{Seek, SeekFrom, Write, Read}; use std::path::Path; diff --git a/util/blooms-db/src/lib.rs b/util/blooms-db/src/lib.rs index a810b97328f..83baaffae8e 100644 --- a/util/blooms-db/src/lib.rs +++ b/util/blooms-db/src/lib.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Ethereum blooms database diff --git a/util/dir/src/helpers.rs b/util/dir/src/helpers.rs index 6c3e0507291..39cc767cac2 100644 --- a/util/dir/src/helpers.rs +++ b/util/dir/src/helpers.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Directory helper functions use ::home_dir; diff --git a/util/dir/src/lib.rs b/util/dir/src/lib.rs index 64b535c686b..fa7882cdd3e 100644 --- a/util/dir/src/lib.rs +++ b/util/dir/src/lib.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . #![warn(missing_docs)] diff --git a/util/fake-fetch/src/lib.rs b/util/fake-fetch/src/lib.rs index 750656e78f5..9dc52fc93c5 100644 --- a/util/fake-fetch/src/lib.rs +++ b/util/fake-fetch/src/lib.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . extern crate fetch; extern crate hyper; diff --git a/util/fastmap/src/lib.rs b/util/fastmap/src/lib.rs index 65dd9dfb4a0..97f7d3b24e7 100644 --- a/util/fastmap/src/lib.rs +++ b/util/fastmap/src/lib.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Provides a `H256FastMap` type with H256 keys and fast hashing function. diff --git a/util/fetch/src/client.rs b/util/fetch/src/client.rs index d32273f24a9..e4474fb7939 100644 --- a/util/fetch/src/client.rs +++ b/util/fetch/src/client.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . use futures::future::{self, Loop}; use futures::sync::{mpsc, oneshot}; diff --git a/util/fetch/src/lib.rs b/util/fetch/src/lib.rs index 5ad497a792c..eb172d2c673 100644 --- a/util/fetch/src/lib.rs +++ b/util/fetch/src/lib.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! A service to fetch any HTTP / HTTPS content. diff --git a/util/io/src/lib.rs b/util/io/src/lib.rs index 0673e8da3e6..997edd7c4a2 100644 --- a/util/io/src/lib.rs +++ b/util/io/src/lib.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! General IO module. //! diff --git a/util/io/src/service_mio.rs b/util/io/src/service_mio.rs index 07d0f8106bb..f1f19bfc28a 100644 --- a/util/io/src/service_mio.rs +++ b/util/io/src/service_mio.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . use std::sync::{Arc, Weak}; use std::thread::{self, JoinHandle}; diff --git a/util/io/src/service_non_mio.rs b/util/io/src/service_non_mio.rs index 30839f9e954..1cef3574e92 100644 --- a/util/io/src/service_non_mio.rs +++ b/util/io/src/service_non_mio.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . use std::sync::{Arc, Weak}; use std::thread; diff --git a/util/io/src/worker.rs b/util/io/src/worker.rs index 74418159c7f..458882a8514 100644 --- a/util/io/src/worker.rs +++ b/util/io/src/worker.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . use futures::future::{self, Loop}; use std::sync::Arc; diff --git a/util/journaldb/src/archivedb.rs b/util/journaldb/src/archivedb.rs index 86ed6cf5132..a6dcd293775 100644 --- a/util/journaldb/src/archivedb.rs +++ b/util/journaldb/src/archivedb.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Disk-backed `HashDB` implementation. diff --git a/util/journaldb/src/as_hash_db_impls.rs b/util/journaldb/src/as_hash_db_impls.rs index 648e370a015..203a5be6760 100644 --- a/util/journaldb/src/as_hash_db_impls.rs +++ b/util/journaldb/src/as_hash_db_impls.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Impls of the `AsHashDB` upcast trait for all different variants of DB use hashdb::{HashDB, AsHashDB}; diff --git a/util/journaldb/src/earlymergedb.rs b/util/journaldb/src/earlymergedb.rs index e50df30733e..41474d78d3d 100644 --- a/util/journaldb/src/earlymergedb.rs +++ b/util/journaldb/src/earlymergedb.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Disk-backed `HashDB` implementation. diff --git a/util/journaldb/src/lib.rs b/util/journaldb/src/lib.rs index e88b437d828..d6af35bb7b7 100644 --- a/util/journaldb/src/lib.rs +++ b/util/journaldb/src/lib.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! `JournalDB` interface and implementation. diff --git a/util/journaldb/src/overlaydb.rs b/util/journaldb/src/overlaydb.rs index 259e756bd94..d7018d1edb9 100644 --- a/util/journaldb/src/overlaydb.rs +++ b/util/journaldb/src/overlaydb.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Disk-backed `HashDB` implementation. diff --git a/util/journaldb/src/overlayrecentdb.rs b/util/journaldb/src/overlayrecentdb.rs index 017447bcc4b..83d17d56dd1 100644 --- a/util/journaldb/src/overlayrecentdb.rs +++ b/util/journaldb/src/overlayrecentdb.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! `JournalDB` over in-memory overlay diff --git a/util/journaldb/src/refcounteddb.rs b/util/journaldb/src/refcounteddb.rs index 99b3d8d738e..36cac3201ad 100644 --- a/util/journaldb/src/refcounteddb.rs +++ b/util/journaldb/src/refcounteddb.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Disk-backed, ref-counted `JournalDB` implementation. diff --git a/util/journaldb/src/traits.rs b/util/journaldb/src/traits.rs index 1d6aae5f6bf..68ca57b96a0 100644 --- a/util/journaldb/src/traits.rs +++ b/util/journaldb/src/traits.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Disk-backed `HashDB` implementation. diff --git a/util/journaldb/src/util.rs b/util/journaldb/src/util.rs index e99be458e58..11d329595a4 100644 --- a/util/journaldb/src/util.rs +++ b/util/journaldb/src/util.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . use ethereum_types::H256; use rlp::{RlpStream, Encodable, Rlp, DecoderError}; diff --git a/util/keccak-hasher/src/lib.rs b/util/keccak-hasher/src/lib.rs index bb2b5b45ffe..e37b03ee7d6 100644 --- a/util/keccak-hasher/src/lib.rs +++ b/util/keccak-hasher/src/lib.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Hasher implementation for the Keccak-256 hash extern crate hashdb; diff --git a/util/len-caching-lock/src/lib.rs b/util/len-caching-lock/src/lib.rs index 553f85ec87e..f2c04e454dd 100644 --- a/util/len-caching-lock/src/lib.rs +++ b/util/len-caching-lock/src/lib.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! This crate allows automatic caching of `T.len()` with an api that //! allows drop in replacement for `parking_lot` diff --git a/util/len-caching-lock/src/mutex.rs b/util/len-caching-lock/src/mutex.rs index b884a2e06bc..c9a2ea02a47 100644 --- a/util/len-caching-lock/src/mutex.rs +++ b/util/len-caching-lock/src/mutex.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . use std::ops::{Deref, DerefMut}; use std::sync::atomic::AtomicUsize; diff --git a/util/len-caching-lock/src/rwlock.rs b/util/len-caching-lock/src/rwlock.rs index 4d414308ec4..3593cbcf793 100644 --- a/util/len-caching-lock/src/rwlock.rs +++ b/util/len-caching-lock/src/rwlock.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . use std::ops::{Deref, DerefMut}; use std::sync::atomic::AtomicUsize; diff --git a/util/macros/src/lib.rs b/util/macros/src/lib.rs index cc5f92ba150..999c5122ed1 100644 --- a/util/macros/src/lib.rs +++ b/util/macros/src/lib.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Utils common types and macros global reexport. diff --git a/util/memory-cache/src/lib.rs b/util/memory-cache/src/lib.rs index ab3feafbf5f..64d10336fe2 100644 --- a/util/memory-cache/src/lib.rs +++ b/util/memory-cache/src/lib.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Lru-cache related utilities as quick-and-dirty wrappers around the lru-cache //! crate. diff --git a/util/memzero/src/lib.rs b/util/memzero/src/lib.rs index 735a58cd232..827407a9133 100644 --- a/util/memzero/src/lib.rs +++ b/util/memzero/src/lib.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . use std::ops::{Deref, DerefMut}; use std::ptr; diff --git a/util/migration-rocksdb/src/lib.rs b/util/migration-rocksdb/src/lib.rs index 60b66ccf062..d63f2843ca3 100644 --- a/util/migration-rocksdb/src/lib.rs +++ b/util/migration-rocksdb/src/lib.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! DB Migration module. diff --git a/util/migration-rocksdb/tests/tests.rs b/util/migration-rocksdb/tests/tests.rs index 0e22e6a6568..7458c2d3222 100644 --- a/util/migration-rocksdb/tests/tests.rs +++ b/util/migration-rocksdb/tests/tests.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Tests for migrations. //! A random temp directory is created. A database is created within it, and migrations diff --git a/util/network-devp2p/src/connection.rs b/util/network-devp2p/src/connection.rs index be3f363aa9f..ae34ec44cf9 100644 --- a/util/network-devp2p/src/connection.rs +++ b/util/network-devp2p/src/connection.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . use std::collections::VecDeque; use std::net::SocketAddr; diff --git a/util/network-devp2p/src/discovery.rs b/util/network-devp2p/src/discovery.rs index abf6cf4d0f8..980531ba2f1 100644 --- a/util/network-devp2p/src/discovery.rs +++ b/util/network-devp2p/src/discovery.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . use parity_bytes::Bytes; use std::net::SocketAddr; @@ -420,7 +420,6 @@ impl<'a> Discovery<'a> { self.send_queue.push_back(Datagram { payload, address }); } - pub fn on_packet(&mut self, packet: &[u8], from: SocketAddr) -> Result, Error> { // validate packet if packet.len() < 32 + 65 + 4 + 1 { @@ -674,7 +673,6 @@ impl<'a> Discovery<'a> { } } - pub fn round(&mut self) { self.check_expired(Instant::now()); self.update_new_nodes(); diff --git a/util/network-devp2p/src/handshake.rs b/util/network-devp2p/src/handshake.rs index aac43865c68..5388318a771 100644 --- a/util/network-devp2p/src/handshake.rs +++ b/util/network-devp2p/src/handshake.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . use std::time::Duration; use rand::random; diff --git a/util/network-devp2p/src/host.rs b/util/network-devp2p/src/host.rs index 55d6c08c207..672fd30fbf2 100644 --- a/util/network-devp2p/src/host.rs +++ b/util/network-devp2p/src/host.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . use std::net::{SocketAddr, SocketAddrV4, Ipv4Addr}; use std::collections::{HashMap, HashSet}; diff --git a/util/network-devp2p/src/ip_utils.rs b/util/network-devp2p/src/ip_utils.rs index cde0c8c6bb0..a0834466a7a 100644 --- a/util/network-devp2p/src/ip_utils.rs +++ b/util/network-devp2p/src/ip_utils.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . // Based on original work by David Levy https://raw.githubusercontent.com/dlevy47/rust-interfaces diff --git a/util/network-devp2p/src/lib.rs b/util/network-devp2p/src/lib.rs index 68d70552d41..d43c10ca932 100644 --- a/util/network-devp2p/src/lib.rs +++ b/util/network-devp2p/src/lib.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Network and general IO module. //! diff --git a/util/network-devp2p/src/node_table.rs b/util/network-devp2p/src/node_table.rs index d689676daf9..3cee93fd9a5 100644 --- a/util/network-devp2p/src/node_table.rs +++ b/util/network-devp2p/src/node_table.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . use discovery::{TableUpdates, NodeEntry}; use ethereum_types::H512; diff --git a/util/network-devp2p/src/service.rs b/util/network-devp2p/src/service.rs index fc8f79b365e..e57f01066af 100644 --- a/util/network-devp2p/src/service.rs +++ b/util/network-devp2p/src/service.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . use network::{Error, NetworkConfiguration, NetworkProtocolHandler, NonReservedPeerMode}; use network::{NetworkContext, PeerId, ProtocolId, NetworkIoMessage}; diff --git a/util/network-devp2p/src/session.rs b/util/network-devp2p/src/session.rs index 1b659bc8ea2..6ba982bb11e 100644 --- a/util/network-devp2p/src/session.rs +++ b/util/network-devp2p/src/session.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . use std::{str, io}; use std::net::SocketAddr; diff --git a/util/network-devp2p/tests/tests.rs b/util/network-devp2p/tests/tests.rs index 091f2509ac7..ab83bab1847 100644 --- a/util/network-devp2p/tests/tests.rs +++ b/util/network-devp2p/tests/tests.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . extern crate parking_lot; extern crate parity_bytes; diff --git a/util/network/src/connection_filter.rs b/util/network/src/connection_filter.rs index e146aee4c7c..4efd1c503c5 100644 --- a/util/network/src/connection_filter.rs +++ b/util/network/src/connection_filter.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Connection filter trait. diff --git a/util/network/src/error.rs b/util/network/src/error.rs index e7b0d6eda4b..bce6be8919d 100644 --- a/util/network/src/error.rs +++ b/util/network/src/error.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . use std::{io, net, fmt}; use libc::{ENFILE, EMFILE}; diff --git a/util/network/src/lib.rs b/util/network/src/lib.rs index caff90a3475..dd7c5c073d5 100644 --- a/util/network/src/lib.rs +++ b/util/network/src/lib.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . #![recursion_limit="128"] diff --git a/util/panic-hook/src/lib.rs b/util/panic-hook/src/lib.rs index 0c855250906..f49fea67b8d 100644 --- a/util/panic-hook/src/lib.rs +++ b/util/panic-hook/src/lib.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Custom panic hook with bug report link diff --git a/util/patricia-trie-ethereum/src/lib.rs b/util/patricia-trie-ethereum/src/lib.rs index aa83e330cd9..7b482576626 100644 --- a/util/patricia-trie-ethereum/src/lib.rs +++ b/util/patricia-trie-ethereum/src/lib.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Façade crate for `patricia_trie` for Ethereum specific impls diff --git a/util/patricia-trie-ethereum/src/rlp_node_codec.rs b/util/patricia-trie-ethereum/src/rlp_node_codec.rs index 50482c47b9b..e9d1d745867 100644 --- a/util/patricia-trie-ethereum/src/rlp_node_codec.rs +++ b/util/patricia-trie-ethereum/src/rlp_node_codec.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! `NodeCodec` implementation for Rlp diff --git a/util/registrar/src/lib.rs b/util/registrar/src/lib.rs index aad33765efe..d07e17c1bc1 100644 --- a/util/registrar/src/lib.rs +++ b/util/registrar/src/lib.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . extern crate futures; extern crate ethabi; diff --git a/util/registrar/src/registrar.rs b/util/registrar/src/registrar.rs index e1670164264..cd6d35660a8 100644 --- a/util/registrar/src/registrar.rs +++ b/util/registrar/src/registrar.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . use futures::{Future, future, IntoFuture}; use ethabi::{Address, Bytes}; diff --git a/util/rlp-compress/tests/compress.rs b/util/rlp-compress/tests/compress.rs index 9d23f8c670c..6c5a0237467 100644 --- a/util/rlp-compress/tests/compress.rs +++ b/util/rlp-compress/tests/compress.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . extern crate rlp_compress; diff --git a/util/rlp-derive/src/de.rs b/util/rlp-derive/src/de.rs index 8ab1dd79625..234bcbcb84f 100644 --- a/util/rlp-derive/src/de.rs +++ b/util/rlp-derive/src/de.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . use syn; use proc_macro2::{TokenStream, Span}; diff --git a/util/rlp-derive/src/en.rs b/util/rlp-derive/src/en.rs index de7d746e123..95e5b9142d4 100644 --- a/util/rlp-derive/src/en.rs +++ b/util/rlp-derive/src/en.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . use syn; use proc_macro2::{TokenStream, Span}; diff --git a/util/rlp-derive/src/lib.rs b/util/rlp-derive/src/lib.rs index 5b0cc2a6274..0f5d442f443 100644 --- a/util/rlp-derive/src/lib.rs +++ b/util/rlp-derive/src/lib.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . extern crate proc_macro; extern crate proc_macro2; diff --git a/util/rlp-derive/tests/rlp.rs b/util/rlp-derive/tests/rlp.rs index 41cfed17c08..a6819ba4bdd 100644 --- a/util/rlp-derive/tests/rlp.rs +++ b/util/rlp-derive/tests/rlp.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . extern crate rlp; #[macro_use] diff --git a/util/runtime/src/lib.rs b/util/runtime/src/lib.rs index 97bed9b130c..0c78c7f4a30 100644 --- a/util/runtime/src/lib.rs +++ b/util/runtime/src/lib.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Tokio Runtime wrapper. diff --git a/util/stats/src/lib.rs b/util/stats/src/lib.rs index 8d107f4e9cc..e1ceb4fe849 100644 --- a/util/stats/src/lib.rs +++ b/util/stats/src/lib.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Statistical functions and helpers. diff --git a/util/triehash-ethereum/src/lib.rs b/util/triehash-ethereum/src/lib.rs index 55aa74760e2..696ed61aba7 100644 --- a/util/triehash-ethereum/src/lib.rs +++ b/util/triehash-ethereum/src/lib.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Generates Keccak-flavoured trie roots. diff --git a/util/unexpected/src/lib.rs b/util/unexpected/src/lib.rs index 77d4035a647..9a1a709be41 100644 --- a/util/unexpected/src/lib.rs +++ b/util/unexpected/src/lib.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Error utils diff --git a/util/version/build.rs b/util/version/build.rs index a367296a5fb..3ee37fbca63 100644 --- a/util/version/build.rs +++ b/util/version/build.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . extern crate rustc_version; extern crate toml; diff --git a/util/version/src/lib.rs b/util/version/src/lib.rs index a7452e0ce93..00f9f4550cf 100644 --- a/util/version/src/lib.rs +++ b/util/version/src/lib.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Parity version specific information. diff --git a/whisper/cli/src/main.rs b/whisper/cli/src/main.rs index 76f852c762b..e4764ad0d6d 100644 --- a/whisper/cli/src/main.rs +++ b/whisper/cli/src/main.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Whisper command line interface //! diff --git a/whisper/src/lib.rs b/whisper/src/lib.rs index 175fa80333d..2db7108f765 100644 --- a/whisper/src/lib.rs +++ b/whisper/src/lib.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Whisper P2P messaging system as a DevP2P subprotocol, with RPC and Rust //! interface. diff --git a/whisper/src/message.rs b/whisper/src/message.rs index 95c21125513..14a6fcf9ce8 100644 --- a/whisper/src/message.rs +++ b/whisper/src/message.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Whisper message parsing, handlers, and construction. diff --git a/whisper/src/net/mod.rs b/whisper/src/net/mod.rs index 6ec3b08a548..64431d14263 100644 --- a/whisper/src/net/mod.rs +++ b/whisper/src/net/mod.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Whisper messaging system as a DevP2P subprotocol. diff --git a/whisper/src/net/tests.rs b/whisper/src/net/tests.rs index 15aba5c3eed..7af0cb8d380 100644 --- a/whisper/src/net/tests.rs +++ b/whisper/src/net/tests.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Tests for the whisper network module. diff --git a/whisper/src/rpc/crypto.rs b/whisper/src/rpc/crypto.rs index 6daafc378a8..89116345313 100644 --- a/whisper/src/rpc/crypto.rs +++ b/whisper/src/rpc/crypto.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Encryption schemes supported by RPC layer. diff --git a/whisper/src/rpc/filter.rs b/whisper/src/rpc/filter.rs index d1b9c4c1cc6..9c091de0b9e 100644 --- a/whisper/src/rpc/filter.rs +++ b/whisper/src/rpc/filter.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Abstraction over filters which works with polling and subscription. diff --git a/whisper/src/rpc/key_store.rs b/whisper/src/rpc/key_store.rs index 61c06c6e4d8..081a8b374d6 100644 --- a/whisper/src/rpc/key_store.rs +++ b/whisper/src/rpc/key_store.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Identity and keystore for Whisper sessions. //! diff --git a/whisper/src/rpc/mod.rs b/whisper/src/rpc/mod.rs index 4c5e7316d32..c3958f77f72 100644 --- a/whisper/src/rpc/mod.rs +++ b/whisper/src/rpc/mod.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! JSONRPC interface for Whisper. //! diff --git a/whisper/src/rpc/payload.rs b/whisper/src/rpc/payload.rs index 5884cdee980..326a6b6e2f9 100644 --- a/whisper/src/rpc/payload.rs +++ b/whisper/src/rpc/payload.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Common payload format definition, construction, and decoding. //! diff --git a/whisper/src/rpc/types.rs b/whisper/src/rpc/types.rs index e404de0c70c..40e440bf562 100644 --- a/whisper/src/rpc/types.rs +++ b/whisper/src/rpc/types.rs @@ -1,18 +1,18 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. -// Parity is free software: you can redistribute it and/or modify +// Parity Ethereum is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// Parity is distributed in the hope that it will be useful, +// Parity Ethereum is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License -// along with Parity. If not, see . +// along with Parity Ethereum. If not, see . //! Types for Whisper RPC. From 1fda99737098a825d012d0281c7ee5867f66334a Mon Sep 17 00:00:00 2001 From: joshua-mir <43032097+joshua-mir@users.noreply.github.com> Date: Mon, 7 Jan 2019 14:47:28 +0100 Subject: [PATCH 16/68] Autogen docs for the "Configuring Parity Ethereum" wiki page. (#10067) * publish docs changes for autogen config docs * Update publish-docs.sh adding an environment variable so js knows not to download git master and just grab the local repo * Update publish-docs.sh made some changes making this unnecessary * fix env variable env variable passes to node properly now * use yarn * test pipeline, revert me * fix test pipeline, revert me * change runner tag * change runner tag 2 * change runner tag * global git config * supress upload_files output * Update .gitlab-ci.yml reverting testing changes * Replace tag if exists Very unlikely to be important/useful --- .gitlab-ci.yml | 2 +- scripts/gitlab/publish-docs.sh | 21 ++++++++++++++++----- 2 files changed, 17 insertions(+), 6 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index e2cb77606d8..4597f667b9d 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -121,7 +121,7 @@ publish-docs: script: - scripts/gitlab/publish-docs.sh tags: - - shell + - linux-docker build-android: stage: optional diff --git a/scripts/gitlab/publish-docs.sh b/scripts/gitlab/publish-docs.sh index 6bf90ad0562..262ea80807f 100755 --- a/scripts/gitlab/publish-docs.sh +++ b/scripts/gitlab/publish-docs.sh @@ -7,6 +7,7 @@ clone_repos() { echo "__________Clone repos__________" git clone https://github.com/parity-js/jsonrpc.git jsonrpc git clone https://github.com/paritytech/wiki.git wiki + git clone https://github.com/paritytech/parity-config-generator } build_docs() { @@ -15,18 +16,25 @@ build_docs() { npm run build:markdown } +build_config() { + echo "_______Build config docs______" + yarn install + AUTOGENSCRIPT=1 yarn generate-docs +} + update_wiki_docs() { echo "__________Update WIKI docs__________" for file in $(ls jsonrpc/docs); do module_name=${file:0:-3} mv jsonrpc/docs/$file wiki/JSONRPC-$module_name-module.md done + mv parity-config-generator/docs/config.md wiki/Configuring-Parity-Ethereum.md } setup_git() { echo "__________Set github__________" - git config user.email "devops@parity.com" - git config user.name "Devops Parity" + git config --global user.email "devops@parity.com" + git config --global user.name "Devops Parity" } set_remote_wiki() { @@ -38,13 +46,13 @@ commit_files() { git checkout -b rpcdoc-update-${SCHEDULE_TAG:-${CI_COMMIT_REF_NAME}} git add . git commit -m "Update docs to ${SCHEDULE_TAG:-${CI_COMMIT_REF_NAME}}" - git tag -a "${SCHEDULE_TAG:-${CI_COMMIT_REF_NAME}}" -m "Update RPC docs to ${SCHEDULE_TAG:-${CI_COMMIT_REF_NAME}}" + git tag -a -f "${SCHEDULE_TAG:-${CI_COMMIT_REF_NAME}}" -m "Update RPC and config docs to ${SCHEDULE_TAG:-${CI_COMMIT_REF_NAME}}" } upload_files() { echo "__________Upload files__________" - git push origin HEAD - git push --tags + git push -q origin HEAD + git push -q -f --tags } RPC_TRAITS_DIR="rpc/src/v1/traits" @@ -56,6 +64,9 @@ cp $RPC_TRAITS_DIR/*.rs "jsonrpc/.parity/$RPC_TRAITS_DIR" cd jsonrpc build_docs cd .. +cd parity-config-generator +build_config +cd .. update_wiki_docs cd wiki set_remote_wiki From 589083ad7af188308581e6c3f8c79b53a54c0b55 Mon Sep 17 00:00:00 2001 From: cheme Date: Mon, 7 Jan 2019 17:54:06 +0100 Subject: [PATCH 17/68] Blooms file iterator empty on out of range position. (#10145) --- util/blooms-db/src/file.rs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/util/blooms-db/src/file.rs b/util/blooms-db/src/file.rs index 098a23fdf4a..0362ce88494 100644 --- a/util/blooms-db/src/file.rs +++ b/util/blooms-db/src/file.rs @@ -92,8 +92,9 @@ impl File { /// This function needs to be mutable `fs::File` is just a shared reference a system file handle. /// https://users.rust-lang.org/t/how-to-handle-match-with-irrelevant-ok--/6291/15 pub fn iterator_from(&mut self, pos: u64) -> io::Result { + let start = std::cmp::min(self.len, pos * 256); let mut buf_reader = io::BufReader::new(&self.file); - buf_reader.seek(SeekFrom::Start(pos * 256))?; + buf_reader.seek(SeekFrom::Start(start))?; let iter = FileIterator { file: buf_reader, From 696dc05dda17afaa6633db6c12e626907a671a8a Mon Sep 17 00:00:00 2001 From: Anton Gavrilov Date: Tue, 8 Jan 2019 01:31:26 +0100 Subject: [PATCH 18/68] Remove caching for node connections (#10143) --- ethcore/node-filter/src/lib.rs | 20 -------------------- 1 file changed, 20 deletions(-) diff --git a/ethcore/node-filter/src/lib.rs b/ethcore/node-filter/src/lib.rs index de7f78cb042..816bb84a838 100644 --- a/ethcore/node-filter/src/lib.rs +++ b/ethcore/node-filter/src/lib.rs @@ -39,9 +39,6 @@ extern crate log; use std::sync::Weak; -use lru_cache::LruCache; -use parking_lot::Mutex; - use ethcore::client::{BlockChainClient, BlockId}; use ethereum_types::{H256, Address}; use ethabi::FunctionOutputDecoder; @@ -50,13 +47,10 @@ use devp2p::NodeId; use_contract!(peer_set, "res/peer_set.json"); -const MAX_CACHE_SIZE: usize = 4096; - /// Connection filter that uses a contract to manage permissions. pub struct NodeFilter { client: Weak, contract_address: Address, - permission_cache: Mutex>, } impl NodeFilter { @@ -65,7 +59,6 @@ impl NodeFilter { NodeFilter { client, contract_address, - permission_cache: Mutex::new(LruCache::new(MAX_CACHE_SIZE)), } } } @@ -77,18 +70,6 @@ impl ConnectionFilter for NodeFilter { None => return false, }; - let block_hash = match client.block_hash(BlockId::Latest) { - Some(block_hash) => block_hash, - None => return false, - }; - - let key = (block_hash, *connecting_id); - - let mut cache = self.permission_cache.lock(); - if let Some(res) = cache.get_mut(&key) { - return *res; - } - let address = self.contract_address; let own_low = H256::from_slice(&own_id[0..32]); let own_high = H256::from_slice(&own_id[32..64]); @@ -103,7 +84,6 @@ impl ConnectionFilter for NodeFilter { false }); - cache.insert(key, allowed); allowed } } From ce5f704dd57e4d195c1120b4591ed7128eac0cce Mon Sep 17 00:00:00 2001 From: Andronik Ordian Date: Tue, 8 Jan 2019 13:14:59 +0300 Subject: [PATCH 19/68] finality: dont require chain head to be in the chain (#10054) --- ethcore/src/engines/authority_round/mod.rs | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/ethcore/src/engines/authority_round/mod.rs b/ethcore/src/engines/authority_round/mod.rs index d1f314aa14e..1404e58fef6 100644 --- a/ethcore/src/engines/authority_round/mod.rs +++ b/ethcore/src/engines/authority_round/mod.rs @@ -1422,16 +1422,21 @@ impl Engine for AuthorityRound { let mut finality_proof: Vec<_> = itertools::repeat_call(move || { chain(hash).and_then(|header| { hash = *header.parent_hash(); - if header.number() == 0 { return None } - else { return Some(header) } + if header.number() == 0 { None } + else { Some(header) } }) }) .while_some() .take_while(|h| h.hash() != *finalized_hash) .collect(); - let finalized_header = chain(*finalized_hash) - .expect("header is finalized; finalized headers must exist in the chain; qed"); + let finalized_header = if *finalized_hash == chain_head.hash() { + // chain closure only stores ancestry, but the chain head is also unfinalized. + chain_head.clone() + } else { + chain(*finalized_hash) + .expect("header is finalized; finalized headers must exist in the chain; qed") + }; let signal_number = finalized_header.number(); info!(target: "engine", "Applying validator set change signalled at block {}", signal_number); From ab22d5e278e2ed595beaf24777840f11061babe7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tomasz=20Drwi=C4=99ga?= Date: Tue, 8 Jan 2019 15:07:20 +0100 Subject: [PATCH 20/68] Replace ethcore-logger with env-logger. (#10102) * Replace ethcore-logger with env-logger. * Fix logger initialization in WASM tests. * uncomment logger initialization in secret store * Don't use ethcore-logger in whisper. * Move ethcore-logger within parity dir. * Uncomment rest from secret-store. * Use `let _ =` in private_contract for consistency * `ok()` to `let _ =` fix in service * Use `let _ = ` for state_db --- Cargo.lock | 17 ++++----- Cargo.toml | 3 +- ethcore/Cargo.toml | 5 ++- ethcore/private-tx/Cargo.toml | 2 +- ethcore/private-tx/src/lib.rs | 2 +- ethcore/private-tx/tests/private_contract.rs | 4 +-- ethcore/src/json_tests/chain.rs | 2 +- ethcore/src/json_tests/difficulty.rs | 2 +- ethcore/src/json_tests/state.rs | 2 +- ethcore/src/lib.rs | 10 +++--- ethcore/src/snapshot/tests/service.rs | 7 ++-- ethcore/src/spec/spec.rs | 2 +- ethcore/src/state/mod.rs | 35 +++++++++--------- ethcore/src/state_db.rs | 3 +- ethcore/sync/Cargo.toml | 1 + ethcore/sync/src/lib.rs | 4 +-- ethcore/wasm/Cargo.toml | 4 ++- ethcore/wasm/run/Cargo.toml | 2 +- ethcore/wasm/run/src/main.rs | 4 +-- ethcore/wasm/src/lib.rs | 10 ++++-- ethcore/wasm/src/tests.rs | 36 +++++++++---------- miner/stratum/Cargo.toml | 1 - miner/stratum/src/lib.rs | 8 ++--- parity/lib.rs | 1 - {logger => parity/logger}/Cargo.toml | 0 {logger => parity/logger}/src/lib.rs | 0 {logger => parity/logger}/src/rotating.rs | 0 rpc/Cargo.toml | 2 +- rpc/src/v1/impls/parity.rs | 1 + secret-store/Cargo.toml | 2 +- secret-store/src/key_server.rs | 14 ++++---- .../src/key_server_cluster/cluster.rs | 10 +++--- secret-store/src/lib.rs | 3 +- util/journaldb/Cargo.toml | 2 +- util/journaldb/src/earlymergedb.rs | 7 ++-- util/journaldb/src/lib.rs | 2 +- util/journaldb/src/overlayrecentdb.rs | 7 ++-- util/network-devp2p/Cargo.toml | 2 +- util/network-devp2p/src/lib.rs | 3 +- util/network-devp2p/tests/tests.rs | 6 ++-- whisper/cli/Cargo.toml | 16 ++++----- whisper/cli/src/main.rs | 25 +++++-------- 42 files changed, 127 insertions(+), 142 deletions(-) rename {logger => parity/logger}/Cargo.toml (100%) rename {logger => parity/logger}/src/lib.rs (100%) rename {logger => parity/logger}/src/rotating.rs (100%) diff --git a/Cargo.lock b/Cargo.lock index 9d4e2cab63c..29e0f174bf5 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -697,7 +697,6 @@ dependencies = [ "ethcore-bloom-journal 0.1.0", "ethcore-db 0.1.0", "ethcore-io 1.12.0", - "ethcore-logger 1.12.0", "ethcore-miner 1.12.0", "ethcore-stratum 1.12.0", "ethereum-types 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -923,9 +922,9 @@ dependencies = [ "ansi_term 0.10.2 (registry+https://github.com/rust-lang/crates.io-index)", "assert_matches 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)", "bytes 0.4.10 (registry+https://github.com/rust-lang/crates.io-index)", + "env_logger 0.5.13 (registry+https://github.com/rust-lang/crates.io-index)", "error-chain 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)", "ethcore-io 1.12.0", - "ethcore-logger 1.12.0", "ethcore-network 1.12.0", "ethereum-types 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", "ethkey 0.3.0", @@ -957,13 +956,13 @@ name = "ethcore-private-tx" version = "1.0.0" dependencies = [ "common-types 0.1.0", + "env_logger 0.5.13 (registry+https://github.com/rust-lang/crates.io-index)", "error-chain 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)", "ethabi 6.1.0 (registry+https://github.com/rust-lang/crates.io-index)", "ethabi-contract 6.0.0 (registry+https://github.com/rust-lang/crates.io-index)", "ethabi-derive 6.0.2 (registry+https://github.com/rust-lang/crates.io-index)", "ethcore 1.12.0", "ethcore-io 1.12.0", - "ethcore-logger 1.12.0", "ethcore-miner 1.12.0", "ethereum-types 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", "ethjson 0.1.0", @@ -996,11 +995,11 @@ version = "1.0.0" dependencies = [ "byteorder 1.2.6 (registry+https://github.com/rust-lang/crates.io-index)", "common-types 0.1.0", + "env_logger 0.5.13 (registry+https://github.com/rust-lang/crates.io-index)", "ethabi 6.1.0 (registry+https://github.com/rust-lang/crates.io-index)", "ethabi-contract 6.0.0 (registry+https://github.com/rust-lang/crates.io-index)", "ethabi-derive 6.0.2 (registry+https://github.com/rust-lang/crates.io-index)", "ethcore 1.12.0", - "ethcore-logger 1.12.0", "ethcore-sync 1.12.0", "ethereum-types 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", "ethkey 0.3.0", @@ -1052,7 +1051,6 @@ name = "ethcore-stratum" version = "1.12.0" dependencies = [ "env_logger 0.5.13 (registry+https://github.com/rust-lang/crates.io-index)", - "ethcore-logger 1.12.0", "ethereum-types 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", "jsonrpc-core 9.0.0 (git+https://github.com/paritytech/jsonrpc.git?branch=parity-2.2)", "jsonrpc-macros 9.0.0 (git+https://github.com/paritytech/jsonrpc.git?branch=parity-2.2)", @@ -1729,7 +1727,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" name = "journaldb" version = "0.2.0" dependencies = [ - "ethcore-logger 1.12.0", + "env_logger 0.5.13 (registry+https://github.com/rust-lang/crates.io-index)", "ethereum-types 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", "fastmap 0.1.0", "hashdb 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -2386,7 +2384,6 @@ dependencies = [ "daemonize 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", "dir 0.1.2", "docopt 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", - "env_logger 0.5.13 (registry+https://github.com/rust-lang/crates.io-index)", "ethcore 1.12.0", "ethcore-blockchain 0.1.0", "ethcore-db 0.1.0", @@ -2974,7 +2971,7 @@ name = "pwasm-run-test" version = "0.1.0" dependencies = [ "clap 2.32.0 (registry+https://github.com/rust-lang/crates.io-index)", - "ethcore-logger 1.12.0", + "env_logger 0.5.13 (registry+https://github.com/rust-lang/crates.io-index)", "ethereum-types 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", "ethjson 0.1.0", "rustc-hex 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -4208,7 +4205,7 @@ name = "wasm" version = "0.1.0" dependencies = [ "byteorder 1.2.6 (registry+https://github.com/rust-lang/crates.io-index)", - "ethcore-logger 1.12.0", + "env_logger 0.5.13 (registry+https://github.com/rust-lang/crates.io-index)", "ethereum-types 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", "libc 0.2.43 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.4.5 (registry+https://github.com/rust-lang/crates.io-index)", @@ -4252,7 +4249,7 @@ name = "whisper-cli" version = "0.1.0" dependencies = [ "docopt 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", - "ethcore-logger 1.12.0", + "env_logger 0.5.13 (registry+https://github.com/rust-lang/crates.io-index)", "ethcore-network 1.12.0", "ethcore-network-devp2p 1.12.0", "jsonrpc-core 9.0.0 (git+https://github.com/paritytech/jsonrpc.git?branch=parity-2.2)", diff --git a/Cargo.toml b/Cargo.toml index b4499ae198c..be7a916bf14 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -9,7 +9,6 @@ authors = ["Parity Technologies "] [dependencies] blooms-db = { path = "util/blooms-db" } log = "0.4" -env_logger = "0.5" rustc-hex = "1.0" docopt = "1.0" clap = "2" @@ -38,7 +37,7 @@ ethcore-blockchain = { path = "ethcore/blockchain" } ethcore-db = { path = "ethcore/db" } ethcore-io = { path = "util/io" } ethcore-light = { path = "ethcore/light" } -ethcore-logger = { path = "logger" } +ethcore-logger = { path = "parity/logger" } ethcore-miner = { path = "miner" } ethcore-network = { path = "util/network" } ethcore-private-tx = { path = "ethcore/private-tx" } diff --git a/ethcore/Cargo.toml b/ethcore/Cargo.toml index 5013821abeb..5179584c112 100644 --- a/ethcore/Cargo.toml +++ b/ethcore/Cargo.toml @@ -13,6 +13,7 @@ bn = { git = "https://github.com/paritytech/bn", default-features = false } byteorder = "1.0" common-types = { path = "types" } crossbeam = "0.4" +env_logger = { version = "0.5", optional = true } error-chain = { version = "0.12", default-features = false } ethabi = "6.0" ethabi-contract = "6.0" @@ -22,7 +23,6 @@ ethcore-blockchain = { path = "./blockchain" } ethcore-bloom-journal = { path = "../util/bloom" } ethcore-db = { path = "./db" } ethcore-io = { path = "../util/io" } -ethcore-logger = { path = "../logger", optional = true } ethcore-miner = { path = "../miner" } ethcore-stratum = { path = "../miner/stratum", optional = true } ethereum-types = "0.4" @@ -81,7 +81,6 @@ fake-hardware-wallet = { path = "../accounts/fake-hardware-wallet" } blooms-db = { path = "../util/blooms-db" } criterion = "0.2" env_logger = "0.5" -ethcore-logger = { path = "../logger" } kvdb-rocksdb = "0.1.3" rlp_compress = { path = "../util/rlp-compress" } tempdir = "0.3" @@ -109,7 +108,7 @@ evm-debug-tests = ["evm-debug", "evm/evm-debug-tests"] # EVM debug traces are printed. slow-blocks = [] # Run JSON consensus tests. -json-tests = ["ethcore-logger", "test-helpers", "tempdir", "to-pod-full"] +json-tests = ["env_logger", "test-helpers", "to-pod-full"] # Skip JSON consensus tests with pending issues. ci-skip-issue = [] # Run memory/cpu heavy tests. diff --git a/ethcore/private-tx/Cargo.toml b/ethcore/private-tx/Cargo.toml index 77e0ebea8ae..1dd328e11cb 100644 --- a/ethcore/private-tx/Cargo.toml +++ b/ethcore/private-tx/Cargo.toml @@ -13,7 +13,6 @@ ethabi-contract = "6.0" ethabi-derive = "6.0" ethcore = { path = ".." } ethcore-io = { path = "../../util/io" } -ethcore-logger = { path = "../../logger" } ethcore-miner = { path = "../../miner" } ethereum-types = "0.4" ethjson = { path = "../../json" } @@ -40,4 +39,5 @@ transaction-pool = "1.13.2" url = "1" [dev-dependencies] +env_logger = "0.5" ethcore = { path = "..", features = ["test-helpers"] } diff --git a/ethcore/private-tx/src/lib.rs b/ethcore/private-tx/src/lib.rs index 599495e38af..f55a30334a1 100644 --- a/ethcore/private-tx/src/lib.rs +++ b/ethcore/private-tx/src/lib.rs @@ -60,7 +60,7 @@ extern crate rlp_derive; #[cfg(test)] extern crate rand; #[cfg(test)] -extern crate ethcore_logger; +extern crate env_logger; pub use encryptor::{Encryptor, SecretStoreEncryptor, EncryptorConfig, NoopEncryptor}; pub use private_transactions::{VerifiedPrivateTransaction, VerificationStore, PrivateTransactionSigningDesc, SigningStore}; diff --git a/ethcore/private-tx/tests/private_contract.rs b/ethcore/private-tx/tests/private_contract.rs index bf484e8b630..b681a03800e 100644 --- a/ethcore/private-tx/tests/private_contract.rs +++ b/ethcore/private-tx/tests/private_contract.rs @@ -17,9 +17,9 @@ //! Contract for private transactions tests. extern crate common_types as types; +extern crate env_logger; extern crate ethcore; extern crate ethcore_io; -extern crate ethcore_logger; extern crate ethcore_private_tx; extern crate ethkey; extern crate keccak_hash as hash; @@ -47,7 +47,7 @@ use ethcore_private_tx::{NoopEncryptor, Provider, ProviderConfig}; #[test] fn private_contract() { // This uses a simple private contract: contract Test1 { bytes32 public x; function setX(bytes32 _x) { x = _x; } } - ethcore_logger::init_log(); + let _ = ::env_logger::try_init(); let client = generate_dummy_client(0); let chain_id = client.signing_chain_id(); let key1 = KeyPair::from_secret(Secret::from("0000000000000000000000000000000000000000000000000000000000000011")).unwrap(); diff --git a/ethcore/src/json_tests/chain.rs b/ethcore/src/json_tests/chain.rs index 5511912bb9a..4488d0f326e 100644 --- a/ethcore/src/json_tests/chain.rs +++ b/ethcore/src/json_tests/chain.rs @@ -42,7 +42,7 @@ fn skip_test(name: &String) -> bool { } pub fn json_chain_test(json_data: &[u8], start_stop_hook: &mut H) -> Vec { - ::ethcore_logger::init_log(); + let _ = ::env_logger::try_init(); let tests = ethjson::blockchain::Test::load(json_data).unwrap(); let mut failed = Vec::new(); diff --git a/ethcore/src/json_tests/difficulty.rs b/ethcore/src/json_tests/difficulty.rs index 9698116cb52..bf3a48fff19 100644 --- a/ethcore/src/json_tests/difficulty.rs +++ b/ethcore/src/json_tests/difficulty.rs @@ -22,7 +22,7 @@ use spec::Spec; use super::HookType; pub fn json_difficulty_test(json_data: &[u8], spec: Spec, start_stop_hook: &mut H) -> Vec { - ::ethcore_logger::init_log(); + let _ = ::env_logger::try_init(); let tests = ethjson::test::DifficultyTest::load(json_data).unwrap(); let engine = &spec.engine; diff --git a/ethcore/src/json_tests/state.rs b/ethcore/src/json_tests/state.rs index 3d4772ea0fe..45d9c035f69 100644 --- a/ethcore/src/json_tests/state.rs +++ b/ethcore/src/json_tests/state.rs @@ -48,7 +48,7 @@ fn skip_test(subname: &str, chain: &String, number: usize) -> bool { } pub fn json_chain_test(json_data: &[u8], start_stop_hook: &mut H) -> Vec { - ::ethcore_logger::init_log(); + let _ = ::env_logger::try_init(); let tests = ethjson::state::test::Test::load(json_data).unwrap(); let mut failed = Vec::new(); diff --git a/ethcore/src/lib.rs b/ethcore/src/lib.rs index 7e09a8a62f0..89f6f8e09e5 100644 --- a/ethcore/src/lib.rs +++ b/ethcore/src/lib.rs @@ -108,13 +108,11 @@ extern crate wasm; #[cfg(feature = "stratum")] extern crate ethcore_stratum; -#[cfg(any(test, feature = "json-tests", feature = "test-helpers"))] +#[cfg(any(test, feature = "tempdir"))] extern crate tempdir; -#[cfg(any(test, feature = "json-tests"))] -extern crate ethcore_logger; -#[cfg(any(test, feature = "test-helpers"))] +#[cfg(any(test, feature = "kvdb-rocksdb"))] extern crate kvdb_rocksdb; -#[cfg(any(test, feature = "test-helpers"))] +#[cfg(any(test, feature = "blooms-db"))] extern crate blooms_db; #[cfg(any(target_os = "linux", target_os = "macos", target_os = "windows", target_os = "android"))] @@ -145,7 +143,7 @@ extern crate serde_derive; #[cfg_attr(test, macro_use)] extern crate evm; -#[cfg(test)] +#[cfg(any(test, feature = "env_logger"))] extern crate env_logger; #[cfg(test)] extern crate rlp_compress; diff --git a/ethcore/src/snapshot/tests/service.rs b/ethcore/src/snapshot/tests/service.rs index 8c8fe4bb509..535e7c2993a 100644 --- a/ethcore/src/snapshot/tests/service.rs +++ b/ethcore/src/snapshot/tests/service.rs @@ -36,8 +36,7 @@ use verification::queue::kind::blocks::Unverified; #[test] fn restored_is_equivalent() { - use ::ethcore_logger::init_log; - init_log(); + let _ = ::env_logger::try_init(); const NUM_BLOCKS: u32 = 400; const TX_PER: usize = 5; @@ -152,7 +151,7 @@ fn guards_delete_folders() { #[test] fn keep_ancient_blocks() { - ::env_logger::try_init().ok(); + let _ = ::env_logger::try_init(); // Test variables const NUM_BLOCKS: u64 = 500; @@ -271,7 +270,7 @@ fn keep_ancient_blocks() { #[test] fn recover_aborted_recovery() { - ::env_logger::try_init().ok(); + let _ = ::env_logger::try_init(); const NUM_BLOCKS: u32 = 400; let gas_prices = vec![1.into(), 2.into(), 3.into(), 999.into()]; diff --git a/ethcore/src/spec/spec.rs b/ethcore/src/spec/spec.rs index 311f970cd24..9d67bf2c151 100644 --- a/ethcore/src/spec/spec.rs +++ b/ethcore/src/spec/spec.rs @@ -1018,7 +1018,7 @@ mod tests { #[test] fn genesis_constructor() { - ::ethcore_logger::init_log(); + let _ = ::env_logger::try_init(); let spec = Spec::new_test_constructor(); let db = spec.ensure_db_good(get_temp_state_db(), &Default::default()) .unwrap(); diff --git a/ethcore/src/state/mod.rs b/ethcore/src/state/mod.rs index ee6e6bb9cf9..8a46c7e1d17 100644 --- a/ethcore/src/state/mod.rs +++ b/ethcore/src/state/mod.rs @@ -1316,7 +1316,6 @@ mod tests { use vm::EnvInfo; use spec::*; use types::transaction::*; - use ethcore_logger::init_log; use trace::{FlatTrace, TraceError, trace}; use evm::CallType; @@ -1332,7 +1331,7 @@ mod tests { #[test] fn should_apply_create_transaction() { - init_log(); + let _ = env_logger::try_init(); let mut state = get_temp_state(); @@ -1372,7 +1371,7 @@ mod tests { #[test] fn should_work_when_cloned() { - init_log(); + let _ = env_logger::try_init(); let a = Address::zero(); @@ -1390,7 +1389,7 @@ mod tests { #[test] fn should_trace_failed_create_transaction() { - init_log(); + let _ = env_logger::try_init(); let mut state = get_temp_state(); @@ -1426,7 +1425,7 @@ mod tests { #[test] fn should_trace_call_transaction() { - init_log(); + let _ = env_logger::try_init(); let mut state = get_temp_state(); @@ -1468,7 +1467,7 @@ mod tests { #[test] fn should_trace_basic_call_transaction() { - init_log(); + let _ = env_logger::try_init(); let mut state = get_temp_state(); @@ -1509,7 +1508,7 @@ mod tests { #[test] fn should_trace_call_transaction_to_builtin() { - init_log(); + let _ = env_logger::try_init(); let mut state = get_temp_state(); @@ -1550,7 +1549,7 @@ mod tests { #[test] fn should_not_trace_subcall_transaction_to_builtin() { - init_log(); + let _ = env_logger::try_init(); let mut state = get_temp_state(); @@ -1592,7 +1591,7 @@ mod tests { #[test] fn should_trace_callcode_properly() { - init_log(); + let _ = env_logger::try_init(); let mut state = get_temp_state(); @@ -1650,7 +1649,7 @@ mod tests { #[test] fn should_trace_delegatecall_properly() { - init_log(); + let _ = env_logger::try_init(); let mut state = get_temp_state(); @@ -1709,7 +1708,7 @@ mod tests { #[test] fn should_trace_failed_call_transaction() { - init_log(); + let _ = env_logger::try_init(); let mut state = get_temp_state(); @@ -1748,7 +1747,7 @@ mod tests { #[test] fn should_trace_call_with_subcall_transaction() { - init_log(); + let _ = env_logger::try_init(); let mut state = get_temp_state(); @@ -1807,7 +1806,7 @@ mod tests { #[test] fn should_trace_call_with_basic_subcall_transaction() { - init_log(); + let _ = env_logger::try_init(); let mut state = get_temp_state(); @@ -1861,7 +1860,7 @@ mod tests { #[test] fn should_not_trace_call_with_invalid_basic_subcall_transaction() { - init_log(); + let _ = env_logger::try_init(); let mut state = get_temp_state(); @@ -1903,7 +1902,7 @@ mod tests { #[test] fn should_trace_failed_subcall_transaction() { - init_log(); + let _ = env_logger::try_init(); let mut state = get_temp_state(); @@ -1958,7 +1957,7 @@ mod tests { #[test] fn should_trace_call_with_subcall_with_subcall_transaction() { - init_log(); + let _ = env_logger::try_init(); let mut state = get_temp_state(); @@ -2032,7 +2031,7 @@ mod tests { #[test] fn should_trace_failed_subcall_with_subcall_transaction() { - init_log(); + let _ = env_logger::try_init(); let mut state = get_temp_state(); @@ -2104,7 +2103,7 @@ mod tests { #[test] fn should_trace_suicide() { - init_log(); + let _ = env_logger::try_init(); let mut state = get_temp_state(); diff --git a/ethcore/src/state_db.rs b/ethcore/src/state_db.rs index 4b654c6a92d..6b31864526e 100644 --- a/ethcore/src/state_db.rs +++ b/ethcore/src/state_db.rs @@ -483,11 +483,10 @@ mod tests { use kvdb::DBTransaction; use test_helpers::get_temp_state_db; use state::{Account, Backend}; - use ethcore_logger::init_log; #[test] fn state_db_smoke() { - init_log(); + let _ = ::env_logger::try_init(); let state_db = get_temp_state_db(); let root_parent = H256::random(); diff --git a/ethcore/sync/Cargo.toml b/ethcore/sync/Cargo.toml index 7d6a6c27e19..c8545c00f02 100644 --- a/ethcore/sync/Cargo.toml +++ b/ethcore/sync/Cargo.toml @@ -33,6 +33,7 @@ trace-time = "0.1" triehash-ethereum = {version = "0.2", path = "../../util/triehash-ethereum" } [dev-dependencies] +env_logger = "0.5" ethcore-io = { path = "../../util/io", features = ["mio"] } ethkey = { path = "../../accounts/ethkey" } kvdb-memorydb = "0.1" diff --git a/ethcore/sync/src/lib.rs b/ethcore/sync/src/lib.rs index fc648927624..72fc11cd7a8 100644 --- a/ethcore/sync/src/lib.rs +++ b/ethcore/sync/src/lib.rs @@ -22,7 +22,6 @@ //! extern crate common_types as types; -extern crate env_logger; extern crate ethcore; extern crate ethcore_io as io; extern crate ethcore_network as network; @@ -39,10 +38,11 @@ extern crate triehash_ethereum; extern crate ethcore_light as light; +#[cfg(test)] extern crate env_logger; +#[cfg(test)] extern crate ethcore_private_tx; #[cfg(test)] extern crate ethkey; #[cfg(test)] extern crate kvdb_memorydb; #[cfg(test)] extern crate rustc_hex; -#[cfg(test)] extern crate ethcore_private_tx; #[macro_use] extern crate macros; diff --git a/ethcore/wasm/Cargo.toml b/ethcore/wasm/Cargo.toml index c2bf6b29695..02aa978d7b6 100644 --- a/ethcore/wasm/Cargo.toml +++ b/ethcore/wasm/Cargo.toml @@ -11,5 +11,7 @@ parity-wasm = "0.31" libc = "0.2" pwasm-utils = "0.6.1" vm = { path = "../vm" } -ethcore-logger = { path = "../../logger" } wasmi = "0.3.0" + +[dev-dependencies] +env_logger = "0.5" diff --git a/ethcore/wasm/run/Cargo.toml b/ethcore/wasm/run/Cargo.toml index 6c5c27dfc76..9260d1eee83 100644 --- a/ethcore/wasm/run/Cargo.toml +++ b/ethcore/wasm/run/Cargo.toml @@ -12,7 +12,7 @@ ethjson = { path = "../../../json" } vm = { path = "../../vm" } wasm = { path = "../" } clap = "2.24" -ethcore-logger = { path = "../../../logger" } +env_logger = "0.5" rustc-hex = "1" [features] diff --git a/ethcore/wasm/run/src/main.rs b/ethcore/wasm/run/src/main.rs index f273b32cd31..0773f9b42af 100644 --- a/ethcore/wasm/run/src/main.rs +++ b/ethcore/wasm/run/src/main.rs @@ -22,8 +22,8 @@ extern crate ethjson; extern crate wasm; extern crate vm; extern crate clap; -extern crate ethcore_logger; extern crate rustc_hex; +extern crate env_logger; mod fixture; mod runner; @@ -33,7 +33,7 @@ use clap::{App, Arg}; use std::fs; fn main() { - ::ethcore_logger::init_log(); + ::env_logger::init(); let matches = App::new("pwasm-run-test") .arg(Arg::with_name("target") diff --git a/ethcore/wasm/src/lib.rs b/ethcore/wasm/src/lib.rs index 5cf125e5789..1e6129ba13c 100644 --- a/ethcore/wasm/src/lib.rs +++ b/ethcore/wasm/src/lib.rs @@ -17,7 +17,6 @@ //! Wasm Interpreter extern crate byteorder; -extern crate ethcore_logger; extern crate ethereum_types; #[macro_use] extern crate log; extern crate libc; @@ -26,12 +25,17 @@ extern crate vm; extern crate pwasm_utils as wasm_utils; extern crate wasmi; -mod runtime; #[cfg(test)] -mod tests; +extern crate env_logger; + mod env; mod panic_payload; mod parser; +mod runtime; + +#[cfg(test)] +mod tests; + use vm::{GasLeft, ReturnData, ActionParams}; use wasmi::{Error as InterpreterError, Trap}; diff --git a/ethcore/wasm/src/tests.rs b/ethcore/wasm/src/tests.rs index 0def27eb6c7..9ed7053da18 100644 --- a/ethcore/wasm/src/tests.rs +++ b/ethcore/wasm/src/tests.rs @@ -35,7 +35,7 @@ macro_rules! reqrep_test { }; ($name: expr, $input: expr, $info: expr, $block_hashes: expr) => { { - ::ethcore_logger::init_log(); + let _ = ::env_logger::try_init(); let code = load_sample!($name); let mut params = ActionParams::default(); @@ -94,7 +94,7 @@ fn empty() { // logger.wasm writes all these provided fixed header fields to some arbitrary storage keys. #[test] fn logger() { - ::ethcore_logger::init_log(); + let _ = ::env_logger::try_init(); let code = load_sample!("logger.wasm"); let address: Address = "0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6".parse().unwrap(); @@ -148,7 +148,7 @@ fn logger() { // if it has any result. #[test] fn identity() { - ::ethcore_logger::init_log(); + let _ = ::env_logger::try_init(); let code = load_sample!("identity.wasm"); let sender: Address = "01030507090b0d0f11131517191b1d1f21232527".parse().unwrap(); @@ -182,7 +182,7 @@ fn identity() { // This also tests byte-perfect memory allocation and in/out ptr lifecycle. #[test] fn dispersion() { - ::ethcore_logger::init_log(); + let _ = ::env_logger::try_init(); let code = load_sample!("dispersion.wasm"); @@ -240,7 +240,7 @@ fn suicide_not() { #[test] fn suicide() { - ::ethcore_logger::init_log(); + let _ = ::env_logger::try_init(); let code = load_sample!("suicidal.wasm"); @@ -272,7 +272,7 @@ fn suicide() { #[test] fn create() { - ::ethcore_logger::init_log(); + let _ = ::env_logger::try_init(); let mut params = ActionParams::default(); params.gas = U256::from(100_000); @@ -328,7 +328,7 @@ fn create() { #[test] fn call_msg() { - ::ethcore_logger::init_log(); + let _ = ::env_logger::try_init(); let sender: Address = "01030507090b0d0f11131517191b1d1f21232527".parse().unwrap(); let receiver: Address = "0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6".parse().unwrap(); @@ -375,7 +375,7 @@ fn call_msg() { // value as `gas` argument to the inner pwasm_ethereum::call #[test] fn call_msg_gasleft() { - ::ethcore_logger::init_log(); + let _ = ::env_logger::try_init(); let sender: Address = "01030507090b0d0f11131517191b1d1f21232527".parse().unwrap(); let receiver: Address = "0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6".parse().unwrap(); @@ -421,7 +421,7 @@ fn call_msg_gasleft() { #[test] fn call_code() { - ::ethcore_logger::init_log(); + let _ = ::env_logger::try_init(); let sender: Address = "01030507090b0d0f11131517191b1d1f21232527".parse().unwrap(); let receiver: Address = "0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6".parse().unwrap(); @@ -467,7 +467,7 @@ fn call_code() { #[test] fn call_static() { - ::ethcore_logger::init_log(); + let _ = ::env_logger::try_init(); let sender: Address = "0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6".parse().unwrap(); let receiver: Address = "01030507090b0d0f11131517191b1d1f21232527".parse().unwrap(); @@ -563,7 +563,7 @@ fn alloc() { // Test prepopulates address into storage, than executes a contract which read that address from storage and write this address into result #[test] fn storage_read() { - ::ethcore_logger::init_log(); + let _ = ::env_logger::try_init(); let code = load_sample!("storage_read.wasm"); let address: Address = "0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6".parse().unwrap(); @@ -591,7 +591,7 @@ fn storage_read() { // keccak.wasm runs wasm-std::keccak function on data param and returns hash #[test] fn keccak() { - ::ethcore_logger::init_log(); + let _ = ::env_logger::try_init(); let code = load_sample!("keccak.wasm"); let mut params = ActionParams::default(); @@ -730,7 +730,7 @@ fn math_div() { #[test] fn storage_metering() { - ::ethcore_logger::init_log(); + let _ = ::env_logger::try_init(); // #1 let mut ext = FakeExt::new().with_wasm(); @@ -866,7 +866,7 @@ fn externs() { // This test checks the ability of wasm contract to invoke gasleft #[test] fn gasleft() { - ::ethcore_logger::init_log(); + let _ = ::env_logger::try_init(); let mut params = ActionParams::default(); params.gas = U256::from(100_000); @@ -891,7 +891,7 @@ fn gasleft() { // ext.schedule.wasm.as_mut().unwrap().have_gasleft = false; #[test] fn gasleft_fail() { - ::ethcore_logger::init_log(); + let _ = ::env_logger::try_init(); let mut params = ActionParams::default(); params.gas = U256::from(100_000); @@ -906,7 +906,7 @@ fn gasleft_fail() { #[test] fn embedded_keccak() { - ::ethcore_logger::init_log(); + let _ = ::env_logger::try_init(); let mut code = load_sample!("keccak.wasm"); code.extend_from_slice(b"something"); @@ -935,7 +935,7 @@ fn embedded_keccak() { /// and reversed input as a data #[test] fn events() { - ::ethcore_logger::init_log(); + let _ = ::env_logger::try_init(); let code = load_sample!("events.wasm"); let mut params = ActionParams::default(); @@ -967,7 +967,7 @@ fn events() { #[test] fn recursive() { - ::ethcore_logger::init_log(); + let _ = ::env_logger::try_init(); let code = load_sample!("recursive.wasm"); let mut params = ActionParams::default(); diff --git a/miner/stratum/Cargo.toml b/miner/stratum/Cargo.toml index 72fd2379155..137604d53be 100644 --- a/miner/stratum/Cargo.toml +++ b/miner/stratum/Cargo.toml @@ -18,4 +18,3 @@ parking_lot = "0.7" env_logger = "0.5" tokio = "0.1" tokio-io = "0.1" -ethcore-logger = { path = "../../logger" } diff --git a/miner/stratum/src/lib.rs b/miner/stratum/src/lib.rs index 0ad702ce9f8..5d2cb68a358 100644 --- a/miner/stratum/src/lib.rs +++ b/miner/stratum/src/lib.rs @@ -27,7 +27,7 @@ extern crate parking_lot; #[cfg(test)] extern crate tokio; #[cfg(test)] extern crate tokio_io; -#[cfg(test)] extern crate ethcore_logger; +#[cfg(test)] extern crate env_logger; mod traits; @@ -329,8 +329,6 @@ mod tests { use tokio::{io, runtime::Runtime, timer::timeout::{self, Timeout}, net::TcpStream}; use jsonrpc_core::futures::{Future, future}; - use ethcore_logger::init_log; - pub struct VoidManager; impl JobDispatcher for VoidManager { @@ -369,7 +367,7 @@ mod tests { #[test] fn records_subscriber() { - init_log(); + let _ = ::env_logger::try_init(); let addr = "127.0.0.1:19985".parse().unwrap(); let stratum = Stratum::start(&addr, Arc::new(VoidManager), None).unwrap(); @@ -443,7 +441,7 @@ mod tests { #[test] fn can_push_work() { - init_log(); + let _ = ::env_logger::try_init(); let addr = "127.0.0.1:19995".parse().unwrap(); let stratum = Stratum::start( diff --git a/parity/lib.rs b/parity/lib.rs index 4f1a0d9aa62..14ec8f98ed2 100644 --- a/parity/lib.rs +++ b/parity/lib.rs @@ -23,7 +23,6 @@ extern crate docopt; #[macro_use] extern crate clap; extern crate dir; -extern crate env_logger; extern crate futures; extern crate atty; extern crate jsonrpc_core; diff --git a/logger/Cargo.toml b/parity/logger/Cargo.toml similarity index 100% rename from logger/Cargo.toml rename to parity/logger/Cargo.toml diff --git a/logger/src/lib.rs b/parity/logger/src/lib.rs similarity index 100% rename from logger/src/lib.rs rename to parity/logger/src/lib.rs diff --git a/logger/src/rotating.rs b/parity/logger/src/rotating.rs similarity index 100% rename from logger/src/rotating.rs rename to parity/logger/src/rotating.rs diff --git a/rpc/Cargo.toml b/rpc/Cargo.toml index 59dc43ab259..a04ca970b73 100644 --- a/rpc/Cargo.toml +++ b/rpc/Cargo.toml @@ -42,7 +42,7 @@ parity-bytes = "0.1" parity-crypto = "0.2" ethcore-io = { path = "../util/io" } ethcore-light = { path = "../ethcore/light" } -ethcore-logger = { path = "../logger" } +ethcore-logger = { path = "../parity/logger" } ethcore-miner = { path = "../miner" } ethcore-private-tx = { path = "../ethcore/private-tx" } ethcore-sync = { path = "../ethcore/sync" } diff --git a/rpc/src/v1/impls/parity.rs b/rpc/src/v1/impls/parity.rs index 4252d763271..39948ce1a82 100644 --- a/rpc/src/v1/impls/parity.rs +++ b/rpc/src/v1/impls/parity.rs @@ -167,6 +167,7 @@ impl Parity for ParityClient where } fn dev_logs(&self) -> Result> { + warn!("This method is deprecated and will be removed in future. See PR #10102"); let logs = self.logger.logs(); Ok(logs.as_slice().to_owned()) } diff --git a/secret-store/Cargo.toml b/secret-store/Cargo.toml index 5941c860277..8d41d48a87a 100644 --- a/secret-store/Cargo.toml +++ b/secret-store/Cargo.toml @@ -25,7 +25,6 @@ url = "1.0" ethcore = { path = "../ethcore" } parity-bytes = "0.1" parity-crypto = "0.2" -ethcore-logger = { path = "../logger" } ethcore-sync = { path = "../ethcore/sync" } ethereum-types = "0.4" kvdb = "0.1" @@ -37,6 +36,7 @@ ethabi-derive = "6.0" ethabi-contract = "6.0" [dev-dependencies] +env_logger = "0.5" ethcore = { path = "../ethcore", features = ["test-helpers"] } tempdir = "0.3" kvdb-rocksdb = "0.1.3" diff --git a/secret-store/src/key_server.rs b/secret-store/src/key_server.rs index 066c6fcc61c..24d8c8f9e02 100644 --- a/secret-store/src/key_server.rs +++ b/secret-store/src/key_server.rs @@ -325,7 +325,7 @@ pub mod tests { #[test] fn document_key_generation_and_retrievement_works_over_network_with_single_node() { - //::logger::init_log(); + let _ = ::env_logger::try_init(); let (key_servers, _, runtime) = make_key_servers(6070, 1); // generate document key @@ -347,7 +347,7 @@ pub mod tests { #[test] fn document_key_generation_and_retrievement_works_over_network_with_3_nodes() { - //::logger::init_log(); + let _ = ::env_logger::try_init(); let (key_servers, key_storages, runtime) = make_key_servers(6080, 3); let test_cases = [0, 1, 2]; @@ -375,7 +375,7 @@ pub mod tests { #[test] fn server_key_generation_and_storing_document_key_works_over_network_with_3_nodes() { - //::logger::init_log(); + let _ = ::env_logger::try_init(); let (key_servers, _, runtime) = make_key_servers(6090, 3); let test_cases = [0, 1, 2]; @@ -407,7 +407,7 @@ pub mod tests { #[test] fn server_key_generation_and_message_signing_works_over_network_with_3_nodes() { - //::logger::init_log(); + let _ = ::env_logger::try_init(); let (key_servers, _, runtime) = make_key_servers(6100, 3); let test_cases = [0, 1, 2]; @@ -433,7 +433,7 @@ pub mod tests { #[test] fn decryption_session_is_delegated_when_node_does_not_have_key_share() { - //::logger::init_log(); + let _ = ::env_logger::try_init(); let (key_servers, _, runtime) = make_key_servers(6110, 3); // generate document key @@ -456,7 +456,7 @@ pub mod tests { #[test] fn schnorr_signing_session_is_delegated_when_node_does_not_have_key_share() { - //::logger::init_log(); + let _ = ::env_logger::try_init(); let (key_servers, _, runtime) = make_key_servers(6114, 3); let threshold = 1; @@ -483,7 +483,7 @@ pub mod tests { #[test] fn ecdsa_signing_session_is_delegated_when_node_does_not_have_key_share() { - //::logger::init_log(); + let _ = ::env_logger::try_init(); let (key_servers, _, runtime) = make_key_servers(6117, 4); let threshold = 1; diff --git a/secret-store/src/key_server_cluster/cluster.rs b/secret-store/src/key_server_cluster/cluster.rs index 282e7c2511d..09a1a6a5a86 100644 --- a/secret-store/src/key_server_cluster/cluster.rs +++ b/secret-store/src/key_server_cluster/cluster.rs @@ -1360,7 +1360,7 @@ pub mod tests { #[test] fn error_in_generation_session_broadcasted_to_all_other_nodes() { - //::logger::init_log(); + let _ = ::env_logger::try_init(); let runtime = new_runtime(); let clusters = make_clusters(&runtime, 6016, 3); run_clusters(&clusters); @@ -1395,7 +1395,7 @@ pub mod tests { #[test] fn generation_session_completion_signalled_if_failed_on_master() { - //::logger::init_log(); + let _ = ::env_logger::try_init(); let runtime = new_runtime(); let clusters = make_clusters(&runtime, 6025, 3); run_clusters(&clusters); @@ -1430,7 +1430,7 @@ pub mod tests { #[test] fn generation_session_is_removed_when_succeeded() { - //::logger::init_log(); + let _ = ::env_logger::try_init(); let runtime = new_runtime(); let clusters = make_clusters(&runtime, 6019, 3); run_clusters(&clusters); @@ -1506,7 +1506,7 @@ pub mod tests { #[test] #[ignore] fn schnorr_signing_session_completes_if_node_does_not_have_a_share() { - //::logger::init_log(); + let _ = ::env_logger::try_init(); let runtime = new_runtime(); let clusters = make_clusters(&runtime, 6028, 3); run_clusters(&clusters); @@ -1568,7 +1568,7 @@ pub mod tests { #[test] #[ignore] fn ecdsa_signing_session_completes_if_node_does_not_have_a_share() { - //::logger::init_log(); + let _ = ::env_logger::try_init(); let runtime = new_runtime(); let clusters = make_clusters(&runtime, 6041, 4); run_clusters(&clusters); diff --git a/secret-store/src/lib.rs b/secret-store/src/lib.rs index 6471e5614ba..76ae09ffb34 100644 --- a/secret-store/src/lib.rs +++ b/secret-store/src/lib.rs @@ -18,7 +18,6 @@ extern crate byteorder; extern crate common_types; extern crate ethabi; extern crate ethcore; -extern crate ethcore_logger as logger; extern crate ethcore_sync as sync; extern crate ethereum_types; extern crate ethkey; @@ -51,6 +50,8 @@ extern crate lazy_static; #[macro_use] extern crate log; +#[cfg(test)] +extern crate env_logger; #[cfg(test)] extern crate kvdb_rocksdb; diff --git a/util/journaldb/Cargo.toml b/util/journaldb/Cargo.toml index 060aa4d6ec5..20657f2ca43 100644 --- a/util/journaldb/Cargo.toml +++ b/util/journaldb/Cargo.toml @@ -19,6 +19,6 @@ fastmap = { path = "../../util/fastmap" } rlp = { version = "0.3.0", features = ["ethereum"] } [dev-dependencies] -ethcore-logger = { path = "../../logger" } +env_logger = "0.5" keccak-hash = "0.1" kvdb-memorydb = "0.1" diff --git a/util/journaldb/src/earlymergedb.rs b/util/journaldb/src/earlymergedb.rs index 41474d78d3d..aac1af01699 100644 --- a/util/journaldb/src/earlymergedb.rs +++ b/util/journaldb/src/earlymergedb.rs @@ -526,7 +526,6 @@ mod tests { use hashdb::HashDB; use super::*; use super::super::traits::JournalDB; - use ethcore_logger::init_log; use kvdb_memorydb; #[test] @@ -823,7 +822,7 @@ mod tests { #[test] fn insert_delete_insert_delete_insert_expunge() { - init_log(); + let _ = ::env_logger::try_init(); let mut jdb = new_db(); @@ -850,7 +849,7 @@ mod tests { #[test] fn forked_insert_delete_insert_delete_insert_expunge() { - init_log(); + let _ = ::env_logger::try_init(); let mut jdb = new_db(); // history is 4 @@ -959,7 +958,7 @@ mod tests { #[test] fn reopen_remove_three() { - init_log(); + let _ = ::env_logger::try_init(); let shared_db = Arc::new(kvdb_memorydb::create(0)); let foo = keccak(b"foo"); diff --git a/util/journaldb/src/lib.rs b/util/journaldb/src/lib.rs index d6af35bb7b7..67ceeb848a8 100644 --- a/util/journaldb/src/lib.rs +++ b/util/journaldb/src/lib.rs @@ -31,7 +31,7 @@ extern crate fastmap; extern crate rlp; #[cfg(test)] -extern crate ethcore_logger; +extern crate env_logger; #[cfg(test)] extern crate keccak_hash as keccak; #[cfg(test)] diff --git a/util/journaldb/src/overlayrecentdb.rs b/util/journaldb/src/overlayrecentdb.rs index 83d17d56dd1..67f5ab88907 100644 --- a/util/journaldb/src/overlayrecentdb.rs +++ b/util/journaldb/src/overlayrecentdb.rs @@ -494,7 +494,6 @@ mod tests { use keccak::keccak; use super::*; use hashdb::HashDB; - use ethcore_logger::init_log; use {kvdb_memorydb, JournalDB}; fn new_db() -> OverlayRecentDB { @@ -772,7 +771,7 @@ mod tests { #[test] fn insert_delete_insert_delete_insert_expunge() { - init_log(); + let _ = ::env_logger::try_init(); let mut jdb = new_db(); // history is 4 @@ -798,7 +797,7 @@ mod tests { #[test] fn forked_insert_delete_insert_delete_insert_expunge() { - init_log(); + let _ = ::env_logger::try_init(); let mut jdb = new_db(); // history is 4 @@ -905,7 +904,7 @@ mod tests { #[test] fn reopen_remove_three() { - init_log(); + let _ = ::env_logger::try_init(); let shared_db = Arc::new(kvdb_memorydb::create(0)); let foo = keccak(b"foo"); diff --git a/util/network-devp2p/Cargo.toml b/util/network-devp2p/Cargo.toml index aa54e030a54..5254e8a65d4 100644 --- a/util/network-devp2p/Cargo.toml +++ b/util/network-devp2p/Cargo.toml @@ -22,7 +22,6 @@ rustc-hex = "1.0" ethcore-io = { path = "../io", features = ["mio"] } parity-bytes = "0.1" parity-crypto = "0.2" -ethcore-logger = { path ="../../logger" } ethcore-network = { path = "../network" } ethereum-types = "0.4" ethkey = { path = "../../accounts/ethkey" } @@ -37,6 +36,7 @@ serde_derive = "1.0" error-chain = { version = "0.12", default-features = false } [dev-dependencies] +env_logger = "0.5" tempdir = "0.3" assert_matches = "1.2" diff --git a/util/network-devp2p/src/lib.rs b/util/network-devp2p/src/lib.rs index d43c10ca932..531c6ee506f 100644 --- a/util/network-devp2p/src/lib.rs +++ b/util/network-devp2p/src/lib.rs @@ -78,7 +78,6 @@ extern crate ethkey; extern crate rlp; extern crate bytes; extern crate parity_path; -extern crate ethcore_logger; extern crate ethcore_network as network; extern crate ipnetwork; extern crate keccak_hash as hash; @@ -93,6 +92,8 @@ extern crate log; #[macro_use] extern crate serde_derive; +#[cfg(test)] +extern crate env_logger; #[cfg(test)] extern crate tempdir; #[cfg(test)] #[macro_use] diff --git a/util/network-devp2p/tests/tests.rs b/util/network-devp2p/tests/tests.rs index ab83bab1847..adc55b791dc 100644 --- a/util/network-devp2p/tests/tests.rs +++ b/util/network-devp2p/tests/tests.rs @@ -14,13 +14,13 @@ // You should have received a copy of the GNU General Public License // along with Parity Ethereum. If not, see . -extern crate parking_lot; -extern crate parity_bytes; +extern crate env_logger; extern crate ethcore_io as io; -extern crate ethcore_logger; extern crate ethcore_network; extern crate ethcore_network_devp2p; extern crate ethkey; +extern crate parity_bytes; +extern crate parking_lot; use std::sync::atomic::{AtomicBool, Ordering as AtomicOrdering}; use std::sync::Arc; diff --git a/whisper/cli/Cargo.toml b/whisper/cli/Cargo.toml index 243af28eebf..5147a6b5638 100644 --- a/whisper/cli/Cargo.toml +++ b/whisper/cli/Cargo.toml @@ -6,18 +6,18 @@ authors = ["Parity Technologies "] license = "GPL-3.0" [dependencies] -ethcore-network-devp2p = { path = "../../util/network-devp2p" } -ethcore-network = { path = "../../util/network" } -ethcore-logger = { path = "../../logger" } -parity-whisper = { path = "../" } docopt = "1.0" -serde = "1.0" -serde_derive = "1.0" -panic_hook = { path = "../../util/panic-hook" } +env_logger = "0.5" +ethcore-network = { path = "../../util/network" } +ethcore-network-devp2p = { path = "../../util/network-devp2p" } jsonrpc-core = { git = "https://github.com/paritytech/jsonrpc.git", branch = "parity-2.2" } -jsonrpc-pubsub = { git = "https://github.com/paritytech/jsonrpc.git", branch = "parity-2.2" } jsonrpc-http-server = { git = "https://github.com/paritytech/jsonrpc.git", branch = "parity-2.2" } +jsonrpc-pubsub = { git = "https://github.com/paritytech/jsonrpc.git", branch = "parity-2.2" } log = "0.4" +panic_hook = { path = "../../util/panic-hook" } +parity-whisper = { path = "../" } +serde = "1.0" +serde_derive = "1.0" [[bin]] name = "whisper" diff --git a/whisper/cli/src/main.rs b/whisper/cli/src/main.rs index e4764ad0d6d..f671b4a248b 100644 --- a/whisper/cli/src/main.rs +++ b/whisper/cli/src/main.rs @@ -23,16 +23,16 @@ #![cfg_attr(feature = "cargo-clippy", deny(clippy, clippy_pedantic))] extern crate docopt; -extern crate ethcore_network_devp2p as devp2p; +extern crate env_logger; extern crate ethcore_network as net; +extern crate ethcore_network_devp2p as devp2p; +extern crate panic_hook; extern crate parity_whisper as whisper; extern crate serde; -extern crate panic_hook; extern crate jsonrpc_core; extern crate jsonrpc_pubsub; extern crate jsonrpc_http_server; -extern crate ethcore_logger as log; #[macro_use] extern crate log as rlog; @@ -131,7 +131,6 @@ enum Error { JsonRpc(jsonrpc_core::Error), Network(net::Error), SockAddr(std::net::AddrParseError), - Logger(String), } impl From for Error { @@ -164,12 +163,6 @@ impl From for Error { } } -impl From for Error { - fn from(err: String) -> Self { - Error::Logger(err) - } -} - impl fmt::Display for Error { fn fmt(&self, f: &mut fmt::Formatter) -> Result<(), fmt::Error> { match *self { @@ -178,7 +171,6 @@ impl fmt::Display for Error { Error::Io(ref e) => write!(f, "{}", e), Error::JsonRpc(ref e) => write!(f, "{:?}", e), Error::Network(ref e) => write!(f, "{}", e), - Error::Logger(ref e) => write!(f, "{}", e), } } } @@ -206,7 +198,7 @@ fn execute(command: I) -> Result<(), Error> where I: IntoIterator, let pool_size = args.flag_whisper_pool_size * POOL_UNIT; let url = format!("{}:{}", args.flag_address, args.flag_port); - initialize_logger(args.flag_log)?; + initialize_logger(args.flag_log); info!(target: "whisper-cli", "start"); // Filter manager that will dispatch `decryption tasks` @@ -249,11 +241,10 @@ fn execute(command: I) -> Result<(), Error> where I: IntoIterator, Ok(()) } -fn initialize_logger(log_level: String) -> Result<(), String> { - let mut l = log::Config::default(); - l.mode = Some(log_level); - log::setup_log(&l)?; - Ok(()) +fn initialize_logger(log_level: String) { + env_logger::Builder::from_env(env_logger::Env::default()) + .parse(&log_level) + .init(); } #[cfg(test)] From 492317abd7d82a67bd5bf2ee10af4f8a8413aad6 Mon Sep 17 00:00:00 2001 From: ETHorHIL Date: Wed, 9 Jan 2019 11:37:28 +0100 Subject: [PATCH 21/68] Update EWF's tobalaba chainspec (#10152) Added some bootnodes and removed some that we have lost access to. --- ethcore/res/ethereum/tobalaba.json | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/ethcore/res/ethereum/tobalaba.json b/ethcore/res/ethereum/tobalaba.json index 5dfaada0318..043367cc72d 100644 --- a/ethcore/res/ethereum/tobalaba.json +++ b/ethcore/res/ethereum/tobalaba.json @@ -66,9 +66,15 @@ }, "nodes": [ - "enode://eda34244538d72f42605a6fc8b8a34b15714c683989e8b29dc9e7a2b2088da490a5b32f2c149bec5a5c482bf03ec2c4f38b833ae31e36fcb26fb05fd094b2a88@18.197.33.9:30303", - "enode://12e903e900137b02b22e01f7918bd6e7310773c313e4e577281f35597e394a3e0b54c7314a8970a9776c5a3e5dc4daee289215dea3897bcb6d5cf0bb1dd2d356@18.197.31.231:30303", - "enode://423fdb91b37ec0714af0c19f625ec4af3ada2844367a36e45a05703577a84f7f0e9483585d4950a35c9e3738dba8c6abd7e1ce278d9a1f3f28065bc009f409cd@52.221.203.209:30303", - "enode://a9327d37d07799817d4a3e13d49fb4f5cc1486d4adf3ec8a6b98be62c4d7a5453914a5139dbe124809a388514cb0be37f9fa799539abe2250672f6d3d778b821@18.191.209.251:30303" + "enode://a9327d37d07799817d4a3e13d49fb4f5cc1486d4adf3ec8a6b98be62c4d7a5453914a5139dbe124809a388514cb0be37f9fa799539abe2250672f6d3d778b821@18.191.209.251:30303", + "enode://8185e15b0e269e19b9051ba2c3bab9160f0e52a8e5e2cef626013142d957c4256f0b18e80965a9fa9acabdb2ba07890c995ad354cbda0fa812ded5a5ce878321@3.121.61.202:30303", + "enode://38fab1370b042170b37ebd758d07c17b7aa4fd4ff21db8e8f120ade9cf17835ae67fd014a047ee171952fba2a05a90505fedbe98c883b20e4501d437aec8b831@3.122.42.125:30303", + "enode://d2fdbd9efe681080410775dbe986014e21a6a096b6dfd7d2c499f3b893951adf3aae0164392404f6269d231192735bd0c8da3d022639e8a36d8d17299daa632a@3.122.18.27:30303", + "enode://9745ffa93cde2a0e22528fbd4a4f8b5102035ab8c7a781918c9ef92dee6e5a21635dfd106ccfbcf24f4fdd52e8fb513b7f3f55ced90c9b61f2cd756bccd7f660@18.210.141.224:30303", + "enode://4c36427e744783bcbc595a7fbbe785951130d8d4fe9f2206c78538fcf43fb19172df8a577c4ae0c91b7627b057bdf148666a7e4e428650e677f9c443e59479e4@3.86.127.87:30303", + "enode://b447c1eaad456996ae4ce965a01d543b8f4b0d7e78e23d2cc2d328fe0e0b87dac55eaebe9a27ae24fb879cf056b52b11d967d37a731f5f5987ec4fc0dfb4d908@34.236.121.163:30303", + "enode://916dba32ba88b7a5554d862b5a01b5eddf805788545f2ba6ee682f1cfe08eac132b71a4d725bc73c7b687496e525bf414e7d90cd223dacebe1946e3bb464bca0@18.136.95.237:30303", + "enode://a46393687ee9fbe798aba517d8f92443e45ed7e5ea85aa996c62998088607d57b000001945063045584861652802325d93828cef29a9eb966772f75521dff8c6@3.0.157.214:30303", + "enode://94b92761837031a7afbbc7e6a4363baf6c5f04c7766ab63f4f5b47c98be30faef6e5e91d30cc08dd682a6dc16cdd4f85ec6843f4ac9f18887d4da20b04878ea6@52.220.46.9:30303" ] } From 3d28823be73849245ac66a42bb4daa3d6386e733 Mon Sep 17 00:00:00 2001 From: Vadim Arasev <33550681+varasev@users.noreply.github.com> Date: Wed, 9 Jan 2019 14:42:44 +0300 Subject: [PATCH 22/68] HF in POA Core (2019-01-18) - Constantinople (#10155) https://github.com/poanetwork/poa-chain-spec/pull/100 --- ethcore/res/ethereum/poacore.json | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/ethcore/res/ethereum/poacore.json b/ethcore/res/ethereum/poacore.json index 9fc34d22a2b..53b3c548c55 100644 --- a/ethcore/res/ethereum/poacore.json +++ b/ethcore/res/ethereum/poacore.json @@ -34,7 +34,11 @@ "eip140Transition": "0x0", "eip211Transition": "0x0", "eip214Transition": "0x0", - "eip658Transition": "0x0" + "eip658Transition": "0x0", + "eip145Transition": 6843780, + "eip1014Transition": 6843780, + "eip1052Transition": 6843780, + "eip1283Transition": 6843780 }, "genesis": { "seal": { From f9a8aac0360f21597b7864f0091144442abbad20 Mon Sep 17 00:00:00 2001 From: Afri Schoedon <5chdn@users.noreply.github.com> Date: Wed, 9 Jan 2019 14:39:21 +0100 Subject: [PATCH 23/68] ci: re-enable snap publishing (#10142) * ci: enable snap publishing~ * ci: add publish snap script * ci: add snapcraft skeleton * ci: group export statements * ci: enable snaps on pr branch * ci: enable snaps on pr branch * ci: set default BUILD_ARCH * ci: enable snaps on pr branch * ci: enable snaps on pr branch * ci: add libdb to snap * ci: reinitiate gitlabci * ci: reinitiate publish-snap script * ci: fix yaml syntax * cargo/gitlab env vars * debug, revert me * version? * debug vars * vars * vars fix * vars fix * revert * Update scripts/gitlab/publish-snap.sh Co-Authored-By: 5chdn <5chdn@users.noreply.github.com> * ci: read track from cargo toml --- .gitlab-ci.yml | 19 ++++++++- scripts/gitlab/publish-snap.sh | 36 +++++++++++++++++ scripts/snap/icon.png | Bin 0 -> 5044 bytes scripts/snap/parity.desktop | 8 ++++ scripts/snap/snapcraft.template.yaml | 57 +++++++++++++++++++++++++++ 5 files changed, 118 insertions(+), 2 deletions(-) create mode 100755 scripts/gitlab/publish-snap.sh create mode 100644 scripts/snap/icon.png create mode 100644 scripts/snap/parity.desktop create mode 100644 scripts/snap/snapcraft.template.yaml diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 4597f667b9d..5d5f483da12 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -54,8 +54,6 @@ test-audit: build-linux: stage: build only: *releaseable_branches - variables: - CARGO_TARGET: x86_64-unknown-linux-gnu script: - scripts/gitlab/build-unix.sh <<: *collect_artifacts @@ -97,6 +95,23 @@ publish-docker: script: - scripts/gitlab/publish-docker.sh parity +publish-snap: + stage: publish + only: *releaseable_branches + image: parity/snapcraft:gitlab-ci + variables: + BUILD_ARCH: amd64 + cache: {} + before_script: *determine_version + dependencies: + - build-linux + tags: + - rust-stable + script: + - scripts/gitlab/publish-snap.sh + allow_failure: true + <<: *collect_artifacts + publish-awss3: stage: publish only: *releaseable_branches diff --git a/scripts/gitlab/publish-snap.sh b/scripts/gitlab/publish-snap.sh new file mode 100755 index 00000000000..a664341e890 --- /dev/null +++ b/scripts/gitlab/publish-snap.sh @@ -0,0 +1,36 @@ +#!/bin/bash + +set -e # fail on any error +set -u # treat unset variables as error + +TRACK=`awk -F '=' '/^track/ {print $2}' ./util/version/Cargo.toml` + +case ${TRACK} in + nightly) export GRADE="devel" CHANNEL="edge";; + beta) export GRADE="stable" CHANNEL="beta";; + stable) export GRADE="stable" CHANNEL="stable";; + *) echo "No release" exit 0;; +esac + +SNAP_PACKAGE="parity_"$VERSION"_"$BUILD_ARCH".snap" + +echo "__________Create snap package__________" +echo "Release channel :" $GRADE " Branch/tag: " $CI_COMMIT_REF_NAME +echo $VERSION:$GRADE:$BUILD_ARCH +cat scripts/snap/snapcraft.template.yaml | envsubst '$VERSION:$GRADE:$BUILD_ARCH:$CARGO_TARGET' > snapcraft.yaml +cat snapcraft.yaml +snapcraft --target-arch=$BUILD_ARCH +ls *.snap + +echo "__________Calculating checksums__________" +rhash --sha256 $SNAP_PACKAGE -o $SNAP_PACKAGE".sha256" +cat $SNAP_PACKAGE".sha256" + +echo "__________Releasing snap package__________" +echo "Release channel :" $CHANNEL " Branch/tag: " $CI_COMMIT_REF_NAME + +echo $SNAPCRAFT_LOGIN_PARITY_BASE64 | base64 --decode > snapcraft.login +snapcraft login --with snapcraft.login +snapcraft push --release $CHANNEL $SNAP_PACKAGE +snapcraft status parity +snapcraft logout diff --git a/scripts/snap/icon.png b/scripts/snap/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..f0f22390f5629c9a746d7b54e359ca8a66fefd4b GIT binary patch literal 5044 zcmY*7c|6qH+h@jL?1QqUX2yCeTR+(|m?4x%itJpuieyQsCNngKvJHw#H-25$z9z&l zgc#|jM7HcBWjAG+4D){7Ki<##o`24Bp0hpY*`IUoti83Eu!1lEK+M+0@*Ds#2!sKo z0MvPe7ySWs@)1@SBb-A1h=}qH_Xif2LVowh*arIs_@DFly>v6I+y4Xr($2P)7U!c! z7XQ?YQnXfx@7ahmkA;c2Yh2aS2z~eBH-$P26Z~x%t2m2{Nu|-2R$<`>GFsX=#{m^^4r|Uq4037tS`*WCYyDIkG70c#>f$u+e)n~JRj5xgl z2%thyn{qhiXgK#GKS9aBdK-|ri9GS&Xf@ulSlSg`F|S? z!Fp?<7mrjzEC6%awOJ~*Au!Ylw|fq!_3Fr4Y%|ESv8baizJR-EAkVBEyEUho#m?t5*r7zO%M)(G3T}98B_PM0CR}#5=pZA(3LgCG>A65EzyOS+N4O9Qpm6%qF?04+Y8V9+yufH9TgIzk*Vvgs>mU({ zO*6tu0An|eKD=GwzU}Z?qDgJX8koOgWnbrpA9E;J3ksi|kUt6}0ZMC4*NW?u;$3>5 z!k88A6vMZ^>eepbW!&Xvu!3i9a=s|AXP})OXkkwHm8F5uNiS0uB%Z-)jhuXyXts}S zT6%29GdLP!!At<;)@}$>o8E+?)^VIm`GiE};h?^w*OJ8C%qzRI+j@x1r$M*4c8HyTRy`O@DOyT zb^|gWUDKEu^@naZ+R-d8P0j1V75_rLxQOD`%ZzgcvXGrm3#=iYK&($aq?tvOd9LG2-Bz%H)NFSzeVo>Ay6GLH;kRwo1T9 zL5OtugeS76=Z0PqWy7LwJ=sAD20q>HH5R%f!ub`dIofkRkLM%P+B;5C#s&AS>9K+c z6^g<$F^b?3Y*^ZTBD0bzzlpE3u{ltLCIdjoZ<5OWyds-5p`~lSYchMbY8wf3$n*?5 z7ud_1vmL!0W*h(h*b@ZIOn^MQ9BU>HC?@?ySuzV4SqjlH)|LD-G4~#S5~aj7L0OO^ z;DZDTtc9aeBmDC0g9ns&#kY93RS{$?2sP&xtHb1lIL00c`~EtLJ4gksht|6KB`z=A zODSg^xadZFcNPeOMH8FkjSD)_Lg+84WbUO7+ z0@3(%QvFk_Dn%r0Mv3>q*8D|Oi1U24B>Vf~(P#n&;(6p!-O4&&1)u9qA^??%W|!(k zB<*(q{58KhQcjCQfaqKR{V4uP&}v6NvjfP$^3*PlzVtk%m9`)!GB1b$t$AbOf7@Ih zaQ=5d9@Db)vBD4IlL63;%u)I;fF;tl9xII(%vd8i0FFA$sqE;g0edhFwPtWXnnFy8 ztTsf#5+83-i0$ndXQUe#Bf#z%53Z*5Vmt;VXztYO1(K5Fv-c(j z=ohLK*z1#Yp%%aYuuLvoyL=g$Ary#ogJJVLr?n5U&+N;us2f3YBFrJ?AgNqJbI!m+ zqV8hk0XrF?r2_(Du?lg9VC9}!KV4IbePw9LINaBa^@(2(5eCLHS}LR5RaiNf>$5ea zj8$wjj&{PLhZiP_d-n^C3B*z;?QM z^#rTtqSjUBjc=1DQEV)TUEeJXENfXeV!5~8_||&S{jg#i3bX&?$36QLKPV@{d4REX zB>s~O6UTfm^F7C$gSKL1sd${K4ZHDDEq3@=l&CmHjlDU%q(Wef^e?`=J_dT6ohyO3I|Tb9k69&EZWr&B3&Fv}bTTYb1ih|HmdFffjW z6wy|bX=(PbtjgSIl_b#lsurN?U61iph%OeKwG3a@rvjWLsVJ()%J3+sWa{3%>fMue z5}YTIyn{1$6v=6IROkYed|L0&(8OxrwC>xx%77th zRzT~$Xus!1^UZf3;Tg6@R>M?jRdUODQmKW75{m$uRCdp<=-)pfOX}O0-7I0;Zu9xJ3Z_9iI4GUlcVkhE)^fJNQn&D88m8st zwnG+^=PcQe;6#=DNgw$X9AE_5@>Tl5FQ;(pPd4$|tlNIwHzE0+G*+n-6>)|?dG+{Y zdO$&Z?S;(Bkv9gatQssRNL4%V$^P)AAVnb8_&B4YJHUt)6f_q(t@PL7r6wCwNGb&o zne_{9;+$m9PmfP0WlA9A;opXr@G4cFF7d?dw)a1ucSkOFH2s1-jDCs*G&9apV-|tY zJ@``1CTjZAyZFNi4}L~WiX`^FK9GvXEd`YzzBgCZG~G=1`yvTim=gi@LY#MmfGcay zdvYYnukJyvDzm8D#a(a`?w2i-Thgmm(@%vQlFAbpime&vxOD#cZ}&)n#bUDk5;hmX zK29z|kK=(iVAUL3Fy8@)NxsH{r112O?~VF8^G_hck322179W%T2N-uYKCK8kgrg8W z<6geu&tCvf=q-lP?I(yxPMMH89CdAl*xA+3pc3!48GZcQs@eb1Qfp6Iv31G?>$)IyB*#wVT)#VYSj;fk z?hJEqTmVgA7-^M?} zvEGH46iiGq7QGH*f?Hh~PH=t5bJ@o2yTZ(F8nXsJZ%y>1Z}g4QLhfU%8Z#v5X+Tar ze-k@F(eIF9`)*1C<*cUhZOT4&N-*In79EL(>1ZLszi{r(I|}nv)=NSiyu~Z!$Zl zbP2f9*)Jv|H_tI9f)vd!wa2P<9*%sk5Y&UHI*@N%q=)59x)2mRwHW66Tf{Sv7JGF45*xVrc#NhiI_dg|-Aw+Yy z`cZ3RNcz86m$^yffm(h;vd%qp_}--f&&|jwyWp%M*;S+=vv~&ZbYG2t8=l#rues?H zaD|bid_qRY4PU#c%ZH$HxLK7^gWyTab_cc2@X@6Lnd+WC}HFHUqK_l4N3pPBDa zSb68rduMiWqbl-UHo@0Y(M%6S8p zZsT>wzy54|W9MBMzNHTL`Fu?~CcLck*KT0?$9Bpl4FTn$%N}XP>h^cl>PIACawJ0Y zcR4fTmEk{Z;nn}n%)V^7*0a0?|k*=yW7+iVtZi6YzoK4x&O%)?Oh#UCR-ZJSp+ zXdyy$v(1j@dT*fFW6eEY6sPDK;nt4iOmYN)p}M&HMLJ2V;FS^rb4HS8I!{=14#T^y zsxHQ;ea*f2pzz!zLDr71j!YR!6YcomC0M{k0g`S4@aU9^oM2V60*Wg){E(CCoYL`f zl!%>X>cxdB%9z1Tjhk9Um}C%b!>!;qwZAnY8FVn~#dbleYVHZKwxazNXcYF5__k%Y2{;>~NXH8ksV z`Y}+{%UB-EIPv}o6yI!`quiTfTI1R=cpL(Ai@m~+&3&(9BiMjp)ucj&LEvKPrVUb6*unqu z4UbAg1hKMkU4~a-{QOoaJ&8TzzsuYCxk>88E_=~t0$YH=h4=tA_fdN8NB<3|~ zHVlC|$ChT-iu4H)1aIf5O|m=GSqrlHno&YRWBvn)-HQ|hcpi-z>5<1#lj3cUSFhHnRJpDe*3uzv~ znkdd8rqe3BVBgvzn1lMF(}vmzjPZ#G)O(Jv;(ema^vp0Y);Y+oJ$O1M+ik2v_4V<* z+kF?*`S!PkGY$H#rCDI#QHdE_IjNhjHJ70r+ZC}9$X#^bA#2IGcMpauIZ9VP{$UNs zH`!6cOE^}W7jy8)@#2BAmVg{Q4drrg!vj+0JSfC7CmyWSf0e#20hO6Qs9N-$va;sI zv6Y}+I+8Oo()Iui2cmmV;8}#P*F2OCm1N&=B{^?H9DXr&P5I_5!XuvO%@Qr!Q04<0 zOLYUL9O*(CfA`eK>~`3{M!zBZ?6XAPaXC297!Gz>=Zh$mIojl33!S?-6kHl_piUtM zyLRa1s>lPKpn4JCmKgKg1-T@>VyNDFR6AOiL=kUDt@e2-M&nPK>ir5Fd z!i2aTQ=wbIwQkL4O{-u2ns8TK2zk5NsLA8hv)2aRWoHsHgNJwH9MVOBTop@ZiSa#? zTr>;m8@a=(F=_j;Hi0RtV<-#W#j5NaV@b$T$Ueft|JK@hOD&2#p3am@@tCy$fUEQD zBhcsi;yw1#aLncD06ZyO0_)v@LD(g5`|8ZDWO!#hqe0JttL>g#|Mj@Da(~>OPFhIw zY*KzinX2$?iN+;ma4h6KQHGqTx64uK-p;Ia!La_@TOPxAn7OD&0?A2Rk3ak-<+j_z z#qSvfl1Uo)eeP()fJ8Lv!B;gt@H&&{k+M1JQ)}~^IUu8zFhPR-K^yzyRM4Vil+K~2 zhfB5Bu&ldWkUtBz@97e9fde0c$A2m;J$z&!$$Mvb*=yoLpUOht9Z6hBE#s69!xiWD zV;}K@;EsvJ-c1Q;k^pF6ZFFM~6bCBiyMJ!Iut`+htZXng1Sst_-H!~CdBx$O@ObE# zM4L1FB=$~Mz4mXs{brB&Z4P+q!B&P2CIa$tY&lOp8wLYcjLDiNg3wn8Z;MyL4IhpE zrFkH+5B`aKC8Nb{%tg>C#t_huF@ZNz!yqM5VZrD5Ew$X<#>XOBjmZ(!7vx)YS%R1| mvb5?h^#A=Q`WJrQ#^aX*`bNkwK_!aG9?I6r-m(Jk6Zb#JJX*H^ literal 0 HcmV?d00001 diff --git a/scripts/snap/parity.desktop b/scripts/snap/parity.desktop new file mode 100644 index 00000000000..1833865deab --- /dev/null +++ b/scripts/snap/parity.desktop @@ -0,0 +1,8 @@ +[Desktop Entry] +Type=Application +Encoding=UTF-8 +Name=Parity Ethereum +Comment=The fastest and most advanced Ethereum client. +Exec=parity +Icon=/usr/share/pixmaps/icon.png +Terminal=true diff --git a/scripts/snap/snapcraft.template.yaml b/scripts/snap/snapcraft.template.yaml new file mode 100644 index 00000000000..eb67ba12820 --- /dev/null +++ b/scripts/snap/snapcraft.template.yaml @@ -0,0 +1,57 @@ +name: parity +version: $VERSION +architectures: [$BUILD_ARCH] +grade: $GRADE +confinement: strict + +summary: Fast, light, robust Ethereum implementation +description: | + Parity's goal is to be the fastest, lightest, and most secure Ethereum + client. We are developing Parity using the sophisticated and cutting-edge + Rust programming language. Parity is licensed under the GPLv3, and can be + used for all your Ethereum needs. + +apps: + parity: + command: parity + plugs: [home, network, network-bind, mount-observe, x11, unity7, desktop, desktop-legacy, wayland] + desktop: ./usr/share/applications/parity.desktop + parity-evm: + command: parity-evm + plugs: [home, network, network-bind] + ethkey: + command: ethkey + plugs: [home] + ethstore: + command: ethstore + plugs: [home] + whisper: + command: whisper + plugs: [home, network-bind] + +icon: ./scripts/snap/icon.png + +parts: + desktop-icon: + source: ./scripts/snap + plugin: nil + override-build: | + mkdir -p $SNAPCRAFT_PART_INSTALL/usr/share/applications + mkdir -p $SNAPCRAFT_PART_INSTALL/usr/share/pixmaps + cp -v ./parity.desktop $SNAPCRAFT_PART_INSTALL/usr/share/applications/ + cp -v ./icon.png $SNAPCRAFT_PART_INSTALL/usr/share/pixmaps/ + parity: + source: ./artifacts/$CARGO_TARGET + plugin: nil + override-build: | + mkdir -p $SNAPCRAFT_PART_INSTALL/usr/bin + cp -v parity $SNAPCRAFT_PART_INSTALL/usr/bin/parity + cp -v parity-evm $SNAPCRAFT_PART_INSTALL/usr/bin/parity-evm + cp -v ethkey $SNAPCRAFT_PART_INSTALL/usr/bin/ethkey + cp -v ethstore $SNAPCRAFT_PART_INSTALL/usr/bin/ethstore + cp -v whisper $SNAPCRAFT_PART_INSTALL/usr/bin/whisper + stage-packages: [libc6, libudev1, libstdc++6, cmake, libdb] + df: + plugin: nil + stage-packages: [coreutils] + stage: [bin/df] From 010cfb7d677b6a200b0e32ff3cbd8cc7e3aa0818 Mon Sep 17 00:00:00 2001 From: Wei Tang Date: Wed, 9 Jan 2019 14:47:14 +0100 Subject: [PATCH 24/68] Make sure parent block is not in importing queue when importing ancient blocks (#10138) * Make sure parent block is not in importing queue when importing ancient blocks * Clear queue when an ancient import fails * Lock only once in clear * Add comments why queued check is needed * Should push the value back to the queue * Directly check in chain.read() * Remove extra empty line * Revert unused verification change --- ethcore/src/client/client.rs | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/ethcore/src/client/client.rs b/ethcore/src/client/client.rs index 22a38ec55eb..995b11520f6 100644 --- a/ethcore/src/client/client.rs +++ b/ethcore/src/client/client.rs @@ -2165,11 +2165,8 @@ impl IoClient for Client { // NOTE To prevent race condition with import, make sure to check queued blocks first // (and attempt to acquire lock) let is_parent_pending = self.queued_ancient_blocks.read().0.contains(&parent_hash); - if !is_parent_pending { - let status = self.block_status(BlockId::Hash(parent_hash)); - if status == BlockStatus::Unknown { - bail!(EthcoreErrorKind::Block(BlockError::UnknownParent(parent_hash))); - } + if !is_parent_pending && !self.chain.read().is_known(&parent_hash) { + bail!(EthcoreErrorKind::Block(BlockError::UnknownParent(parent_hash))); } } @@ -2199,6 +2196,10 @@ impl IoClient for Client { ); if let Err(e) = result { error!(target: "client", "Error importing ancient block: {}", e); + + let mut queued = queued.write(); + queued.0.clear(); + queued.1.clear(); } // remove from pending queued.write().0.remove(&hash); From 4d66e8d06d12a96b748edeef19e832ca0fdf7de0 Mon Sep 17 00:00:00 2001 From: Afri Schoedon <5chdn@users.noreply.github.com> Date: Thu, 10 Jan 2019 10:58:30 +0100 Subject: [PATCH 25/68] snap: fix path in script (#10157) * snap: fix path in script * debug, revert me * fix * necromancer awk magic * awk necromancy and path fixing * working track selection --- scripts/gitlab/publish-snap.sh | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/scripts/gitlab/publish-snap.sh b/scripts/gitlab/publish-snap.sh index a664341e890..f001bbff0d8 100755 --- a/scripts/gitlab/publish-snap.sh +++ b/scripts/gitlab/publish-snap.sh @@ -3,13 +3,17 @@ set -e # fail on any error set -u # treat unset variables as error -TRACK=`awk -F '=' '/^track/ {print $2}' ./util/version/Cargo.toml` +# some necromancy: +# gsub(/"/, "", $2) deletes "qoutes" +# gsub(/ /, "", $2) deletes whitespaces +TRACK=`awk -F '=' '/^track/ {gsub(/"/, "", $2); gsub(/ /, "", $2); print $2}' ./util/version/Cargo.toml` +echo Track is: $TRACK case ${TRACK} in nightly) export GRADE="devel" CHANNEL="edge";; beta) export GRADE="stable" CHANNEL="beta";; stable) export GRADE="stable" CHANNEL="stable";; - *) echo "No release" exit 0;; + *) echo "No release" && exit 0;; esac SNAP_PACKAGE="parity_"$VERSION"_"$BUILD_ARCH".snap" From eea3de00c1636a84966271597f6f49f14b2f7da4 Mon Sep 17 00:00:00 2001 From: Pierre Krieger Date: Thu, 10 Jan 2019 13:11:39 +0100 Subject: [PATCH 26/68] Merge Machine and WithRewards (#10071) --- ethcore/src/engines/block_reward.rs | 4 ++-- ethcore/src/engines/null_engine.rs | 4 ++-- ethcore/src/machine.rs | 12 +++++------- machine/src/lib.rs | 17 +++++++---------- 4 files changed, 16 insertions(+), 21 deletions(-) diff --git a/ethcore/src/engines/block_reward.rs b/ethcore/src/engines/block_reward.rs index 39d1afa7dc8..42db6889c8a 100644 --- a/ethcore/src/engines/block_reward.rs +++ b/ethcore/src/engines/block_reward.rs @@ -25,7 +25,7 @@ use std::sync::Arc; use hash::keccak; use error::Error; use machine::WithRewards; -use parity_machine::{Machine, WithBalances}; +use parity_machine::Machine; use trace; use types::BlockNumber; use super::{SystemOrCodeCall, SystemOrCodeCallKind}; @@ -152,7 +152,7 @@ impl BlockRewardContract { /// Applies the given block rewards, i.e. adds the given balance to each beneficiary' address. /// If tracing is enabled the operations are recorded. -pub fn apply_block_rewards( +pub fn apply_block_rewards( rewards: &[(Address, RewardKind, U256)], block: &mut M::LiveBlock, machine: &M, diff --git a/ethcore/src/engines/null_engine.rs b/ethcore/src/engines/null_engine.rs index c62d372e9d2..4a2610259c4 100644 --- a/ethcore/src/engines/null_engine.rs +++ b/ethcore/src/engines/null_engine.rs @@ -18,7 +18,7 @@ use engines::Engine; use engines::block_reward::{self, RewardKind}; use ethereum_types::U256; use machine::WithRewards; -use parity_machine::{Header, LiveBlock, WithBalances, TotalScoredHeader}; +use parity_machine::{Machine, Header, LiveBlock, TotalScoredHeader}; use types::BlockNumber; /// Params for a null engine. @@ -58,7 +58,7 @@ impl Default for NullEngine { } } -impl Engine for NullEngine +impl Engine for NullEngine where M::ExtendedHeader: TotalScoredHeader, ::Value: Ord { diff --git a/ethcore/src/machine.rs b/ethcore/src/machine.rs index 4ceab9bf028..873262d5dc9 100644 --- a/ethcore/src/machine.rs +++ b/ethcore/src/machine.rs @@ -437,14 +437,7 @@ impl ::parity_machine::Machine for EthereumMachine { type AncestryAction = ::types::ancestry_action::AncestryAction; type Error = Error; -} - -impl<'a> ::parity_machine::LocalizedMachine<'a> for EthereumMachine { - type StateContext = Call<'a>; - type AuxiliaryData = AuxiliaryData<'a>; -} -impl ::parity_machine::WithBalances for EthereumMachine { fn balance(&self, live: &ExecutedBlock, address: &Address) -> Result { live.state().balance(address).map_err(Into::into) } @@ -454,6 +447,11 @@ impl ::parity_machine::WithBalances for EthereumMachine { } } +impl<'a> ::parity_machine::LocalizedMachine<'a> for EthereumMachine { + type StateContext = Call<'a>; + type AuxiliaryData = AuxiliaryData<'a>; +} + /// A state machine that uses block rewards. pub trait WithRewards: ::parity_machine::Machine { /// Note block rewards, traces each reward storing information about benefactor, amount and type diff --git a/machine/src/lib.rs b/machine/src/lib.rs index 8a0b5e3f2ed..b7054ca038e 100644 --- a/machine/src/lib.rs +++ b/machine/src/lib.rs @@ -112,6 +112,13 @@ pub trait Machine: for<'a> LocalizedMachine<'a> { /// Errors which can occur when querying or interacting with the machine. type Error; + + /// Get the balance, in base units, associated with an account. + /// Extracts data from the live block. + fn balance(&self, live: &Self::LiveBlock, address: &Address) -> Result; + + /// Increment the balance of an account in the state of the live block. + fn add_balance(&self, live: &mut Self::LiveBlock, address: &Address, amount: &U256) -> Result<(), Self::Error>; } /// Machine-related types localized to a specific lifetime. @@ -123,13 +130,3 @@ pub trait LocalizedMachine<'a>: Sync + Send { /// Generally also provides verifiable proofs. type StateContext: ?Sized + 'a; } - -/// A state machine that uses balances. -pub trait WithBalances: Machine { - /// Get the balance, in base units, associated with an account. - /// Extracts data from the live block. - fn balance(&self, live: &Self::LiveBlock, address: &Address) -> Result; - - /// Increment the balance of an account in the state of the live block. - fn add_balance(&self, live: &mut Self::LiveBlock, address: &Address, amount: &U256) -> Result<(), Self::Error>; -} From 38af7f35fcba1f17191af2900f088750a76bd019 Mon Sep 17 00:00:00 2001 From: Niklas Adolfsson Date: Thu, 10 Jan 2019 13:12:14 +0100 Subject: [PATCH 27/68] refactor(trim_right_matches -> trim_end_matches) (#10159) --- rpc/src/v1/types/transaction_request.rs | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/rpc/src/v1/types/transaction_request.rs b/rpc/src/v1/types/transaction_request.rs index bfefde462d6..e7a2126b405 100644 --- a/rpc/src/v1/types/transaction_request.rs +++ b/rpc/src/v1/types/transaction_request.rs @@ -57,8 +57,7 @@ pub fn format_ether(i: U256) -> String { } else { string.insert(idx as usize, '.'); } - String::from(string.trim_right_matches('0') - .trim_right_matches('.')) + String::from(string.trim_end_matches('0').trim_end_matches('.')) } impl fmt::Display for TransactionRequest { From eea5f6f2326ff79f5631d0c2b38dc361ff20e84b Mon Sep 17 00:00:00 2001 From: Niklas Adolfsson Date: Thu, 10 Jan 2019 13:13:15 +0100 Subject: [PATCH 28/68] fix(android): remove dependency to libusb (#10161) --- ethcore/Cargo.toml | 4 ++-- ethcore/src/lib.rs | 4 ++-- rpc/Cargo.toml | 4 ++-- rpc/src/lib.rs | 4 ++-- 4 files changed, 8 insertions(+), 8 deletions(-) diff --git a/ethcore/Cargo.toml b/ethcore/Cargo.toml index 5179584c112..9a286dcb9b6 100644 --- a/ethcore/Cargo.toml +++ b/ethcore/Cargo.toml @@ -71,10 +71,10 @@ using_queue = { path = "../miner/using-queue" } vm = { path = "vm" } wasm = { path = "wasm" } -[target.'cfg(any(target_os = "linux", target_os = "macos", target_os = "windows", target_os = "android"))'.dependencies] +[target.'cfg(any(target_os = "linux", target_os = "macos", target_os = "windows"))'.dependencies] hardware-wallet = { path = "../accounts/hw" } -[target.'cfg(not(any(target_os = "linux", target_os = "macos", target_os = "windows", target_os = "android")))'.dependencies] +[target.'cfg(not(any(target_os = "linux", target_os = "macos", target_os = "windows")))'.dependencies] fake-hardware-wallet = { path = "../accounts/fake-hardware-wallet" } [dev-dependencies] diff --git a/ethcore/src/lib.rs b/ethcore/src/lib.rs index 89f6f8e09e5..73fdb64fde9 100644 --- a/ethcore/src/lib.rs +++ b/ethcore/src/lib.rs @@ -115,10 +115,10 @@ extern crate kvdb_rocksdb; #[cfg(any(test, feature = "blooms-db"))] extern crate blooms_db; -#[cfg(any(target_os = "linux", target_os = "macos", target_os = "windows", target_os = "android"))] +#[cfg(any(target_os = "linux", target_os = "macos", target_os = "windows"))] extern crate hardware_wallet; -#[cfg(not(any(target_os = "linux", target_os = "macos", target_os = "windows", target_os = "android")))] +#[cfg(not(any(target_os = "linux", target_os = "macos", target_os = "windows")))] extern crate fake_hardware_wallet as hardware_wallet; #[macro_use] diff --git a/rpc/Cargo.toml b/rpc/Cargo.toml index a04ca970b73..c3acc4664c2 100644 --- a/rpc/Cargo.toml +++ b/rpc/Cargo.toml @@ -62,10 +62,10 @@ eip-712 = { path = "../util/EIP-712" } stats = { path = "../util/stats" } vm = { path = "../ethcore/vm" } -[target.'cfg(any(target_os = "linux", target_os = "macos", target_os = "windows", target_os = "android"))'.dependencies] +[target.'cfg(any(target_os = "linux", target_os = "macos", target_os = "windows"))'.dependencies] hardware-wallet = { path = "../accounts/hw" } -[target.'cfg(not(any(target_os = "linux", target_os = "macos", target_os = "windows", target_os = "android")))'.dependencies] +[target.'cfg(not(any(target_os = "linux", target_os = "macos", target_os = "windows")))'.dependencies] fake-hardware-wallet = { path = "../accounts/fake-hardware-wallet" } [dev-dependencies] diff --git a/rpc/src/lib.rs b/rpc/src/lib.rs index a72e5e18379..001343d6494 100644 --- a/rpc/src/lib.rs +++ b/rpc/src/lib.rs @@ -67,9 +67,9 @@ extern crate rlp; extern crate stats; extern crate vm; -#[cfg(any(target_os = "linux", target_os = "macos", target_os = "windows", target_os = "android"))] +#[cfg(any(target_os = "linux", target_os = "macos", target_os = "windows"))] extern crate hardware_wallet; -#[cfg(not(any(target_os = "linux", target_os = "macos", target_os = "windows", target_os = "android")))] +#[cfg(not(any(target_os = "linux", target_os = "macos", target_os = "windows")))] extern crate fake_hardware_wallet as hardware_wallet; #[macro_use] From 83f706186f198370ed2cc0a353b52a7d8ca34c83 Mon Sep 17 00:00:00 2001 From: Kirill Pimenov Date: Thu, 10 Jan 2019 19:43:16 +0000 Subject: [PATCH 29/68] Ping nodes from discovery (#10167) --- util/network-devp2p/src/discovery.rs | 93 ++++++++++++++++++++++------ 1 file changed, 73 insertions(+), 20 deletions(-) diff --git a/util/network-devp2p/src/discovery.rs b/util/network-devp2p/src/discovery.rs index 980531ba2f1..f6eaf494b99 100644 --- a/util/network-devp2p/src/discovery.rs +++ b/util/network-devp2p/src/discovery.rs @@ -53,12 +53,15 @@ const REQUEST_BACKOFF: [Duration; 4] = [ Duration::from_secs(64) ]; +const NODE_LAST_SEEN_TIMEOUT: Duration = Duration::from_secs(24*60*60); + #[derive(Clone, Debug)] pub struct NodeEntry { pub id: NodeId, pub endpoint: NodeEndpoint, } +#[derive(Debug)] pub struct BucketEntry { pub address: NodeEntry, pub id_hash: H256, @@ -89,6 +92,12 @@ struct FindNodeRequest { answered: bool, } +#[derive(Clone, Copy)] +enum PingReason { + Default, + FromDiscoveryRequest(NodeId) +} + struct PingRequest { // Time when the request was sent sent_at: Instant, @@ -99,8 +108,10 @@ struct PingRequest { // The hash Parity used to respond with (until rev 01f825b0e1f1c4c420197b51fc801cbe89284b29) #[deprecated()] deprecated_echo_hash: H256, + reason: PingReason } +#[derive(Debug)] pub struct NodeBucket { nodes: VecDeque, //sorted by last active } @@ -178,7 +189,7 @@ impl<'a> Discovery<'a> { if self.node_buckets[dist].nodes.iter().any(|n| n.id_hash == id_hash) { return; } - self.try_ping(e); + self.try_ping(e, PingReason::Default); } } @@ -221,7 +232,7 @@ impl<'a> Discovery<'a> { } else { None } }; if let Some(node) = ping { - self.try_ping(node); + self.try_ping(node, PingReason::Default); } Some(TableUpdates { added: added_map, removed: HashSet::new() }) } @@ -244,7 +255,7 @@ impl<'a> Discovery<'a> { fn update_new_nodes(&mut self) { while self.in_flight_pings.len() < MAX_NODES_PING { match self.adding_nodes.pop() { - Some(next) => self.try_ping(next), + Some(next) => self.try_ping(next, PingReason::Default), None => break, } } @@ -298,7 +309,7 @@ impl<'a> Discovery<'a> { None // a and b are equal, so log distance is -inf } - fn try_ping(&mut self, node: NodeEntry) { + fn try_ping(&mut self, node: NodeEntry, reason: PingReason) { if !self.is_allowed(&node) { trace!(target: "discovery", "Node {:?} not allowed", node); return; @@ -313,7 +324,7 @@ impl<'a> Discovery<'a> { } if self.in_flight_pings.len() < MAX_NODES_PING { - self.ping(&node) + self.ping(&node, reason) .unwrap_or_else(|e| { warn!(target: "discovery", "Error sending Ping packet: {:?}", e); }); @@ -322,7 +333,7 @@ impl<'a> Discovery<'a> { } } - fn ping(&mut self, node: &NodeEntry) -> Result<(), Error> { + fn ping(&mut self, node: &NodeEntry, reason: PingReason) -> Result<(), Error> { let mut rlp = RlpStream::new_list(4); rlp.append(&PROTOCOL_VERSION); self.public_endpoint.to_rlp_list(&mut rlp); @@ -336,6 +347,7 @@ impl<'a> Discovery<'a> { node: node.clone(), echo_hash: hash, deprecated_echo_hash: old_parity_hash, + reason: reason }); trace!(target: "discovery", "Sent Ping to {:?} ; node_id={:#x}", &node.endpoint, node.id); @@ -514,7 +526,7 @@ impl<'a> Discovery<'a> { if request.deprecated_echo_hash == echo_hash { trace!(target: "discovery", "Got Pong from an old parity-ethereum version."); } - Some(request.node.clone()) + Some((request.node.clone(), request.reason.clone())) } }; @@ -528,7 +540,10 @@ impl<'a> Discovery<'a> { }, }; - if let Some(node) = expected_node { + if let Some((node, ping_reason)) = expected_node { + if let PingReason::FromDiscoveryRequest(target) = ping_reason { + self.respond_with_discovery(target, &node)?; + } Ok(self.update_node(node)) } else { debug!(target: "discovery", "Got unexpected Pong from {:?} ; request not found", &from); @@ -536,21 +551,59 @@ impl<'a> Discovery<'a> { } } - fn on_find_node(&mut self, rlp: &Rlp, _node: &NodeId, from: &SocketAddr) -> Result, Error> { + fn on_find_node(&mut self, rlp: &Rlp, node_id: &NodeId, from: &SocketAddr) -> Result, Error> { trace!(target: "discovery", "Got FindNode from {:?}", &from); let target: NodeId = rlp.val_at(0)?; let timestamp: u64 = rlp.val_at(1)?; self.check_timestamp(timestamp)?; + + let node = NodeEntry { + id: node_id.clone(), + endpoint: NodeEndpoint { + address: *from, + udp_port: from.port() + } + }; + + if self.is_a_valid_known_node(&node) { + self.respond_with_discovery(target, &node)?; + } else { + // Make sure the request source is actually there and responds to pings before actually responding + self.try_ping(node, PingReason::FromDiscoveryRequest(target)); + } + Ok(None) + } + + fn is_a_valid_known_node(&self, node: &NodeEntry) -> bool { + let id_hash = keccak(node.id); + let dist = match Discovery::distance(&self.id_hash, &id_hash) { + Some(dist) => dist, + None => { + debug!(target: "discovery", "Got an incoming discovery request from self: {:?}", node); + return false; + } + }; + + let bucket = &self.node_buckets[dist]; + if let Some(known_node) = bucket.nodes.iter().find(|n| n.address.id == node.id) { + debug!(target: "discovery", "Found a known node in a bucket when processing discovery: {:?}/{:?}", known_node, node); + (known_node.address.endpoint == node.endpoint) && (known_node.last_seen.elapsed() < NODE_LAST_SEEN_TIMEOUT) + } else { + false + } + } + + fn respond_with_discovery(&mut self, target: NodeId, node: &NodeEntry) -> Result<(), Error> { let nearest = self.nearest_node_entries(&target); if nearest.is_empty() { - return Ok(None); + return Ok(()); } let mut packets = Discovery::prepare_neighbours_packets(&nearest); for p in packets.drain(..) { - self.send_packet(PACKET_NEIGHBOURS, from, &p)?; + self.send_packet(PACKET_NEIGHBOURS, &node.endpoint.address, &p)?; } - trace!(target: "discovery", "Sent {} Neighbours to {:?}", nearest.len(), &from); - Ok(None) + trace!(target: "discovery", "Sent {} Neighbours to {:?}", nearest.len(), &node.endpoint); + Ok(()) } fn prepare_neighbours_packets(nearest: &[NodeEntry]) -> Vec { @@ -825,7 +878,7 @@ mod tests { } // After 4 discovery rounds, the first one should have learned about the rest. - for _round in 0 .. 4 { + for _round in 0 .. 5 { discovery_handlers[0].round(); let mut continue_loop = true; @@ -833,9 +886,9 @@ mod tests { continue_loop = false; // Process all queued messages. - for i in 0 .. 5 { - let src = discovery_handlers[i].public_endpoint.address.clone(); - while let Some(datagram) = discovery_handlers[i].dequeue_send() { + for i in 0 .. 20 { + let src = discovery_handlers[i%5].public_endpoint.address.clone(); + while let Some(datagram) = discovery_handlers[i%5].dequeue_send() { let dest = discovery_handlers.iter_mut() .find(|disc| datagram.address == disc.public_endpoint.address) .unwrap(); @@ -927,14 +980,14 @@ mod tests { let mut discovery = Discovery { request_backoff: &request_backoff, ..discovery }; for _ in 0..2 { - discovery.ping(&node_entries[101]).unwrap(); + discovery.ping(&node_entries[101], PingReason::Default).unwrap(); let num_nodes = total_bucket_nodes(&discovery.node_buckets); discovery.check_expired(Instant::now() + PING_TIMEOUT); let removed = num_nodes - total_bucket_nodes(&discovery.node_buckets); assert_eq!(removed, 0); } - discovery.ping(&node_entries[101]).unwrap(); + discovery.ping(&node_entries[101], PingReason::Default).unwrap(); let num_nodes = total_bucket_nodes(&discovery.node_buckets); discovery.check_expired(Instant::now() + PING_TIMEOUT); let removed = num_nodes - total_bucket_nodes(&discovery.node_buckets); @@ -1121,7 +1174,7 @@ mod tests { let mut discovery1 = Discovery::new(&key1, ep1.clone(), IpFilter::default()); let mut discovery2 = Discovery::new(&key2, ep2.clone(), IpFilter::default()); - discovery1.ping(&NodeEntry { id: discovery2.id, endpoint: ep2.clone() }).unwrap(); + discovery1.ping(&NodeEntry { id: discovery2.id, endpoint: ep2.clone() }, PingReason::Default).unwrap(); let ping_data = discovery1.dequeue_send().unwrap(); assert!(!discovery1.any_sends_queued()); let data = &ping_data.payload[(32 + 65)..]; From 83ba9df85be98936686810ca1a61d43f3fa3c44d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tomasz=20Drwi=C4=99ga?= Date: Fri, 11 Jan 2019 16:55:03 +0100 Subject: [PATCH 30/68] Bump JSON-RPC (#10151) * Bump JSON-RPC * Fix test casing. --- Cargo.lock | 51 +++++++++++++++++++++++++--------------- rpc/src/tests/ws.rs | 2 +- rpc/src/v1/extractors.rs | 9 ++++--- 3 files changed, 37 insertions(+), 25 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 29e0f174bf5..b09013a0bf6 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1746,7 +1746,7 @@ dependencies = [ [[package]] name = "jsonrpc-core" version = "9.0.0" -source = "git+https://github.com/paritytech/jsonrpc.git?branch=parity-2.2#f8a54f46f7f1d68b4e7899ca1e929803bf966a5b" +source = "git+https://github.com/paritytech/jsonrpc.git?branch=parity-2.2#84360bf1d03821b8fd669a6a95fcdf847aaf6cca" dependencies = [ "futures 0.1.25 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.4.5 (registry+https://github.com/rust-lang/crates.io-index)", @@ -1758,7 +1758,7 @@ dependencies = [ [[package]] name = "jsonrpc-http-server" version = "9.0.0" -source = "git+https://github.com/paritytech/jsonrpc.git?branch=parity-2.2#f8a54f46f7f1d68b4e7899ca1e929803bf966a5b" +source = "git+https://github.com/paritytech/jsonrpc.git?branch=parity-2.2#84360bf1d03821b8fd669a6a95fcdf847aaf6cca" dependencies = [ "hyper 0.12.11 (registry+https://github.com/rust-lang/crates.io-index)", "jsonrpc-core 9.0.0 (git+https://github.com/paritytech/jsonrpc.git?branch=parity-2.2)", @@ -1771,7 +1771,7 @@ dependencies = [ [[package]] name = "jsonrpc-ipc-server" version = "9.0.0" -source = "git+https://github.com/paritytech/jsonrpc.git?branch=parity-2.2#f8a54f46f7f1d68b4e7899ca1e929803bf966a5b" +source = "git+https://github.com/paritytech/jsonrpc.git?branch=parity-2.2#84360bf1d03821b8fd669a6a95fcdf847aaf6cca" dependencies = [ "jsonrpc-core 9.0.0 (git+https://github.com/paritytech/jsonrpc.git?branch=parity-2.2)", "jsonrpc-server-utils 9.0.0 (git+https://github.com/paritytech/jsonrpc.git?branch=parity-2.2)", @@ -1784,7 +1784,7 @@ dependencies = [ [[package]] name = "jsonrpc-macros" version = "9.0.0" -source = "git+https://github.com/paritytech/jsonrpc.git?branch=parity-2.2#f8a54f46f7f1d68b4e7899ca1e929803bf966a5b" +source = "git+https://github.com/paritytech/jsonrpc.git?branch=parity-2.2#84360bf1d03821b8fd669a6a95fcdf847aaf6cca" dependencies = [ "jsonrpc-core 9.0.0 (git+https://github.com/paritytech/jsonrpc.git?branch=parity-2.2)", "jsonrpc-pubsub 9.0.0 (git+https://github.com/paritytech/jsonrpc.git?branch=parity-2.2)", @@ -1794,7 +1794,7 @@ dependencies = [ [[package]] name = "jsonrpc-pubsub" version = "9.0.0" -source = "git+https://github.com/paritytech/jsonrpc.git?branch=parity-2.2#f8a54f46f7f1d68b4e7899ca1e929803bf966a5b" +source = "git+https://github.com/paritytech/jsonrpc.git?branch=parity-2.2#84360bf1d03821b8fd669a6a95fcdf847aaf6cca" dependencies = [ "jsonrpc-core 9.0.0 (git+https://github.com/paritytech/jsonrpc.git?branch=parity-2.2)", "log 0.4.5 (registry+https://github.com/rust-lang/crates.io-index)", @@ -1804,7 +1804,7 @@ dependencies = [ [[package]] name = "jsonrpc-server-utils" version = "9.0.0" -source = "git+https://github.com/paritytech/jsonrpc.git?branch=parity-2.2#f8a54f46f7f1d68b4e7899ca1e929803bf966a5b" +source = "git+https://github.com/paritytech/jsonrpc.git?branch=parity-2.2#84360bf1d03821b8fd669a6a95fcdf847aaf6cca" dependencies = [ "bytes 0.4.10 (registry+https://github.com/rust-lang/crates.io-index)", "globset 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", @@ -1820,7 +1820,7 @@ dependencies = [ [[package]] name = "jsonrpc-tcp-server" version = "9.0.0" -source = "git+https://github.com/paritytech/jsonrpc.git?branch=parity-2.2#f8a54f46f7f1d68b4e7899ca1e929803bf966a5b" +source = "git+https://github.com/paritytech/jsonrpc.git?branch=parity-2.2#84360bf1d03821b8fd669a6a95fcdf847aaf6cca" dependencies = [ "jsonrpc-core 9.0.0 (git+https://github.com/paritytech/jsonrpc.git?branch=parity-2.2)", "jsonrpc-server-utils 9.0.0 (git+https://github.com/paritytech/jsonrpc.git?branch=parity-2.2)", @@ -1832,7 +1832,7 @@ dependencies = [ [[package]] name = "jsonrpc-ws-server" version = "9.0.0" -source = "git+https://github.com/paritytech/jsonrpc.git?branch=parity-2.2#f8a54f46f7f1d68b4e7899ca1e929803bf966a5b" +source = "git+https://github.com/paritytech/jsonrpc.git?branch=parity-2.2#84360bf1d03821b8fd669a6a95fcdf847aaf6cca" dependencies = [ "error-chain 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)", "jsonrpc-core 9.0.0 (git+https://github.com/paritytech/jsonrpc.git?branch=parity-2.2)", @@ -1840,7 +1840,7 @@ dependencies = [ "log 0.4.5 (registry+https://github.com/rust-lang/crates.io-index)", "parking_lot 0.6.4 (registry+https://github.com/rust-lang/crates.io-index)", "slab 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)", - "ws 0.7.5 (git+https://github.com/tomusdrw/ws-rs)", + "ws 0.7.9 (git+https://github.com/tomusdrw/ws-rs)", ] [[package]] @@ -2133,6 +2133,17 @@ dependencies = [ "winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", ] +[[package]] +name = "mio-extras" +version = "2.0.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "lazycell 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)", + "log 0.4.5 (registry+https://github.com/rust-lang/crates.io-index)", + "mio 0.6.16 (registry+https://github.com/rust-lang/crates.io-index)", + "slab 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)", +] + [[package]] name = "mio-named-pipes" version = "0.1.6" @@ -3413,12 +3424,12 @@ dependencies = [ [[package]] name = "sha1" -version = "0.2.0" +version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "sha1" -version = "0.5.0" +version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] @@ -4310,17 +4321,18 @@ dependencies = [ [[package]] name = "ws" -version = "0.7.5" -source = "git+https://github.com/tomusdrw/ws-rs#f12d19c4c19422fc79af28a3181f598bc07ecd1e" +version = "0.7.9" +source = "git+https://github.com/tomusdrw/ws-rs#4baef2dc1abc8e216559af51cfc120bbcc777e21" dependencies = [ "byteorder 1.2.6 (registry+https://github.com/rust-lang/crates.io-index)", "bytes 0.4.10 (registry+https://github.com/rust-lang/crates.io-index)", "httparse 1.3.3 (registry+https://github.com/rust-lang/crates.io-index)", - "log 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)", + "log 0.4.5 (registry+https://github.com/rust-lang/crates.io-index)", "mio 0.6.16 (registry+https://github.com/rust-lang/crates.io-index)", - "rand 0.3.22 (registry+https://github.com/rust-lang/crates.io-index)", - "sha1 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", - "slab 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", + "mio-extras 2.0.5 (registry+https://github.com/rust-lang/crates.io-index)", + "rand 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)", + "sha1 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)", + "slab 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)", "url 1.7.1 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -4509,6 +4521,7 @@ dependencies = [ "checksum mime 0.3.12 (registry+https://github.com/rust-lang/crates.io-index)" = "0a907b83e7b9e987032439a387e187119cddafc92d5c2aaeb1d92580a793f630" "checksum mime_guess 2.0.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)" = "30de2e4613efcba1ec63d8133f344076952090c122992a903359be5a4f99c3ed" "checksum mio 0.6.16 (registry+https://github.com/rust-lang/crates.io-index)" = "71646331f2619b1026cc302f87a2b8b648d5c6dd6937846a16cc8ce0f347f432" +"checksum mio-extras 2.0.5 (registry+https://github.com/rust-lang/crates.io-index)" = "46e73a04c2fa6250b8d802134d56d554a9ec2922bf977777c805ea5def61ce40" "checksum mio-named-pipes 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)" = "f5e374eff525ce1c5b7687c4cef63943e7686524a387933ad27ca7ec43779cb3" "checksum mio-uds 0.6.7 (registry+https://github.com/rust-lang/crates.io-index)" = "966257a94e196b11bb43aca423754d87429960a768de9414f3691d6957abf125" "checksum miow 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "8c1f2f3b1cf331de6896aabf6e9d55dca90356cc9960cca7eaaf408a355ae919" @@ -4612,8 +4625,8 @@ dependencies = [ "checksum serde 1.0.80 (registry+https://github.com/rust-lang/crates.io-index)" = "15c141fc7027dd265a47c090bf864cf62b42c4d228bbcf4e51a0c9e2b0d3f7ef" "checksum serde_derive 1.0.80 (registry+https://github.com/rust-lang/crates.io-index)" = "225de307c6302bec3898c51ca302fc94a7a1697ef0845fcee6448f33c032249c" "checksum serde_json 1.0.32 (registry+https://github.com/rust-lang/crates.io-index)" = "43344e7ce05d0d8280c5940cabb4964bea626aa58b1ec0e8c73fa2a8512a38ce" -"checksum sha1 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "cc30b1e1e8c40c121ca33b86c23308a090d19974ef001b4bf6e61fd1a0fb095c" "checksum sha1 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)" = "171698ce4ec7cbb93babeb3190021b4d72e96ccb98e33d277ae4ea959d6f2d9e" +"checksum sha1 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)" = "2579985fda508104f7587689507983eadd6a6e84dd35d6d115361f530916fa0d" "checksum sha2 0.7.1 (registry+https://github.com/rust-lang/crates.io-index)" = "9eb6be24e4c23a84d7184280d2722f7f2731fcdd4a9d886efbfe4413e4847ea0" "checksum shell32-sys 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "9ee04b46101f57121c9da2b151988283b6beb79b34f5bb29a58ee48cb695122c" "checksum simplelog 0.5.3 (registry+https://github.com/rust-lang/crates.io-index)" = "2e95345f185d5adeb8ec93459d2dc99654e294cc6ccf5b75414d8ea262de9a13" @@ -4709,7 +4722,7 @@ dependencies = [ "checksum winapi-util 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "afc5508759c5bf4285e61feb862b6083c8480aec864fa17a81fdec6f69b461ab" "checksum winapi-x86_64-pc-windows-gnu 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" "checksum wincolor 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)" = "561ed901ae465d6185fa7864d63fbd5720d0ef718366c9a4dc83cf6170d7e9ba" -"checksum ws 0.7.5 (git+https://github.com/tomusdrw/ws-rs)" = "" +"checksum ws 0.7.9 (git+https://github.com/tomusdrw/ws-rs)" = "" "checksum ws2_32-sys 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "d59cefebd0c892fa2dd6de581e937301d8552cb44489cdff035c6187cb63fa5e" "checksum xdg 2.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "a66b7c2281ebde13cf4391d70d4c7e5946c3c25e72a7b859ca8f677dcd0b0c61" "checksum xml-rs 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "3c1cb601d29fe2c2ac60a2b2e5e293994d87a1f6fa9687a31a15270f909be9c2" diff --git a/rpc/src/tests/ws.rs b/rpc/src/tests/ws.rs index aded13953cb..7bb0b00894b 100644 --- a/rpc/src/tests/ws.rs +++ b/rpc/src/tests/ws.rs @@ -75,7 +75,7 @@ mod testing { ); // then - assert_eq!(response.status, "HTTP/1.1 200 Ok".to_owned()); + assert_eq!(response.status, "HTTP/1.1 200 OK".to_owned()); } #[test] diff --git a/rpc/src/v1/extractors.rs b/rpc/src/v1/extractors.rs index adcf569d9bb..2620125e0dc 100644 --- a/rpc/src/v1/extractors.rs +++ b/rpc/src/v1/extractors.rs @@ -98,17 +98,16 @@ impl ws::RequestMiddleware for WsExtractor { fn process(&self, req: &ws::ws::Request) -> ws::MiddlewareAction { use self::ws::ws::Response; - // Reply with 200 Ok to HEAD requests. + // Reply with 200 OK to HEAD requests. if req.method() == "HEAD" { - let mut response = Response::new(200, "Ok"); + let mut response = Response::new(200, "OK", vec![]); add_security_headers(&mut response); return Some(response).into(); } // Display WS info. if req.header("sec-websocket-key").is_none() { - let mut response = Response::new(200, "Ok"); - response.set_body("WebSocket interface is active. Open WS connection to access RPC."); + let mut response = Response::new(200, "OK", b"WebSocket interface is active. Open WS connection to access RPC.".to_vec()); add_security_headers(&mut response); return Some(response).into(); } @@ -123,7 +122,7 @@ impl ws::RequestMiddleware for WsExtractor { "Blocked connection from {} using invalid token.", req.header("origin").and_then(|e| ::std::str::from_utf8(e).ok()).unwrap_or("Unknown Origin") ); - let mut response = Response::new(403, "Forbidden"); + let mut response = Response::new(403, "Forbidden", vec![]); add_security_headers(&mut response); return Some(response).into(); } From 67eee6aeb729084d1e45e6971bdbe31ad70e11da Mon Sep 17 00:00:00 2001 From: Niklas Adolfsson Date: Fri, 11 Jan 2019 17:48:58 +0100 Subject: [PATCH 31/68] fix(whisper): correct PoW calculation (#10166) * Fix off-by-one error on `leading_zeros` which was used to index in the hash to get leading zeros when not aligned on byte boundary (i.e, all the bits in a byte was not zero such as 0001 1111) * Fix overflow by shifting with bigger value than 63 --- whisper/src/message.rs | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/whisper/src/message.rs b/whisper/src/message.rs index 14a6fcf9ce8..f8e8565a8eb 100644 --- a/whisper/src/message.rs +++ b/whisper/src/message.rs @@ -32,12 +32,13 @@ pub fn work_factor_proved(size: u64, ttl: u64, hash: H256) -> f64 { assert!(size != 0 && ttl != 0); let leading_zeros = { - let leading_zeros = hash.iter().take_while(|&&x| x == 0).count(); - (leading_zeros * 8) + hash.get(leading_zeros + 1).map_or(0, |b| b.leading_zeros() as usize) + let leading_bytes = hash.iter().take_while(|&&x| x == 0).count(); + let remaining_leading_bits = hash.get(leading_bytes).map_or(0, |byte| byte.leading_zeros() as usize); + (leading_bytes * 8) + remaining_leading_bits }; let spacetime = size as f64 * ttl as f64; - (1u64 << leading_zeros) as f64 / spacetime + 2.0_f64.powi(leading_zeros as i32) / spacetime } /// A topic of a message. @@ -416,6 +417,7 @@ impl Message { #[cfg(test)] mod tests { + use ethereum_types::H256; use super::*; use std::time::{self, Duration, SystemTime}; use rlp::Rlp; @@ -518,4 +520,14 @@ mod tests { let now = unix_time(95_000); Message::decode(Rlp::new(&*encoded), now).unwrap(); } + + #[test] + fn work_factor() { + // 256 leading zeros -> 2^256 / 1 + assert_eq!(work_factor_proved(1, 1, H256::from(0)), 115792089237316200000000000000000000000000000000000000000000000000000000000000.0); + // 255 leading zeros -> 2^255 / 1 + assert_eq!(work_factor_proved(1, 1, H256::from(1)), 57896044618658100000000000000000000000000000000000000000000000000000000000000.0); + // 0 leading zeros -> 2^0 / 1 + assert_eq!(work_factor_proved(1, 1, serde_json::from_str::("\"0xff00000000000000000000000000000000000000000000000000000000000000\"").unwrap()), 1.0); + } } From 3687df8da2a3fb547de0c9aa391f824d6c14d925 Mon Sep 17 00:00:00 2001 From: Nicolas Gotchac Date: Fri, 11 Jan 2019 17:59:05 +0100 Subject: [PATCH 32/68] Fix _cannot recursively call into `Core`_ issue (#10144) * Change igd to github:maufl/rust-igd * Run `igd::search_gateway_from_timeout` from own thread --- Cargo.lock | 63 +++++++++++++-------------- util/network-devp2p/src/ip_utils.rs | 66 ++++++++++++++++------------- 2 files changed, 67 insertions(+), 62 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index b09013a0bf6..e5f5ea27f73 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -405,7 +405,7 @@ dependencies = [ "arrayvec 0.4.7 (registry+https://github.com/rust-lang/crates.io-index)", "cfg-if 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", "crossbeam-utils 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", - "lazy_static 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)", + "lazy_static 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)", "memoffset 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", "nodrop 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)", "scopeguard 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)", @@ -419,7 +419,7 @@ dependencies = [ "arrayvec 0.4.7 (registry+https://github.com/rust-lang/crates.io-index)", "cfg-if 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", "crossbeam-utils 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)", - "lazy_static 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)", + "lazy_static 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)", "memoffset 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", "scopeguard 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -432,7 +432,7 @@ dependencies = [ "arrayvec 0.4.7 (registry+https://github.com/rust-lang/crates.io-index)", "cfg-if 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", "crossbeam-utils 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)", - "lazy_static 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)", + "lazy_static 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)", "memoffset 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", "scopeguard 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -539,7 +539,7 @@ name = "docopt" version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "lazy_static 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)", + "lazy_static 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)", "regex 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)", "serde 1.0.80 (registry+https://github.com/rust-lang/crates.io-index)", "serde_derive 1.0.80 (registry+https://github.com/rust-lang/crates.io-index)", @@ -561,7 +561,7 @@ dependencies = [ "indexmap 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", "itertools 0.7.8 (registry+https://github.com/rust-lang/crates.io-index)", "keccak-hash 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", - "lazy_static 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)", + "lazy_static 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)", "lunarity-lexer 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", "regex 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)", "rustc-hex 2.0.1 (registry+https://github.com/rust-lang/crates.io-index)", @@ -715,7 +715,7 @@ dependencies = [ "kvdb 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", "kvdb-memorydb 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", "kvdb-rocksdb 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", - "lazy_static 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)", + "lazy_static 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)", "len-caching-lock 0.1.1", "log 0.4.5 (registry+https://github.com/rust-lang/crates.io-index)", "lru-cache 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", @@ -864,7 +864,7 @@ dependencies = [ "arrayvec 0.4.7 (registry+https://github.com/rust-lang/crates.io-index)", "atty 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)", "env_logger 0.5.13 (registry+https://github.com/rust-lang/crates.io-index)", - "lazy_static 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)", + "lazy_static 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.4.5 (registry+https://github.com/rust-lang/crates.io-index)", "parking_lot 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", "regex 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)", @@ -1008,7 +1008,7 @@ dependencies = [ "keccak-hash 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", "kvdb 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", "kvdb-rocksdb 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", - "lazy_static 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)", + "lazy_static 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.4.5 (registry+https://github.com/rust-lang/crates.io-index)", "parity-bytes 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", "parity-crypto 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -1135,7 +1135,7 @@ dependencies = [ "edit-distance 2.0.1 (registry+https://github.com/rust-lang/crates.io-index)", "eth-secp256k1 0.5.7 (git+https://github.com/paritytech/rust-secp256k1)", "ethereum-types 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", - "lazy_static 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)", + "lazy_static 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.4.5 (registry+https://github.com/rust-lang/crates.io-index)", "memzero 0.1.0", "parity-crypto 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -1214,7 +1214,7 @@ dependencies = [ "ethereum-types 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", "heapsize 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", "keccak-hash 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", - "lazy_static 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)", + "lazy_static 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.4.5 (registry+https://github.com/rust-lang/crates.io-index)", "memory-cache 0.1.0", "parity-bytes 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -1353,7 +1353,7 @@ name = "fs-swap" version = "0.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "lazy_static 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)", + "lazy_static 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)", "libc 0.2.43 (registry+https://github.com/rust-lang/crates.io-index)", "libloading 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)", "winapi 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)", @@ -1455,7 +1455,7 @@ name = "handlebars" version = "0.32.4" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "lazy_static 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)", + "lazy_static 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.4.5 (registry+https://github.com/rust-lang/crates.io-index)", "pest 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)", "pest_derive 1.0.8 (registry+https://github.com/rust-lang/crates.io-index)", @@ -1809,7 +1809,7 @@ dependencies = [ "bytes 0.4.10 (registry+https://github.com/rust-lang/crates.io-index)", "globset 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", "jsonrpc-core 9.0.0 (git+https://github.com/paritytech/jsonrpc.git?branch=parity-2.2)", - "lazy_static 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)", + "lazy_static 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.4.5 (registry+https://github.com/rust-lang/crates.io-index)", "num_cpus 1.8.0 (registry+https://github.com/rust-lang/crates.io-index)", "tokio 0.1.11 (registry+https://github.com/rust-lang/crates.io-index)", @@ -1912,11 +1912,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "lazy_static" -version = "1.1.0" +version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "version_check 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", -] [[package]] name = "lazycell" @@ -2376,7 +2373,7 @@ version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "quick-error 1.2.2 (registry+https://github.com/rust-lang/crates.io-index)", - "ring 0.13.2 (registry+https://github.com/rust-lang/crates.io-index)", + "ring 0.13.5 (registry+https://github.com/rust-lang/crates.io-index)", "rust-crypto 0.2.36 (registry+https://github.com/rust-lang/crates.io-index)", "tiny-keccak 1.4.2 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -2677,7 +2674,7 @@ dependencies = [ "ethcore-sync 1.12.0", "ethereum-types 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", "keccak-hash 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", - "lazy_static 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)", + "lazy_static 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.4.5 (registry+https://github.com/rust-lang/crates.io-index)", "matches 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)", "parity-bytes 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -2745,7 +2742,7 @@ version = "1.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "itertools 0.5.10 (registry+https://github.com/rust-lang/crates.io-index)", - "lazy_static 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)", + "lazy_static 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)", "rand 0.5.5 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -3142,7 +3139,7 @@ version = "1.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "crossbeam-deque 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", - "lazy_static 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)", + "lazy_static 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)", "libc 0.2.43 (registry+https://github.com/rust-lang/crates.io-index)", "num_cpus 1.8.0 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -3229,11 +3226,11 @@ dependencies = [ [[package]] name = "ring" -version = "0.13.2" +version = "0.13.5" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "cc 1.0.25 (registry+https://github.com/rust-lang/crates.io-index)", - "lazy_static 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)", + "lazy_static 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)", "libc 0.2.43 (registry+https://github.com/rust-lang/crates.io-index)", "untrusted 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -3264,7 +3261,7 @@ name = "rlp_compress" version = "0.1.0" dependencies = [ "elastic-array 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)", - "lazy_static 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)", + "lazy_static 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)", "rlp 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -3341,7 +3338,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "base64 0.9.3 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.4.5 (registry+https://github.com/rust-lang/crates.io-index)", - "ring 0.13.2 (registry+https://github.com/rust-lang/crates.io-index)", + "ring 0.13.5 (registry+https://github.com/rust-lang/crates.io-index)", "sct 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", "untrusted 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)", "webpki 0.18.1 (registry+https://github.com/rust-lang/crates.io-index)", @@ -3380,7 +3377,7 @@ name = "sct" version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "ring 0.13.2 (registry+https://github.com/rust-lang/crates.io-index)", + "ring 0.13.5 (registry+https://github.com/rust-lang/crates.io-index)", "untrusted 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -3663,7 +3660,7 @@ name = "thread_local" version = "0.3.6" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "lazy_static 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)", + "lazy_static 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -3805,7 +3802,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "crossbeam-utils 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)", "futures 0.1.25 (registry+https://github.com/rust-lang/crates.io-index)", - "lazy_static 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)", + "lazy_static 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.4.5 (registry+https://github.com/rust-lang/crates.io-index)", "mio 0.6.16 (registry+https://github.com/rust-lang/crates.io-index)", "num_cpus 1.8.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -4120,7 +4117,7 @@ version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "idna 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", - "lazy_static 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)", + "lazy_static 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)", "regex 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)", "serde 1.0.80 (registry+https://github.com/rust-lang/crates.io-index)", "serde_derive 1.0.80 (registry+https://github.com/rust-lang/crates.io-index)", @@ -4134,7 +4131,7 @@ version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "if_chain 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", - "lazy_static 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)", + "lazy_static 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)", "proc-macro2 0.4.20 (registry+https://github.com/rust-lang/crates.io-index)", "quote 0.6.8 (registry+https://github.com/rust-lang/crates.io-index)", "regex 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)", @@ -4242,7 +4239,7 @@ name = "webpki" version = "0.18.1" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "ring 0.13.2 (registry+https://github.com/rust-lang/crates.io-index)", + "ring 0.13.5 (registry+https://github.com/rust-lang/crates.io-index)", "untrusted 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -4498,7 +4495,7 @@ dependencies = [ "checksum kvdb-memorydb 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "45bcdf5eb083602cff61a6f8438dce2a7900d714e893fc48781c39fb119d37aa" "checksum kvdb-rocksdb 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)" = "06cf755dc587839ba34d3cbe3f12b6ad55850fbcdfe67336157a021a1a5c43ae" "checksum language-tags 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "a91d884b6667cd606bb5a69aa0c99ba811a115fc68915e7056ec08a46e93199a" -"checksum lazy_static 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ca488b89a5657b0a2ecd45b95609b3e848cf1755da332a0da46e2b2b1cb371a7" +"checksum lazy_static 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "a374c89b9db55895453a74c1e38861d9deec0b01b405a82516e9d5de4820dea1" "checksum lazycell 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ddba4c30a78328befecec92fc94970e53b3ae385827d28620f0f5bb2493081e0" "checksum libc 0.2.43 (registry+https://github.com/rust-lang/crates.io-index)" = "76e3a3ef172f1a0b9a9ff0dd1491ae5e6c948b94479a3021819ba7d860c8645d" "checksum libloading 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)" = "9c3ad660d7cb8c5822cd83d10897b0f1f1526792737a179e73896152f85b88c2" @@ -4602,7 +4599,7 @@ dependencies = [ "checksum regex-syntax 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)" = "747ba3b235651f6e2f67dfa8bcdcd073ddb7c243cb21c442fc12395dfcac212d" "checksum relay 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "1576e382688d7e9deecea24417e350d3062d97e32e45d70b1cde65994ff1489a" "checksum remove_dir_all 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)" = "3488ba1b9a2084d38645c4c08276a1752dcbf2c7130d74f1569681ad5d2799c5" -"checksum ring 0.13.2 (registry+https://github.com/rust-lang/crates.io-index)" = "dbe642b9dd1ba0038d78c4a3999d1ee56178b4d415c1e1fbaba83b06dce012f0" +"checksum ring 0.13.5 (registry+https://github.com/rust-lang/crates.io-index)" = "2c4db68a2e35f3497146b7e4563df7d4773a2433230c5e4b448328e31740458a" "checksum rlp 0.2.4 (registry+https://github.com/rust-lang/crates.io-index)" = "524c5ad554859785dfc8469df3ed5e0b5784d4d335877ed47c8d90fc0eb238fe" "checksum rlp 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "16d1effe9845d54f90e7be8420ee49e5c94623140b97ee4bc6fb5bfddb745720" "checksum rpassword 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)" = "b273c91bd242ca03ad6d71c143b6f17a48790e61f21a6c78568fa2b6774a24a4" diff --git a/util/network-devp2p/src/ip_utils.rs b/util/network-devp2p/src/ip_utils.rs index a0834466a7a..306f283934a 100644 --- a/util/network-devp2p/src/ip_utils.rs +++ b/util/network-devp2p/src/ip_utils.rs @@ -40,7 +40,7 @@ pub trait SocketAddrExt { fn is_documentation_s(&self) -> bool { false } fn is_global_multicast(&self) -> bool { false } fn is_other_multicast(&self) -> bool { false } - + fn is_reserved(&self) -> bool; fn is_usable_public(&self) -> bool; fn is_usable_private(&self) -> bool; @@ -50,38 +50,38 @@ pub trait SocketAddrExt { impl SocketAddrExt for Ipv4Addr { fn is_global_s(&self) -> bool { - !self.is_private() && - !self.is_loopback() && + !self.is_private() && + !self.is_loopback() && !self.is_link_local() && - !self.is_broadcast() && + !self.is_broadcast() && !self.is_documentation() } - // Used for communications between a service provider and its subscribers when using a carrier-grade NAT + // Used for communications between a service provider and its subscribers when using a carrier-grade NAT // see: https://en.wikipedia.org/wiki/Reserved_IP_addresses fn is_shared_space(&self) -> bool { - *self >= Ipv4Addr::new(100, 64, 0, 0) && + *self >= Ipv4Addr::new(100, 64, 0, 0) && *self <= Ipv4Addr::new(100, 127, 255, 255) } // Used for the IANA IPv4 Special Purpose Address Registry // see: https://en.wikipedia.org/wiki/Reserved_IP_addresses fn is_special_purpose(&self) -> bool { - *self >= Ipv4Addr::new(192, 0, 0, 0) && + *self >= Ipv4Addr::new(192, 0, 0, 0) && *self <= Ipv4Addr::new(192, 0, 0, 255) } // Used for testing of inter-network communications between two separate subnets // see: https://en.wikipedia.org/wiki/Reserved_IP_addresses fn is_benchmarking(&self) -> bool { - *self >= Ipv4Addr::new(198, 18, 0, 0) && + *self >= Ipv4Addr::new(198, 18, 0, 0) && *self <= Ipv4Addr::new(198, 19, 255, 255) } // Reserved for future use // see: https://en.wikipedia.org/wiki/Reserved_IP_addresses fn is_future_use(&self) -> bool { - *self >= Ipv4Addr::new(240, 0, 0, 0) && + *self >= Ipv4Addr::new(240, 0, 0, 0) && *self <= Ipv4Addr::new(255, 255, 255, 254) } @@ -102,7 +102,7 @@ impl SocketAddrExt for Ipv4Addr { !self.is_reserved() && !self.is_private() } - + fn is_usable_private(&self) -> bool { self.is_private() } @@ -118,7 +118,7 @@ impl SocketAddrExt for Ipv4Addr { impl SocketAddrExt for Ipv6Addr { fn is_global_s(&self) -> bool { self.is_global_multicast() || - (!self.is_loopback() && + (!self.is_loopback() && !self.is_unique_local_s() && !self.is_unicast_link_local_s() && !self.is_documentation_s() && @@ -134,7 +134,7 @@ impl SocketAddrExt for Ipv6Addr { fn is_unicast_link_local_s(&self) -> bool { (self.segments()[0] & 0xffc0) == 0xfe80 } - + // reserved for documentation (2001:db8::/32). fn is_documentation_s(&self) -> bool { (self.segments()[0] == 0x2001) && (self.segments()[1] == 0xdb8) @@ -160,7 +160,7 @@ impl SocketAddrExt for Ipv6Addr { !self.is_reserved() && !self.is_unique_local_s() } - + fn is_usable_private(&self) -> bool { self.is_unique_local_s() } @@ -194,7 +194,7 @@ impl SocketAddrExt for IpAddr { IpAddr::V6(ref ip) => ip.is_usable_public(), } } - + fn is_usable_private(&self) -> bool { match *self { IpAddr::V4(ref ip) => ip.is_usable_private(), @@ -308,7 +308,15 @@ pub fn select_public_address(port: u16) -> SocketAddr { pub fn map_external_address(local: &NodeEndpoint) -> Option { if let SocketAddr::V4(ref local_addr) = local.address { - match search_gateway_from_timeout(*local_addr.ip(), Duration::new(5, 0)) { + let local_ip = *local_addr.ip(); + let search_gateway_child = ::std::thread::spawn(move || { + search_gateway_from_timeout(local_ip, Duration::new(5, 0)) + }); + let gateway_result = match search_gateway_child.join() { + Err(_) => return None, + Ok(gateway_result) => gateway_result, + }; + match gateway_result { Err(ref err) => debug!("Gateway search error: {}", err), Ok(gateway) => { match gateway.get_external_ip() { @@ -425,32 +433,32 @@ fn ipv4_future_use() { fn ipv4_usable_public() { assert!(!Ipv4Addr::new(0,0,0,0).is_usable_public()); // unspecified assert!(Ipv4Addr::new(0,0,0,1).is_usable_public()); - + assert!(Ipv4Addr::new(9,255,255,255).is_usable_public()); assert!(!Ipv4Addr::new(10,0,0,0).is_usable_public()); // private intra-network assert!(!Ipv4Addr::new(10,255,255,255).is_usable_public()); // private intra-network assert!(Ipv4Addr::new(11,0,0,0).is_usable_public()); - + assert!(Ipv4Addr::new(100, 63, 255, 255).is_usable_public()); - assert!(!Ipv4Addr::new(100, 64, 0, 0).is_usable_public()); // shared space + assert!(!Ipv4Addr::new(100, 64, 0, 0).is_usable_public()); // shared space assert!(!Ipv4Addr::new(100, 127, 255, 255).is_usable_public()); // shared space assert!(Ipv4Addr::new(100, 128, 0, 0).is_usable_public()); - + assert!(Ipv4Addr::new(126,255,255,255).is_usable_public()); assert!(!Ipv4Addr::new(127,0,0,0).is_usable_public()); // loopback assert!(!Ipv4Addr::new(127,255,255,255).is_usable_public()); // loopback assert!(Ipv4Addr::new(128,0,0,0).is_usable_public()); - + assert!(Ipv4Addr::new(169,253,255,255).is_usable_public()); assert!(!Ipv4Addr::new(169,254,0,0).is_usable_public()); // link-local assert!(!Ipv4Addr::new(169,254,255,255).is_usable_public()); // link-local assert!(Ipv4Addr::new(169,255,0,0).is_usable_public()); - + assert!(Ipv4Addr::new(172,15,255,255).is_usable_public()); assert!(!Ipv4Addr::new(172,16,0,0).is_usable_public()); // private intra-network assert!(!Ipv4Addr::new(172,31,255,255).is_usable_public()); // private intra-network assert!(Ipv4Addr::new(172,32,255,255).is_usable_public()); - + assert!(Ipv4Addr::new(191,255,255,255).is_usable_public()); assert!(!Ipv4Addr::new(192,0,0,0).is_usable_public()); // special purpose assert!(!Ipv4Addr::new(192,0,0,255).is_usable_public()); // special purpose @@ -458,19 +466,19 @@ fn ipv4_usable_public() { assert!(Ipv4Addr::new(192,0,1,255).is_usable_public()); assert!(!Ipv4Addr::new(192,0,2,0).is_usable_public()); // documentation - assert!(!Ipv4Addr::new(192,0,2,255).is_usable_public()); // documentation + assert!(!Ipv4Addr::new(192,0,2,255).is_usable_public()); // documentation assert!(Ipv4Addr::new(192,0,3,0).is_usable_public()); - + assert!(Ipv4Addr::new(192,167,255,255).is_usable_public()); assert!(!Ipv4Addr::new(192,168,0,0).is_usable_public()); // private intra-network assert!(!Ipv4Addr::new(192,168,255,255).is_usable_public()); // private intra-network assert!(Ipv4Addr::new(192,169,0,0).is_usable_public()); - + assert!(Ipv4Addr::new(198,17,255,255).is_usable_public()); assert!(!Ipv4Addr::new(198,18,0,0).is_usable_public()); // benchmarking assert!(!Ipv4Addr::new(198,19,255,255).is_usable_public()); // benchmarking assert!(Ipv4Addr::new(198,20,0,0).is_usable_public()); - + assert!(Ipv4Addr::new(198,51,99,255).is_usable_public()); assert!(!Ipv4Addr::new(198,51,100,0).is_usable_public()); // documentation assert!(!Ipv4Addr::new(198,51,100,255).is_usable_public()); // documentation @@ -485,7 +493,7 @@ fn ipv4_usable_public() { assert!(!Ipv4Addr::new(224,0,0,0).is_usable_public()); // multicast assert!(!Ipv4Addr::new(239, 255, 255, 255).is_usable_public()); // multicast assert!(!Ipv4Addr::new(240, 0, 0, 0).is_usable_public()); // future use - assert!(!Ipv4Addr::new(255, 255, 255, 254).is_usable_public()); // future use + assert!(!Ipv4Addr::new(255, 255, 255, 254).is_usable_public()); // future use assert!(!Ipv4Addr::new(255, 255, 255, 255).is_usable_public()); // limited broadcast } @@ -495,12 +503,12 @@ fn ipv4_usable_private() { assert!(Ipv4Addr::new(10,0,0,0).is_usable_private()); // private intra-network assert!(Ipv4Addr::new(10,255,255,255).is_usable_private()); // private intra-network assert!(!Ipv4Addr::new(11,0,0,0).is_usable_private()); - + assert!(!Ipv4Addr::new(172,15,255,255).is_usable_private()); assert!(Ipv4Addr::new(172,16,0,0).is_usable_private()); // private intra-network assert!(Ipv4Addr::new(172,31,255,255).is_usable_private()); // private intra-network assert!(!Ipv4Addr::new(172,32,255,255).is_usable_private()); - + assert!(!Ipv4Addr::new(192,167,255,255).is_usable_private()); assert!(Ipv4Addr::new(192,168,0,0).is_usable_private()); // private intra-network assert!(Ipv4Addr::new(192,168,255,255).is_usable_private()); // private intra-network From 1ac1224cd3f983d66d650e78428d274350c84a30 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tomasz=20Drwi=C4=99ga?= Date: Fri, 11 Jan 2019 18:08:58 +0100 Subject: [PATCH 33/68] Fix #9822: trace_filter does not return failed contract creation (#10140) currently trace_filter can't return failed contract creation transaction but trace_block can query the failed contract creation transaction.it because the logic of parity-ethereum/ethcore/src/trace/types/filter.rs Line 109 in 9982eba ``` _ => false ``` this patch correct the logic: ``` _ => self.to_address.matches_all() ``` Signed-off-by: Deshi Xiao --- ethcore/src/trace/types/filter.rs | 42 ++++++++++++++++++++++++++++++- 1 file changed, 41 insertions(+), 1 deletion(-) diff --git a/ethcore/src/trace/types/filter.rs b/ethcore/src/trace/types/filter.rs index 00fe38e4845..d7b8fcc1808 100644 --- a/ethcore/src/trace/types/filter.rs +++ b/ethcore/src/trace/types/filter.rs @@ -106,7 +106,7 @@ impl Filter { let to_matches = match trace.result { Res::Create(ref create_result) => self.to_address.matches(&create_result.address), - _ => false + _ => self.to_address.matches_all(), }; from_matches && to_matches @@ -385,4 +385,44 @@ mod tests { assert!(f1.matches(&trace)); assert!(f2.matches(&trace)); } + + #[test] + fn filter_match_failed_contract_creation_fix_9822() { + + let f0 = Filter { + range: (0..0), + from_address: vec![1.into()].into(), + to_address: vec![].into(), + }; + + let f1 = Filter { + range: (0..0), + from_address: vec![].into(), + to_address: vec![].into(), + }; + + let f2 = Filter { + range: (0..0), + from_address: vec![].into(), + to_address: vec![2.into()].into(), + }; + + let trace = FlatTrace { + action: Action::Create(Create { + from: 1.into(), + gas: 4.into(), + init: vec![0x5], + value: 3.into(), + }), + result: Res::FailedCall(TraceError::BadInstruction), + trace_address: vec![].into_iter().collect(), + subtraces: 0 + }; + + assert!(f0.matches(&trace)); + assert!(f1.matches(&trace)); + assert!(!f2.matches(&trace)); + } + } + From 181738a736b0b2ea0302162d05fa78997f9684dd Mon Sep 17 00:00:00 2001 From: shoffmeister Date: Sat, 12 Jan 2019 13:12:03 +0100 Subject: [PATCH 34/68] Remove reference to ui-interface command-line option (#10170) --- parity/cli/mod.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/parity/cli/mod.rs b/parity/cli/mod.rs index 29c975acfec..77c1aac2ef6 100644 --- a/parity/cli/mod.rs +++ b/parity/cli/mod.rs @@ -309,7 +309,7 @@ usage! { ["Convenience Options"] FLAG flag_unsafe_expose: (bool) = false, or |c: &Config| c.misc.as_ref()?.unsafe_expose, "--unsafe-expose", - "All servers will listen on external interfaces and will be remotely accessible. It's equivalent with setting the following: --[ws,jsonrpc,ui,ipfs-api,secretstore,stratum,dapps,secretstore-http]-interface=all --*-hosts=all This option is UNSAFE and should be used with great care!", + "All servers will listen on external interfaces and will be remotely accessible. It's equivalent with setting the following: --[ws,jsonrpc,ipfs-api,secretstore,stratum,dapps,secretstore-http]-interface=all --*-hosts=all This option is UNSAFE and should be used with great care!", ARG arg_config: (String) = "$BASE/config.toml", or |_| None, "-c, --config=[CONFIG]", From e8e087fc37b6e5aa78bd15eb32f8fb7dec3bb6d9 Mon Sep 17 00:00:00 2001 From: Wei Tang Date: Mon, 14 Jan 2019 15:33:10 +0100 Subject: [PATCH 35/68] Skip locking in statedb for non-canon blocks (#10141) --- ethcore/src/state_db.rs | 37 ++++++++++++++++++------------------- 1 file changed, 18 insertions(+), 19 deletions(-) diff --git a/ethcore/src/state_db.rs b/ethcore/src/state_db.rs index 6b31864526e..1ceb8ff0c5b 100644 --- a/ethcore/src/state_db.rs +++ b/ethcore/src/state_db.rs @@ -379,14 +379,7 @@ impl StateDB { /// Check if the account can be returned from cache by matching current block parent hash against canonical /// state and filtering out account modified in later blocks. - fn is_allowed(addr: &Address, parent_hash: &Option, modifications: &VecDeque) -> bool { - let mut parent = match *parent_hash { - None => { - trace!("Cache lookup skipped for {:?}: no parent hash", addr); - return false; - } - Some(ref parent) => parent, - }; + fn is_allowed(addr: &Address, parent_hash: &H256, modifications: &VecDeque) -> bool { if modifications.is_empty() { return true; } @@ -395,6 +388,7 @@ impl StateDB { // We search for our parent in that list first and then for // all its parent until we hit the canonical block, // checking against all the intermediate modifications. + let mut parent = parent_hash; for m in modifications { if &m.hash == parent { if m.is_canon { @@ -434,20 +428,25 @@ impl state::Backend for StateDB { } fn get_cached_account(&self, addr: &Address) -> Option> { - let mut cache = self.account_cache.lock(); - if !Self::is_allowed(addr, &self.parent_hash, &cache.modifications) { - return None; - } - cache.accounts.get_mut(addr).map(|a| a.as_ref().map(|a| a.clone_basic())) + self.parent_hash.as_ref().and_then(|parent_hash| { + let mut cache = self.account_cache.lock(); + if !Self::is_allowed(addr, parent_hash, &cache.modifications) { + return None; + } + cache.accounts.get_mut(addr).map(|a| a.as_ref().map(|a| a.clone_basic())) + }) } fn get_cached(&self, a: &Address, f: F) -> Option - where F: FnOnce(Option<&mut Account>) -> U { - let mut cache = self.account_cache.lock(); - if !Self::is_allowed(a, &self.parent_hash, &cache.modifications) { - return None; - } - cache.accounts.get_mut(a).map(|c| f(c.as_mut())) + where F: FnOnce(Option<&mut Account>) -> U + { + self.parent_hash.as_ref().and_then(|parent_hash| { + let mut cache = self.account_cache.lock(); + if !Self::is_allowed(a, parent_hash, &cache.modifications) { + return None; + } + cache.accounts.get_mut(a).map(|c| f(c.as_mut())) + }) } fn get_cached_code(&self, hash: &H256) -> Option>> { From d356c6640d1ab43b714bb168f7d17cefc4974bbf Mon Sep 17 00:00:00 2001 From: Afri Schoedon <5chdn@users.noreply.github.com> Date: Mon, 14 Jan 2019 17:29:17 +0100 Subject: [PATCH 36/68] version: bump nightly to 2.4 (#10165) * version: bump nightly to 2.4 * revert rand downgrade --- Cargo.lock | 12 ++++++------ Cargo.toml | 2 +- util/version/Cargo.toml | 2 +- 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index e5f5ea27f73..8544d62ce48 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2362,7 +2362,7 @@ dependencies = [ "futures 0.1.25 (registry+https://github.com/rust-lang/crates.io-index)", "jni 0.10.2 (registry+https://github.com/rust-lang/crates.io-index)", "panic_hook 0.1.0", - "parity-ethereum 2.3.0", + "parity-ethereum 2.4.0", "tokio 0.1.11 (registry+https://github.com/rust-lang/crates.io-index)", "tokio-current-thread 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -2380,7 +2380,7 @@ dependencies = [ [[package]] name = "parity-ethereum" -version = "2.3.0" +version = "2.4.0" dependencies = [ "ansi_term 0.10.2 (registry+https://github.com/rust-lang/crates.io-index)", "atty 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)", @@ -2430,7 +2430,7 @@ dependencies = [ "parity-rpc 1.12.0", "parity-runtime 0.1.0", "parity-updater 1.12.0", - "parity-version 2.3.0", + "parity-version 2.4.0", "parity-whisper 0.1.0", "parking_lot 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", "pretty_assertions 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", @@ -2582,7 +2582,7 @@ dependencies = [ "parity-crypto 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", "parity-runtime 0.1.0", "parity-updater 1.12.0", - "parity-version 2.3.0", + "parity-version 2.4.0", "parking_lot 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", "patricia-trie 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", "pretty_assertions 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", @@ -2680,7 +2680,7 @@ dependencies = [ "parity-bytes 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", "parity-hash-fetch 1.12.0", "parity-path 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", - "parity-version 2.3.0", + "parity-version 2.4.0", "parking_lot 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", "rand 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)", "semver 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -2690,7 +2690,7 @@ dependencies = [ [[package]] name = "parity-version" -version = "2.3.0" +version = "2.4.0" dependencies = [ "parity-bytes 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", "rlp 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", diff --git a/Cargo.toml b/Cargo.toml index be7a916bf14..5e956003571 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -2,7 +2,7 @@ description = "Parity Ethereum client" name = "parity-ethereum" # NOTE Make sure to update util/version/Cargo.toml as well -version = "2.3.0" +version = "2.4.0" license = "GPL-3.0" authors = ["Parity Technologies "] diff --git a/util/version/Cargo.toml b/util/version/Cargo.toml index f309c3b04c8..041030da5f0 100644 --- a/util/version/Cargo.toml +++ b/util/version/Cargo.toml @@ -3,7 +3,7 @@ [package] name = "parity-version" # NOTE: this value is used for Parity Ethereum version string (via env CARGO_PKG_VERSION) -version = "2.3.0" +version = "2.4.0" authors = ["Parity Technologies "] build = "build.rs" From 53a04e1686691a9cc3cc6cd9293d2edcf3fbffbb Mon Sep 17 00:00:00 2001 From: Nicolas Gotchac Date: Tue, 15 Jan 2019 09:14:15 +0100 Subject: [PATCH 37/68] Drop `runtime` after others (especially `ws_server`) (#10179) --- parity/run.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/parity/run.rs b/parity/run.rs index 8b4bfff5b95..6c53e675cd1 100644 --- a/parity/run.rs +++ b/parity/run.rs @@ -376,7 +376,7 @@ fn execute_light_impl(cmd: RunCmd, logger: Arc) -> Result Date: Tue, 15 Jan 2019 09:36:55 +0100 Subject: [PATCH 38/68] Align personal_unlockAccount behaviour when permanent unlock is disabled (#10060) * align with docs > If permanent unlocking is disabled (the default) then the duration argument will be ignored, and the account will be unlocked for a single signing. Current behaviour throws an error that is no longer relevant. * fix test * Change back to throwing error * Fix test again * formatting * oops * whitespace fixes --- rpc/src/v1/impls/personal.rs | 4 ++-- rpc/src/v1/tests/mocked/personal.rs | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/rpc/src/v1/impls/personal.rs b/rpc/src/v1/impls/personal.rs index 56135544a68..abaebc3d08e 100644 --- a/rpc/src/v1/impls/personal.rs +++ b/rpc/src/v1/impls/personal.rs @@ -129,8 +129,8 @@ impl Personal for PersonalClient { let r = match (self.allow_perm_unlock, duration) { (false, None) => store.unlock_account_temporarily(account, account_pass.into()), (false, _) => return Err(errors::unsupported( - "Time-unlocking is only supported in --geth compatibility mode.", - Some("Restart your client with --geth flag or use personal_sendTransaction instead."), + "Time-unlocking is not supported when permanent unlock is disabled.", + Some("Use personal_sendTransaction or enable permanent unlocking, instead."), )), (true, Some(0)) => store.unlock_account_permanently(account, account_pass.into()), (true, Some(d)) => store.unlock_account_timed(account, account_pass.into(), Duration::from_secs(d.into())), diff --git a/rpc/src/v1/tests/mocked/personal.rs b/rpc/src/v1/tests/mocked/personal.rs index b74553bc7f8..bdf60674183 100644 --- a/rpc/src/v1/tests/mocked/personal.rs +++ b/rpc/src/v1/tests/mocked/personal.rs @@ -303,7 +303,7 @@ fn ec_recover_invalid_signature() { } #[test] -fn should_unlock_not_account_temporarily_if_allow_perm_is_disabled() { +fn should_not_unlock_account_temporarily_if_allow_perm_is_disabled() { let tester = setup(); let address = tester.accounts.new_account(&"password123".into()).unwrap(); @@ -317,7 +317,7 @@ fn should_unlock_not_account_temporarily_if_allow_perm_is_disabled() { ], "id": 1 }"#; - let response = r#"{"jsonrpc":"2.0","error":{"code":-32000,"message":"Time-unlocking is only supported in --geth compatibility mode.","data":"Restart your client with --geth flag or use personal_sendTransaction instead."},"id":1}"#; + let response = r#"{"jsonrpc":"2.0","error":{"code":-32000,"message":"Time-unlocking is not supported when permanent unlock is disabled.","data":"Use personal_sendTransaction or enable permanent unlocking, instead."},"id":1}"#; assert_eq!(tester.io.handle_request_sync(&request), Some(response.into())); assert!(tester.accounts.sign(address, None, Default::default()).is_err(), "Should not unlock account."); From 64704c456fffb6043671692e65486f6daf529d58 Mon Sep 17 00:00:00 2001 From: Wei Tang Date: Tue, 15 Jan 2019 10:21:44 +0100 Subject: [PATCH 39/68] Handle the case for contract creation on an empty but exist account with storage items (#10065) * Add is_base_storage_root_unchanged * Fix compile, use a shortcut for check, and remove ignored tests * Add a warn! * Update ethereum/tests to v6.0.0-beta.2 * grumble: use {:#x} instead of 0x{:x} Co-Authored-By: sorpaas --- ethcore/res/ethereum/tests | 2 +- .../res/ethereum/tests-issues/currents.json | 44 ++----------------- ethcore/src/externalities.rs | 7 ++- ethcore/src/state/account.rs | 5 +++ ethcore/src/state/mod.rs | 7 +++ 5 files changed, 22 insertions(+), 43 deletions(-) diff --git a/ethcore/res/ethereum/tests b/ethcore/res/ethereum/tests index 2cd62aeec11..420f443477c 160000 --- a/ethcore/res/ethereum/tests +++ b/ethcore/res/ethereum/tests @@ -1 +1 @@ -Subproject commit 2cd62aeec11da29766b30d500f2b9a96f1f28cf0 +Subproject commit 420f443477caa8516f1f9ee8122fafc3415c0f34 diff --git a/ethcore/res/ethereum/tests-issues/currents.json b/ethcore/res/ethereum/tests-issues/currents.json index 2ece034d098..d4d3f5e3aae 100644 --- a/ethcore/res/ethereum/tests-issues/currents.json +++ b/ethcore/res/ethereum/tests-issues/currents.json @@ -1,42 +1,4 @@ -{ "block": - [ - { - "reference": "None", - "comment": "This failing test is deemed skippable. Could not happen on a mainnet.", - "failing": "GeneralStateTest_stCreate2", - "subtests": ["RevertInCreateInInitCreate2_d0g0v0_Constantinople"] - }, - { - "reference": "None", - "comment": "This failing test is deemed skippable. Could not happen on a mainnet.", - "failing": "GeneralStateTest_stRevertTest", - "subtests": ["RevertInCreateInInit_d0g0v0_Constantinople"] - } - ], - "state": - [ - { - "reference": "None", - "comment": "This failing test is deemed skippable. Could not happen on a mainnet.", - "failing": "stCreate2Test", - "subtests": { - "RevertInCreateInInitCreate2": { - "subnumbers": ["1"], - "chain": "Constantinople (test)" - } - } - }, - { - "reference": "None", - "comment": "This failing test is deemed skippable. Could not happen on a mainnet.", - "failing": "stRevertTest", - "subtests": { - "RevertInCreateInInit": { - "subnumbers": ["1"], - "chain": "Constantinople (test)" - } - } - } - - ] +{ + "block": [], + "state": [] } diff --git a/ethcore/src/externalities.rs b/ethcore/src/externalities.rs index 0cda8ac875a..a2f35b6ded8 100644 --- a/ethcore/src/externalities.rs +++ b/ethcore/src/externalities.rs @@ -116,7 +116,12 @@ impl<'a, T: 'a, V: 'a, B: 'a> Ext for Externalities<'a, T, V, B> where T: Tracer, V: VMTracer, B: StateBackend { fn initial_storage_at(&self, key: &H256) -> vm::Result { - self.state.checkpoint_storage_at(0, &self.origin_info.address, key).map(|v| v.unwrap_or(H256::zero())).map_err(Into::into) + if self.state.is_base_storage_root_unchanged(&self.origin_info.address)? { + self.state.checkpoint_storage_at(0, &self.origin_info.address, key).map(|v| v.unwrap_or(H256::zero())).map_err(Into::into) + } else { + warn!(target: "externalities", "Detected existing account {:#x} where a forced contract creation happened.", self.origin_info.address); + Ok(H256::zero()) + } } fn storage_at(&self, key: &H256) -> vm::Result { diff --git a/ethcore/src/state/account.rs b/ethcore/src/state/account.rs index d4a42dd31a1..e4553b906f3 100644 --- a/ethcore/src/state/account.rs +++ b/ethcore/src/state/account.rs @@ -451,6 +451,11 @@ impl Account { } } + /// Whether the base storage root of this account is unchanged. + pub fn is_base_storage_root_unchanged(&self) -> bool { + self.original_storage_cache.is_none() + } + /// Storage root where the account changes are based upon. pub fn base_storage_root(&self) -> H256 { self.storage_root diff --git a/ethcore/src/state/mod.rs b/ethcore/src/state/mod.rs index 8a46c7e1d17..2939c972971 100644 --- a/ethcore/src/state/mod.rs +++ b/ethcore/src/state/mod.rs @@ -539,6 +539,13 @@ impl State { |a| a.as_ref().map_or(self.account_start_nonce, |account| *account.nonce())) } + /// Whether the base storage root of an account remains unchanged. + pub fn is_base_storage_root_unchanged(&self, a: &Address) -> TrieResult { + Ok(self.ensure_cached(a, RequireCache::None, true, + |a| a.as_ref().map(|account| account.is_base_storage_root_unchanged()))? + .unwrap_or(true)) + } + /// Get the storage root of account `a`. pub fn storage_root(&self, a: &Address) -> TrieResult> { self.ensure_cached(a, RequireCache::None, true, From 53c408f5492c972cd7849f7cc4b325b0c20fb48c Mon Sep 17 00:00:00 2001 From: Afri Schoedon <5chdn@users.noreply.github.com> Date: Tue, 15 Jan 2019 15:48:50 +0100 Subject: [PATCH 40/68] version: bump fork blocks for kovan and foundation (#10186) --- util/version/Cargo.toml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/util/version/Cargo.toml b/util/version/Cargo.toml index 041030da5f0..5c8266d6f28 100644 --- a/util/version/Cargo.toml +++ b/util/version/Cargo.toml @@ -16,9 +16,9 @@ track = "nightly" # Latest supported fork blocks. # Indicates a critical release in this track (i.e. consensus issue). [package.metadata.networks] -foundation = { forkBlock = 4370000, critical = false } +foundation = { forkBlock = 7080000, critical = false } ropsten = { forkBlock = 4230000, critical = false } -kovan = { forkBlock = 6600000, critical = false } +kovan = { forkBlock = 9200000, critical = false } [dependencies] parity-bytes = "0.1" From ed6f2877d7474c5da75e8d62dc024195d820dbca Mon Sep 17 00:00:00 2001 From: TriplEight Date: Tue, 15 Jan 2019 17:27:43 +0100 Subject: [PATCH 41/68] Update for Android cross-compilation. (#10180) * build-unix update * .gitlab-ci update * Update build-unix.sh add android postprocessing * path to android lib libparity.so * fix path to libparity * add android lib to artifacts --- .gitlab-ci.yml | 3 ++- scripts/gitlab/build-unix.sh | 40 +++++++++++++++++------------------- 2 files changed, 21 insertions(+), 22 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 5d5f483da12..a1a1c979987 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -146,8 +146,9 @@ build-android: script: - scripts/gitlab/build-unix.sh tags: - - rust-arm + - linux-docker allow_failure: true + <<: *collect_artifacts test-beta: stage: optional diff --git a/scripts/gitlab/build-unix.sh b/scripts/gitlab/build-unix.sh index cf6bfe1476c..9bb6cd0f3f2 100755 --- a/scripts/gitlab/build-unix.sh +++ b/scripts/gitlab/build-unix.sh @@ -10,38 +10,36 @@ echo "CARGO_TARGET: " $CARGO_TARGET echo "CC: " $CC echo "CXX: " $CXX -echo "__________CARGO CONFIG__________" +echo "_____ Building target: "$CARGO_TARGET" _____" if [ "${CARGO_TARGET}" = "armv7-linux-androideabi" ] then - # use build container's cargo config - cat /.cargo/config +# only thing we need for android + time cargo build --target $CARGO_TARGET --release -p parity-clib --features final else - mkdir -p .cargo - rm -f .cargo/config - echo "[target.$CARGO_TARGET]" >> .cargo/config - echo "linker= \"$CC\"" >> .cargo/config - cat .cargo/config + time cargo build --target $CARGO_TARGET --release --features final + time cargo build --target $CARGO_TARGET --release -p evmbin + time cargo build --target $CARGO_TARGET --release -p ethstore-cli + time cargo build --target $CARGO_TARGET --release -p ethkey-cli + time cargo build --target $CARGO_TARGET --release -p whisper-cli fi - -echo "_____ Building target: "$CARGO_TARGET" _____" -time cargo build --target $CARGO_TARGET --release --features final -time cargo build --target $CARGO_TARGET --release -p evmbin -time cargo build --target $CARGO_TARGET --release -p ethstore-cli -time cargo build --target $CARGO_TARGET --release -p ethkey-cli -time cargo build --target $CARGO_TARGET --release -p whisper-cli - echo "_____ Post-processing binaries _____" rm -rf artifacts mkdir -p artifacts cd artifacts mkdir -p $CARGO_TARGET cd $CARGO_TARGET -cp -v ../../target/$CARGO_TARGET/release/parity ./parity -cp -v ../../target/$CARGO_TARGET/release/parity-evm ./parity-evm -cp -v ../../target/$CARGO_TARGET/release/ethstore ./ethstore -cp -v ../../target/$CARGO_TARGET/release/ethkey ./ethkey -cp -v ../../target/$CARGO_TARGET/release/whisper ./whisper +if [ "${CARGO_TARGET}" = "armv7-linux-androideabi" ] +then +# only thing we need for android + cp -v ../../target/$CARGO_TARGET/release/libparity.so ./libparity.so +else + cp -v ../../target/$CARGO_TARGET/release/parity ./parity + cp -v ../../target/$CARGO_TARGET/release/parity-evm ./parity-evm + cp -v ../../target/$CARGO_TARGET/release/ethstore ./ethstore + cp -v ../../target/$CARGO_TARGET/release/ethkey ./ethkey + cp -v ../../target/$CARGO_TARGET/release/whisper ./whisper +fi # stripping can also be done on release build time From a6c6c7c0703dbf69c2fdfe7e3f3e3c69753fa5fa Mon Sep 17 00:00:00 2001 From: Afri Schoedon <5chdn@users.noreply.github.com> Date: Tue, 15 Jan 2019 21:50:41 +0100 Subject: [PATCH 42/68] pull constantinople on ethereum network (#10189) * ethcore: pull constantinople on ethereum network * version: mark update as critical * ethcore: remove constantinople alltogether from chain spec * version: revert fork block for ethereum --- ethcore/res/ethereum/foundation.json | 12 +++--------- util/version/Cargo.toml | 4 ++-- 2 files changed, 5 insertions(+), 11 deletions(-) diff --git a/ethcore/res/ethereum/foundation.json b/ethcore/res/ethereum/foundation.json index 2522a09ae25..69f150fad61 100644 --- a/ethcore/res/ethereum/foundation.json +++ b/ethcore/res/ethereum/foundation.json @@ -9,8 +9,7 @@ "durationLimit": "0xd", "blockReward": { "0x0": "0x4563918244f40000", - "0x42ae50": "0x29a2241af62c0000", - "0x6c0840": "0x1bc16d674ec80000" + "0x42ae50": "0x29a2241af62c0000" }, "homesteadTransition": "0x118c30", "daoHardforkTransition": "0x1d4c00", @@ -135,8 +134,7 @@ ], "eip100bTransition": "0x42ae50", "difficultyBombDelays": { - "0x42ae50": "0x2dc6c0", - "0x6c0840": "0x1e8480" + "0x42ae50": "0x2dc6c0" } } } @@ -160,11 +158,7 @@ "eip140Transition": "0x42ae50", "eip211Transition": "0x42ae50", "eip214Transition": "0x42ae50", - "eip658Transition": "0x42ae50", - "eip145Transition": "0x6c0840", - "eip1014Transition": "0x6c0840", - "eip1052Transition": "0x6c0840", - "eip1283Transition": "0x6c0840" + "eip658Transition": "0x42ae50" }, "genesis": { "seal": { diff --git a/util/version/Cargo.toml b/util/version/Cargo.toml index 5c8266d6f28..f778d290ed6 100644 --- a/util/version/Cargo.toml +++ b/util/version/Cargo.toml @@ -16,9 +16,9 @@ track = "nightly" # Latest supported fork blocks. # Indicates a critical release in this track (i.e. consensus issue). [package.metadata.networks] -foundation = { forkBlock = 7080000, critical = false } +foundation = { forkBlock = 4370000, critical = true } ropsten = { forkBlock = 4230000, critical = false } -kovan = { forkBlock = 9200000, critical = false } +kovan = { forkBlock = 9200000, critical = true } [dependencies] parity-bytes = "0.1" From 1df6361753bc8231884d959b72b6c1d68fe9c485 Mon Sep 17 00:00:00 2001 From: Nicolas Gotchac Date: Wed, 16 Jan 2019 16:35:28 +0100 Subject: [PATCH 43/68] Run all `igd` methods in its own thread (#10195) --- util/network-devp2p/src/ip_utils.rs | 64 ++++++++++++++--------------- 1 file changed, 32 insertions(+), 32 deletions(-) diff --git a/util/network-devp2p/src/ip_utils.rs b/util/network-devp2p/src/ip_utils.rs index 306f283934a..4b8473ceca8 100644 --- a/util/network-devp2p/src/ip_utils.rs +++ b/util/network-devp2p/src/ip_utils.rs @@ -309,40 +309,40 @@ pub fn select_public_address(port: u16) -> SocketAddr { pub fn map_external_address(local: &NodeEndpoint) -> Option { if let SocketAddr::V4(ref local_addr) = local.address { let local_ip = *local_addr.ip(); + let local_port = local_addr.port(); + let local_udp_port = local.udp_port; + let search_gateway_child = ::std::thread::spawn(move || { - search_gateway_from_timeout(local_ip, Duration::new(5, 0)) + match search_gateway_from_timeout(local_ip, Duration::new(5, 0)) { + Err(ref err) => debug!("Gateway search error: {}", err), + Ok(gateway) => { + match gateway.get_external_ip() { + Err(ref err) => { + debug!("IP request error: {}", err); + }, + Ok(external_addr) => { + match gateway.add_any_port(PortMappingProtocol::TCP, SocketAddrV4::new(local_ip, local_port), 0, "Parity Node/TCP") { + Err(ref err) => { + debug!("Port mapping error: {}", err); + }, + Ok(tcp_port) => { + match gateway.add_any_port(PortMappingProtocol::UDP, SocketAddrV4::new(local_ip, local_udp_port), 0, "Parity Node/UDP") { + Err(ref err) => { + debug!("Port mapping error: {}", err); + }, + Ok(udp_port) => { + return Some(NodeEndpoint { address: SocketAddr::V4(SocketAddrV4::new(external_addr, tcp_port)), udp_port }); + }, + } + }, + } + }, + } + }, + } + None }); - let gateway_result = match search_gateway_child.join() { - Err(_) => return None, - Ok(gateway_result) => gateway_result, - }; - match gateway_result { - Err(ref err) => debug!("Gateway search error: {}", err), - Ok(gateway) => { - match gateway.get_external_ip() { - Err(ref err) => { - debug!("IP request error: {}", err); - }, - Ok(external_addr) => { - match gateway.add_any_port(PortMappingProtocol::TCP, SocketAddrV4::new(*local_addr.ip(), local_addr.port()), 0, "Parity Node/TCP") { - Err(ref err) => { - debug!("Port mapping error: {}", err); - }, - Ok(tcp_port) => { - match gateway.add_any_port(PortMappingProtocol::UDP, SocketAddrV4::new(*local_addr.ip(), local.udp_port), 0, "Parity Node/UDP") { - Err(ref err) => { - debug!("Port mapping error: {}", err); - }, - Ok(udp_port) => { - return Some(NodeEndpoint { address: SocketAddr::V4(SocketAddrV4::new(external_addr, tcp_port)), udp_port }); - }, - } - }, - } - }, - } - }, - } + return search_gateway_child.join().ok()?; } None } From cdba22a2cbf80dce48df84a5a9650a197420de60 Mon Sep 17 00:00:00 2001 From: Seun LanLege Date: Wed, 16 Jan 2019 19:37:26 +0400 Subject: [PATCH 44/68] Adds cli interface to allow reseting chain to a particular block (#9782) * added BlockChainReset trait, client impl, and cli interface * show block hashes to be deleted and new best block, update best block in db, better cli interface * delete BlockNumber from COL_EXTRA * add TODO comment * add BlockReciepts to imports * refactor block_headers_from_best_block, better cli documentation * exit gracefully if reset arg isn't supplied * fix cli usage macro * removed stray int literals * use Vec::with_capacity Co-Authored-By: seunlanlege * cast n to usize * correct imports * make db reset arg required --- ethcore/blockchain/src/blockchain.rs | 15 +++++++++ ethcore/blockchain/src/lib.rs | 2 +- ethcore/src/client/client.rs | 49 ++++++++++++++++++++++++++-- ethcore/src/client/mod.rs | 3 +- ethcore/src/client/traits.rs | 6 ++++ parity/blockchain.rs | 42 +++++++++++++++++++++++- parity/cli/mod.rs | 11 +++++++ parity/configuration.rs | 15 ++++++++- 8 files changed, 137 insertions(+), 6 deletions(-) diff --git a/ethcore/blockchain/src/blockchain.rs b/ethcore/blockchain/src/blockchain.rs index 88f15038803..de6e8c134a6 100644 --- a/ethcore/blockchain/src/blockchain.rs +++ b/ethcore/blockchain/src/blockchain.rs @@ -668,6 +668,21 @@ impl BlockChain { self.db.key_value().read_with_cache(db::COL_EXTRA, &self.block_details, parent).map_or(false, |d| d.children.contains(hash)) } + /// fetches the list of blocks from best block to n, and n's parent hash + /// where n > 0 + pub fn block_headers_from_best_block(&self, n: u32) -> Option<(Vec, H256)> { + let mut blocks = Vec::with_capacity(n as usize); + let mut hash = self.best_block_hash(); + + for _ in 0..n { + let current_hash = self.block_header_data(&hash)?; + hash = current_hash.parent_hash(); + blocks.push(current_hash); + } + + Some((blocks, hash)) + } + /// Returns a tree route between `from` and `to`, which is a tuple of: /// /// - a vector of hashes of all blocks, ordered from `from` to `to`. diff --git a/ethcore/blockchain/src/lib.rs b/ethcore/blockchain/src/lib.rs index 0ee7a5c1c8c..3f07a6d8070 100644 --- a/ethcore/blockchain/src/lib.rs +++ b/ethcore/blockchain/src/lib.rs @@ -33,5 +33,5 @@ pub use self::cache::CacheSize; pub use self::config::Config; pub use self::import_route::ImportRoute; pub use self::update::ExtrasInsert; -pub use ethcore_db::keys::{BlockReceipts, BlockDetails, TransactionAddress}; +pub use ethcore_db::keys::{BlockReceipts, BlockDetails, TransactionAddress, BlockNumberKey}; pub use common_types::tree_route::TreeRoute; diff --git a/ethcore/src/client/client.rs b/ethcore/src/client/client.rs index 995b11520f6..52aedc37c79 100644 --- a/ethcore/src/client/client.rs +++ b/ethcore/src/client/client.rs @@ -21,7 +21,7 @@ use std::sync::atomic::{AtomicUsize, AtomicBool, Ordering as AtomicOrdering}; use std::sync::{Arc, Weak}; use std::time::{Instant, Duration}; -use blockchain::{BlockReceipts, BlockChain, BlockChainDB, BlockProvider, TreeRoute, ImportRoute, TransactionAddress, ExtrasInsert}; +use blockchain::{BlockReceipts, BlockChain, BlockChainDB, BlockProvider, TreeRoute, ImportRoute, TransactionAddress, ExtrasInsert, BlockNumberKey}; use bytes::Bytes; use ethcore_miner::pool::VerifiedTransaction; use ethereum_types::{H256, Address, U256}; @@ -50,7 +50,7 @@ use client::{ RegistryInfo, ReopenBlock, PrepareOpenBlock, ScheduleInfo, ImportSealedBlock, BroadcastProposalBlock, ImportBlock, StateOrBlock, StateInfo, StateClient, Call, AccountData, BlockChain as BlockChainTrait, BlockProducer, SealedBlockImporter, - ClientIoMessage, + ClientIoMessage, BlockChainReset }; use client::{ BlockId, TransactionId, UncleId, TraceId, ClientConfig, BlockChainClient, @@ -77,12 +77,14 @@ use verification::queue::kind::BlockLike; use verification::queue::kind::blocks::Unverified; use verification::{PreverifiedBlock, Verifier, BlockQueue}; use verification; +use ansi_term::Colour; // re-export pub use types::blockchain_info::BlockChainInfo; pub use types::block_status::BlockStatus; pub use blockchain::CacheSize as BlockChainCacheSize; pub use verification::QueueInfo as BlockQueueInfo; +use db::Writable; use_contract!(registry, "res/contracts/registrar.json"); @@ -469,6 +471,7 @@ impl Importer { // it is for reconstructing the state transition. // // The header passed is from the original block data and is sealed. + // TODO: should return an error if ImportRoute is none, issue #9910 fn commit_block(&self, block: B, header: &Header, block_data: encoded::Block, client: &Client) -> ImportRoute where B: Drain { let hash = &header.hash(); let number = header.number(); @@ -1328,6 +1331,48 @@ impl snapshot::DatabaseRestore for Client { } } +impl BlockChainReset for Client { + fn reset(&self, num: u32) -> Result<(), String> { + if num as u64 > self.pruning_history() { + return Err("Attempting to reset to block with pruned state".into()) + } + + let (blocks_to_delete, best_block_hash) = self.chain.read() + .block_headers_from_best_block(num) + .ok_or("Attempted to reset past genesis block")?; + + let mut db_transaction = DBTransaction::with_capacity((num + 1) as usize); + + for hash in &blocks_to_delete { + db_transaction.delete(::db::COL_HEADERS, &hash.hash()); + db_transaction.delete(::db::COL_BODIES, &hash.hash()); + db_transaction.delete(::db::COL_EXTRA, &hash.hash()); + Writable::delete:: + (&mut db_transaction, ::db::COL_EXTRA, &hash.number()); + } + + // update the new best block hash + db_transaction.put(::db::COL_EXTRA, b"best", &*best_block_hash); + + self.db.read() + .key_value() + .write(db_transaction) + .map_err(|err| format!("could not complete reset operation; io error occured: {}", err))?; + + let hashes = blocks_to_delete.iter().map(|b| b.hash()).collect::>(); + + info!("Deleting block hashes {}", + Colour::Red + .bold() + .paint(format!("{:#?}", hashes)) + ); + + info!("New best block hash {}", Colour::Green.bold().paint(format!("{:?}", best_block_hash))); + + Ok(()) + } +} + impl Nonce for Client { fn nonce(&self, address: &Address, id: BlockId) -> Option { self.state_at(id).and_then(|s| s.nonce(address).ok()) diff --git a/ethcore/src/client/mod.rs b/ethcore/src/client/mod.rs index 9c534d470c6..2d042b87416 100644 --- a/ethcore/src/client/mod.rs +++ b/ethcore/src/client/mod.rs @@ -37,7 +37,8 @@ pub use self::test_client::{TestBlockChainClient, EachBlockWith}; pub use self::chain_notify::{ChainNotify, NewBlocks, ChainRoute, ChainRouteType, ChainMessageType}; pub use self::traits::{ Nonce, Balance, ChainInfo, BlockInfo, ReopenBlock, PrepareOpenBlock, CallContract, TransactionInfo, RegistryInfo, ScheduleInfo, ImportSealedBlock, BroadcastProposalBlock, ImportBlock, - StateOrBlock, StateClient, Call, EngineInfo, AccountData, BlockChain, BlockProducer, SealedBlockImporter, BadBlocks, + StateOrBlock, StateClient, Call, EngineInfo, AccountData, BlockChain, BlockProducer, SealedBlockImporter, + BadBlocks, BlockChainReset }; pub use state::StateInfo; pub use self::traits::{BlockChainClient, EngineClient, ProvingBlockChainClient, IoClient}; diff --git a/ethcore/src/client/traits.rs b/ethcore/src/client/traits.rs index ff0148beefc..03f3b096948 100644 --- a/ethcore/src/client/traits.rs +++ b/ethcore/src/client/traits.rs @@ -482,3 +482,9 @@ pub trait ProvingBlockChainClient: BlockChainClient { /// Get an epoch change signal by block hash. fn epoch_signal(&self, hash: H256) -> Option>; } + +/// resets the blockchain +pub trait BlockChainReset { + /// reset to best_block - n + fn reset(&self, num: u32) -> Result<(), String>; +} diff --git a/parity/blockchain.rs b/parity/blockchain.rs index 959de3a30b3..0f9d081f6f7 100644 --- a/parity/blockchain.rs +++ b/parity/blockchain.rs @@ -26,7 +26,8 @@ use ethereum_types::{U256, H256, Address}; use bytes::ToPretty; use rlp::PayloadInfo; use ethcore::account_provider::AccountProvider; -use ethcore::client::{Mode, DatabaseCompactionProfile, VMType, Nonce, Balance, BlockChainClient, BlockId, BlockInfo, ImportBlock}; +use ethcore::client::{Mode, DatabaseCompactionProfile, VMType, Nonce, Balance, BlockChainClient, BlockId, BlockInfo, + ImportBlock, BlockChainReset}; use ethcore::error::{ImportErrorKind, ErrorKind as EthcoreErrorKind, Error as EthcoreError}; use ethcore::miner::Miner; use ethcore::verification::queue::VerifierSettings; @@ -40,6 +41,7 @@ use dir::Directories; use user_defaults::UserDefaults; use ethcore_private_tx; use db; +use ansi_term::Colour; #[derive(Debug, PartialEq)] pub enum DataFormat { @@ -71,6 +73,21 @@ pub enum BlockchainCmd { Import(ImportBlockchain), Export(ExportBlockchain), ExportState(ExportState), + Reset(ResetBlockchain) +} + +#[derive(Debug, PartialEq)] +pub struct ResetBlockchain { + pub dirs: Directories, + pub spec: SpecType, + pub pruning: Pruning, + pub pruning_history: u64, + pub pruning_memory: usize, + pub tracing: Switch, + pub fat_db: Switch, + pub compaction: DatabaseCompactionProfile, + pub cache_config: CacheConfig, + pub num: u32, } #[derive(Debug, PartialEq)] @@ -153,6 +170,7 @@ pub fn execute(cmd: BlockchainCmd) -> Result<(), String> { } BlockchainCmd::Export(export_cmd) => execute_export(export_cmd), BlockchainCmd::ExportState(export_cmd) => execute_export_state(export_cmd), + BlockchainCmd::Reset(reset_cmd) => execute_reset(reset_cmd), } } @@ -709,6 +727,28 @@ fn execute_export_state(cmd: ExportState) -> Result<(), String> { Ok(()) } +fn execute_reset(cmd: ResetBlockchain) -> Result<(), String> { + let service = start_client( + cmd.dirs, + cmd.spec, + cmd.pruning, + cmd.pruning_history, + cmd.pruning_memory, + cmd.tracing, + cmd.fat_db, + cmd.compaction, + cmd.cache_config, + false, + 0, + )?; + + let client = service.client(); + client.reset(cmd.num)?; + info!("{}", Colour::Green.bold().paint("Successfully reset db!")); + + Ok(()) +} + pub fn kill_db(cmd: KillBlockchain) -> Result<(), String> { let spec = cmd.spec.spec(&cmd.dirs.cache)?; let genesis_hash = spec.genesis_header().hash(); diff --git a/parity/cli/mod.rs b/parity/cli/mod.rs index 77c1aac2ef6..9ed6ed957b6 100644 --- a/parity/cli/mod.rs +++ b/parity/cli/mod.rs @@ -217,6 +217,15 @@ usage! { CMD cmd_db_kill { "Clean the database of the given --chain (default: mainnet)", } + + CMD cmd_db_reset { + "Removes NUM latests blocks from the db", + + ARG arg_db_reset_num: (u32) = 10u32, + "", + "Number of blocks to revert", + } + } CMD cmd_export_hardcoded_sync @@ -1612,6 +1621,7 @@ mod tests { cmd_tools_hash: false, cmd_db: false, cmd_db_kill: false, + cmd_db_reset: false, cmd_export_hardcoded_sync: false, // Arguments @@ -1631,6 +1641,7 @@ mod tests { arg_dapp_path: None, arg_account_import_path: None, arg_wallet_import_path: None, + arg_db_reset_num: 10, // -- Operating Options arg_mode: "last".into(), diff --git a/parity/configuration.rs b/parity/configuration.rs index c0f9c35eb26..48207683ebb 100644 --- a/parity/configuration.rs +++ b/parity/configuration.rs @@ -48,7 +48,7 @@ use ethcore_private_tx::{ProviderConfig, EncryptorConfig}; use secretstore::{NodeSecretKey, Configuration as SecretStoreConfiguration, ContractAddress as SecretStoreContractAddress}; use updater::{UpdatePolicy, UpdateFilter, ReleaseTrack}; use run::RunCmd; -use blockchain::{BlockchainCmd, ImportBlockchain, ExportBlockchain, KillBlockchain, ExportState, DataFormat}; +use blockchain::{BlockchainCmd, ImportBlockchain, ExportBlockchain, KillBlockchain, ExportState, DataFormat, ResetBlockchain}; use export_hardcoded_sync::ExportHsyncCmd; use presale::ImportWallet; use account::{AccountCmd, NewAccount, ListAccounts, ImportAccounts, ImportFromGethAccounts}; @@ -176,6 +176,19 @@ impl Configuration { } } else if self.args.cmd_tools && self.args.cmd_tools_hash { Cmd::Hash(self.args.arg_tools_hash_file) + } else if self.args.cmd_db && self.args.cmd_db_reset { + Cmd::Blockchain(BlockchainCmd::Reset(ResetBlockchain { + dirs, + spec, + pruning, + pruning_history, + pruning_memory: self.args.arg_pruning_memory, + tracing, + fat_db, + compaction, + cache_config, + num: self.args.arg_db_reset_num, + })) } else if self.args.cmd_db && self.args.cmd_db_kill { Cmd::Blockchain(BlockchainCmd::Kill(KillBlockchain { spec: spec, From cf505139f1ffcbf494dc09d18c1f842dba3da711 Mon Sep 17 00:00:00 2001 From: Victor Baranov Date: Wed, 16 Jan 2019 20:31:59 +0300 Subject: [PATCH 45/68] Cancel Constantinople HF on POA Core (#10198) --- ethcore/res/ethereum/poacore.json | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/ethcore/res/ethereum/poacore.json b/ethcore/res/ethereum/poacore.json index 53b3c548c55..9fc34d22a2b 100644 --- a/ethcore/res/ethereum/poacore.json +++ b/ethcore/res/ethereum/poacore.json @@ -34,11 +34,7 @@ "eip140Transition": "0x0", "eip211Transition": "0x0", "eip214Transition": "0x0", - "eip658Transition": "0x0", - "eip145Transition": 6843780, - "eip1014Transition": 6843780, - "eip1052Transition": 6843780, - "eip1283Transition": 6843780 + "eip658Transition": "0x0" }, "genesis": { "seal": { From 4f1e1e88701e40aebe06aaf030be81d80a85a5e0 Mon Sep 17 00:00:00 2001 From: Afri Schoedon <5chdn@users.noreply.github.com> Date: Wed, 16 Jan 2019 18:32:53 +0100 Subject: [PATCH 46/68] Update the changelogs for 2.1.11, 2.2.6, 2.2.7, and 2.3.0 (#10197) * docs: move 2.2 changelog to docs/ * docs: mark parity 2.1 end of life * docs: add changelog for 2.1.11 * docs: add changelog for 2.2.6 * docs: add changelog for 2.2.7 * docs: add changelog for 2.3.0 * docs: add release notes for 2.3.0 --- CHANGELOG.md | 407 +++++++++++++++--------------------------- docs/CHANGELOG-2.0.md | 2 +- docs/CHANGELOG-2.1.md | 24 ++- docs/CHANGELOG-2.2.md | 317 ++++++++++++++++++++++++++++++++ 4 files changed, 486 insertions(+), 264 deletions(-) create mode 100644 docs/CHANGELOG-2.2.md diff --git a/CHANGELOG.md b/CHANGELOG.md index 71591c5fff2..649f4c167c9 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,276 +1,163 @@ -## Parity-Ethereum [v2.2.5](https://github.com/paritytech/parity-ethereum/releases/tag/v2.2.5) (2018-12-14) -Parity-Ethereum 2.2.5-beta is an important release that introduces Constantinople fork at block 7080000 on Mainnet. -This release also contains a fix for chains using AuRa + EmptySteps. Read carefully if this applies to you. -If you have a chain with`empty_steps` already running, some blocks most likely contain non-strict entries (unordered or duplicated empty steps). In this release`strict_empty_steps_transition` **is enabled by default at block 0** for any chain with `empty_steps`. -If your network uses `empty_steps` you **must**: -- plan a hard fork and change `strict_empty_steps_transition` to the desire fork block -- update the clients of the whole network to 2.2.5-beta / 2.1.10-stable. -If for some reason you don't want to do this please set`strict_empty_steps_transition` to `0xfffffffff` to disable it. +## Parity-Ethereum [v2.3.0](https://github.com/paritytech/parity-ethereum/releases/tag/v2.3.0) (2018-01-16) -The full list of included changes: -- Backports for beta 2.2.5 ([#10047](https://github.com/paritytech/parity-ethereum/pull/10047)) - - Bump beta to 2.2.5 ([#10047](https://github.com/paritytech/parity-ethereum/pull/10047)) - - Fix empty steps ([#9939](https://github.com/paritytech/parity-ethereum/pull/9939)) - - Prevent sending empty step message twice - - Prevent sending empty step and then block in the same step - - Don't accept double empty steps - - Do basic validation of self-sealed blocks - - Strict empty steps validation ([#10041](https://github.com/paritytech/parity-ethereum/pull/10041)) - - Enables strict verification of empty steps - there can be no duplicates and empty steps should be ordered inside the seal. - - Note that authorities won't produce invalid seals after [#9939](https://github.com/paritytech/parity-ethereum/pull/9939), this PR just adds verification to the seal to prevent forging incorrect blocks and potentially causing consensus issues. - - This features is enabled by default so any AuRa + EmptySteps chain should set strict_empty_steps_transition fork block number in their spec and upgrade to v2.2.5-beta or v2.1.10-stable. - - ethcore: enable constantinople on ethereum ([#10031](https://github.com/paritytech/parity-ethereum/pull/10031)) - - ethcore: change blockreward to 2e18 for foundation after constantinople - - ethcore: delay diff bomb by 2e6 blocks for foundation after constantinople - - ethcore: enable eip-{145,1014,1052,1283} for foundation after constantinople - - Change test miner max memory to malloc reports. ([#10024](https://github.com/paritytech/parity-ethereum/pull/10024)) - - Fix: test corpus_inaccessible panic ([#10019](https://github.com/paritytech/parity-ethereum/pull/10019)) +Parity-Ethereum 2.3.0-beta is a consensus-relevant security release that reverts Constantinople on the Ethereum network. Upgrading is mandatory for Ethereum, and strongly recommended for other networks. -## Parity-Ethereum [v2.2.2](https://github.com/paritytech/parity-ethereum/releases/tag/v2.2.2) (2018-11-29) +- **Consensus** - Ethereum Network: Pull Constantinople protocol upgrade on Ethereum (#10189) + - Read more: [Security Alert: Ethereum Constantinople Postponement](https://blog.ethereum.org/2019/01/15/security-alert-ethereum-constantinople-postponement/) +- **Networking** - All networks: Ping nodes from discovery (#10167) +- **Wasm** - Kovan Network: Update pwasm-utils to 0.6.1 (#10134) -Parity-Ethereum 2.2.2-beta is an exciting release. Among others, it improves sync performance, peering stability, block propagation, and transaction propagation times. Also, a warp-sync no longer removes existing blocks from the database, but rather reuses locally available information to decrease sync times and reduces required bandwidth. +Other notable changes: -Before upgrading to 2.2.2, please also verify the validity of your chain specs. Parity Ethereum now denies unknown fields in the specification. To do this, use the chainspec tool: +- Existing blocks in the database are now kept when restoring a Snapshot. (#8643) +- Block and transaction propagation is improved significantly. (#9954) +- The ERC-191 Signed Data Standard is now supported by `personal_sign191`. (#9701) +- Add support for ERC-191/712 `eth_signTypedData` as a standard for machine-verifiable and human-readable typed data signing with Ethereum keys. (#9631) +- Add support for ERC-1186 `eth_getProof` (#9001) +- Add experimental RPCs flag to enable ERC-191, ERC-712, and ERC-1186 APIs via `--jsonrpc-experimental` (#9928) +- Make `CALLCODE` to trace value to be the code address. (#9881) -``` -cargo build --release -p chainspec -./target/release/chainspec /path/to/spec.json -``` +Configuration changes: -Last but not least, JSONRPC APIs which are not yet accepted as an EIP in the `eth`, `personal`, or `web3` namespace, are now considere experimental as their final specification might change in future. These APIs have to be manually enabled by explicitly running `--jsonrpc-experimental`. +- The EIP-98 transition is now disabled by default. If you previously had no `eip98transition` specified in your chain specification, you would enable this now manually on block `0x0`. (#9955) +- Also, unknown fields in chain specs are now rejected. (#9972) +- The Tendermint engine was removed from Parity Ethereum and is no longer available and maintained. (#9980) +- Ropsten testnet data and keys moved from `test/` to `ropsten/` subdir. To reuse your old keys and data either copy or symlink them to the new location. (#10123) +- Strict empty steps validation (#10041) + - If you have a chain with`empty_steps` already running, some blocks most likely contain non-strict entries (unordered or duplicated empty steps). In this release `strict_empty_steps_transition` is enabled by default at block `0x0` for any chain with `empty_steps`. + - If your network uses `empty_steps` you **must** (A) plan a hard fork and change `strict_empty_steps_transition` to the desired fork block and (B) update the clients of the whole network to 2.2.7-stable / 2.3.0-beta. If for some reason you don't want to do this please set`strict_empty_steps_transition` to `0xfffffffff` to disable it. -The full list of included changes: - -- Backports For beta 2.2.2 ([#9976](https://github.com/paritytech/parity-ethereum/pull/9976)) - - Version: bump beta to 2.2.2 - - Add experimental RPCs flag ([#9928](https://github.com/paritytech/parity-ethereum/pull/9928)) - - Keep existing blocks when restoring a Snapshot ([#8643](https://github.com/paritytech/parity-ethereum/pull/8643)) - - Rename db_restore => client - - First step: make it compile! - - Second step: working implementation! - - Refactoring - - Fix tests - - Migrate ancient blocks interacting backward - - Early return in block migration if snapshot is aborted - - Remove RwLock getter (PR Grumble I) - - Remove dependency on `Client`: only used Traits - - Add test for recovering aborted snapshot recovery - - Add test for migrating old blocks - - Release RwLock earlier - - Revert Cargo.lock - - Update _update ancient block_ logic: set local in `commit` - - Update typo in ethcore/src/snapshot/service.rs - - Adjust requests costs for light client ([#9925](https://github.com/paritytech/parity-ethereum/pull/9925)) - - Pip Table Cost relative to average peers instead of max peers - - Add tracing in PIP new_cost_table - - Update stat peer_count - - Use number of leeching peers for Light serve costs - - Fix test::light_params_load_share_depends_on_max_peers (wrong type) - - Remove (now) useless test - - Remove `load_share` from LightParams.Config - - Add LEECHER_COUNT_FACTOR - - Pr Grumble: u64 to u32 for f64 casting - - Prevent u32 overflow for avg_peer_count - - Add tests for LightSync::Statistics - - Fix empty steps ([#9939](https://github.com/paritytech/parity-ethereum/pull/9939)) - - Don't send empty step twice or empty step then block. - - Perform basic validation of locally sealed blocks. - - Don't include empty step twice. - - Prevent silent errors in daemon mode, closes [#9367](https://github.com/paritytech/parity-ethereum/issues/9367) ([#9946](https://github.com/paritytech/parity-ethereum/pull/9946)) - - Fix a deadlock ([#9952](https://github.com/paritytech/parity-ethereum/pull/9952)) - - Update informant: - - Decimal in Mgas/s - - Print every 5s (not randomly between 5s and 10s) - - Fix dead-lock in `blockchain.rs` - - Update locks ordering - - Fix light client informant while syncing ([#9932](https://github.com/paritytech/parity-ethereum/pull/9932)) - - Add `is_idle` to LightSync to check importing status - - Use SyncStateWrapper to make sure is_idle gets updates - - Update is_major_import to use verified queue size as well - - Add comment for `is_idle` - - Add Debug to `SyncStateWrapper` - - `fn get` -> `fn into_inner` - - Ci: rearrange pipeline by logic ([#9970](https://github.com/paritytech/parity-ethereum/pull/9970)) - - Ci: rearrange pipeline by logic - - Ci: rename docs script - - Fix docker build ([#9971](https://github.com/paritytech/parity-ethereum/pull/9971)) - - Deny unknown fields for chainspec ([#9972](https://github.com/paritytech/parity-ethereum/pull/9972)) - - Add deny_unknown_fields to chainspec - - Add tests and fix existing one - - Remove serde_ignored dependency for chainspec - - Fix rpc test eth chain spec - - Fix starting_nonce_test spec - - Improve block and transaction propagation ([#9954](https://github.com/paritytech/parity-ethereum/pull/9954)) - - Refactor sync to add priority tasks. - - Send priority tasks notifications. - - Propagate blocks, optimize transactions. - - Implement transaction propagation. Use sync_channel. - - Tone down info. - - Prevent deadlock by not waiting forever for sync lock. - - Fix lock order. - - Don't use sync_channel to prevent deadlocks. - - Fix tests. - - Fix unstable peers and slowness in sync ([#9967](https://github.com/paritytech/parity-ethereum/pull/9967)) - - Don't sync all peers after each response - - Update formating - - Fix tests: add `continue_sync` to `Sync_step` - - Update ethcore/sync/src/chain/mod.rs - - Fix rpc middlewares - - Fix Cargo.lock - - Json: resolve merge in spec - - Rpc: fix starting_nonce_test - - Ci: allow nightl job to fail - -## Parity-Ethereum [v2.2.1](https://github.com/paritytech/parity-ethereum/releases/tag/v2.2.1) (2018-11-15) - -Parity-Ethereum 2.2.1-beta is the first v2.2 release, and might introduce features that break previous work flows, among others: - -- Prevent zero network ID ([#9763](https://github.com/paritytech/parity-ethereum/pull/9763)) and drop support for Olympic testnet ([#9801](https://github.com/paritytech/parity-ethereum/pull/9801)): The Olympic test net is dead for years and never used a chain ID but network ID zero. Parity Ethereum is now preventing the network ID to be zero, thus Olympic support is dropped. Make sure to chose positive non-zero network IDs in future. -- Multithreaded snapshot creation ([#9239](https://github.com/paritytech/parity-ethereum/pull/9239)): adds a CLI argument `--snapshot-threads` which specifies the number of threads. This helps improving the performance of full nodes that wish to provide warp-snapshots for the network. The gain in performance comes with a slight drawback in increased snapshot size. -- Expose config max-round-blocks-to-import ([#9439](https://github.com/paritytech/parity-ethereum/pull/9439)): Parity Ethereum imports blocks in rounds. If at the end of any round, the queue is not empty, we consider it to be _importing_ and won't notify pubsub. On large re-orgs (10+ blocks), this is possible. The default `max_round_blocks_to_import` is increased to 12 and configurable via the `--max-round-blocks-to-import` CLI flag. With unstable network conditions, it is advised to increase the number. This shouldn't have any noticeable performance impact unless the number is set to really large. -- Increase Gas-floor-target and Gas Cap ([#9564](https://github.com/paritytech/parity-ethereum/pull/9564)): the default values for gas floor target are `8_000_000` and gas cap `10_000_000`, similar to Geth 1.8.15+. -- Produce portable binaries ([#9725](https://github.com/paritytech/parity-ethereum/pull/9725)): we now produce portable binaries, but it may incur some performance degradation. For ultimate performance it's now better to compile Parity Ethereum from source with `PORTABLE=OFF` environment variable. -- RPC: `parity_allTransactionHashes` ([#9745](https://github.com/paritytech/parity-ethereum/pull/9745)): Get all pending transactions from the queue with the high performant `parity_allTransactionHashes` RPC method. -- Support `eth_chainId` RPC method ([#9783](https://github.com/paritytech/parity-ethereum/pull/9783)): implements EIP-695 to get the chainID via RPC. -- AuRa: finalize blocks ([#9692](https://github.com/paritytech/parity-ethereum/pull/9692)): The AuRa engine was updated to emit ancestry actions to finalize blocks. The full client stores block finality in the database, the engine builds finality from an ancestry of `ExtendedHeader`; `is_epoch_end` was updated to take a vec of recently finalized headers; `is_epoch_end_light` was added which maintains the previous interface and is used by the light client since the client itself doesn't track finality. +_Note:_ This release marks Parity 2.3 as _beta_. All versions of Parity 2.2 are now considered _stable_. The full list of included changes: -- Backport to parity 2.2.1 beta ([#9905](https://github.com/paritytech/parity-ethereum/pull/9905)) - - Bump version to 2.2.1 - - Fix: Intermittent failing CI due to addr in use ([#9885](https://github.com/paritytech/parity-ethereum/pull/9885)) - - Fix Parity not closing on Ctrl-C ([#9886](https://github.com/paritytech/parity-ethereum/pull/9886)) - - Fix json tracer overflow ([#9873](https://github.com/paritytech/parity-ethereum/pull/9873)) - - Fix docker script ([#9854](https://github.com/paritytech/parity-ethereum/pull/9854)) - - Add hardcoded headers for light client ([#9907](https://github.com/paritytech/parity-ethereum/pull/9907)) - - Gitlab-ci: make android release build succeed ([#9743](https://github.com/paritytech/parity-ethereum/pull/9743)) - - Allow to seal work on latest block ([#9876](https://github.com/paritytech/parity-ethereum/pull/9876)) - - Remove rust-toolchain file ([#9906](https://github.com/paritytech/parity-ethereum/pull/9906)) - - Light-fetch: Differentiate between out-of-gas/manual throw and use required gas from response on failure ([#9824](https://github.com/paritytech/parity-ethereum/pull/9824)) - - Eip-712 implementation ([#9631](https://github.com/paritytech/parity-ethereum/pull/9631)) - - Eip-191 implementation ([#9701](https://github.com/paritytech/parity-ethereum/pull/9701)) - - Simplify cargo audit ([#9918](https://github.com/paritytech/parity-ethereum/pull/9918)) - - Fix performance issue importing Kovan blocks ([#9914](https://github.com/paritytech/parity-ethereum/pull/9914)) - - Ci: nuke the gitlab caches ([#9855](https://github.com/paritytech/parity-ethereum/pull/9855)) -- Backports to parity beta 2.2.0 ([#9820](https://github.com/paritytech/parity-ethereum/pull/9820)) - - Ci: remove failing tests for android, windows, and macos ([#9788](https://github.com/paritytech/parity-ethereum/pull/9788)) - - Implement NoProof for json tests and update tests reference ([#9814](https://github.com/paritytech/parity-ethereum/pull/9814)) - - Move state root verification before gas used ([#9841](https://github.com/paritytech/parity-ethereum/pull/9841)) - - Classic.json Bootnode Update ([#9828](https://github.com/paritytech/parity-ethereum/pull/9828)) -- Rpc: parity_allTransactionHashes ([#9745](https://github.com/paritytech/parity-ethereum/pull/9745)) -- Revert "prevent zero networkID ([#9763](https://github.com/paritytech/parity-ethereum/pull/9763))" ([#9815](https://github.com/paritytech/parity-ethereum/pull/9815)) -- Allow zero chain id in EIP155 signing process ([#9792](https://github.com/paritytech/parity-ethereum/pull/9792)) -- Add readiness check for docker container ([#9804](https://github.com/paritytech/parity-ethereum/pull/9804)) -- Insert dev account before unlocking ([#9813](https://github.com/paritytech/parity-ethereum/pull/9813)) -- Removed "rustup" & added new runner tag ([#9731](https://github.com/paritytech/parity-ethereum/pull/9731)) -- Expose config max-round-blocks-to-import ([#9439](https://github.com/paritytech/parity-ethereum/pull/9439)) -- Aura: finalize blocks ([#9692](https://github.com/paritytech/parity-ethereum/pull/9692)) -- Sync: retry different peer after empty subchain heads response ([#9753](https://github.com/paritytech/parity-ethereum/pull/9753)) -- Fix(light-rpc/parity) : Remove unused client ([#9802](https://github.com/paritytech/parity-ethereum/pull/9802)) -- Drops support for olympic testnet, closes [#9800](https://github.com/paritytech/parity-ethereum/issues/9800) ([#9801](https://github.com/paritytech/parity-ethereum/pull/9801)) -- Replace `tokio_core` with `tokio` (`ring` -> 0.13) ([#9657](https://github.com/paritytech/parity-ethereum/pull/9657)) -- Support eth_chainId RPC method ([#9783](https://github.com/paritytech/parity-ethereum/pull/9783)) -- Ethcore: bump ropsten forkblock checkpoint ([#9775](https://github.com/paritytech/parity-ethereum/pull/9775)) -- Docs: changelogs for 2.0.8 and 2.1.3 ([#9758](https://github.com/paritytech/parity-ethereum/pull/9758)) -- Prevent zero networkID ([#9763](https://github.com/paritytech/parity-ethereum/pull/9763)) -- Skip seal fields count check when --no-seal-check is used ([#9757](https://github.com/paritytech/parity-ethereum/pull/9757)) -- Aura: fix panic on extra_info with unsealed block ([#9755](https://github.com/paritytech/parity-ethereum/pull/9755)) -- Docs: update changelogs ([#9742](https://github.com/paritytech/parity-ethereum/pull/9742)) -- Removed extra assert in generation_session_is_removed_when_succeeded ([#9738](https://github.com/paritytech/parity-ethereum/pull/9738)) -- Make checkpoint_storage_at use plain loop instead of recursion ([#9734](https://github.com/paritytech/parity-ethereum/pull/9734)) -- Use signed 256-bit integer for sstore gas refund substate ([#9746](https://github.com/paritytech/parity-ethereum/pull/9746)) -- Heads ref not present for branches beta and stable ([#9741](https://github.com/paritytech/parity-ethereum/pull/9741)) -- Add Callisto support ([#9534](https://github.com/paritytech/parity-ethereum/pull/9534)) -- Add --force to cargo audit install script ([#9735](https://github.com/paritytech/parity-ethereum/pull/9735)) -- Remove unused expired value from Handshake ([#9732](https://github.com/paritytech/parity-ethereum/pull/9732)) -- Add hardcoded headers ([#9730](https://github.com/paritytech/parity-ethereum/pull/9730)) -- Produce portable binaries ([#9725](https://github.com/paritytech/parity-ethereum/pull/9725)) -- Gitlab ci: releasable_branches: change variables condition to schedule ([#9729](https://github.com/paritytech/parity-ethereum/pull/9729)) -- Update a few parity-common dependencies ([#9663](https://github.com/paritytech/parity-ethereum/pull/9663)) -- Hf in POA Core (2018-10-22) ([#9724](https://github.com/paritytech/parity-ethereum/pull/9724)) -- Schedule nightly builds ([#9717](https://github.com/paritytech/parity-ethereum/pull/9717)) -- Fix ancient blocks sync ([#9531](https://github.com/paritytech/parity-ethereum/pull/9531)) -- Ci: Skip docs job for nightly ([#9693](https://github.com/paritytech/parity-ethereum/pull/9693)) -- Fix (light/provider) : Make `read_only executions` read-only ([#9591](https://github.com/paritytech/parity-ethereum/pull/9591)) -- Ethcore: fix detection of major import ([#9552](https://github.com/paritytech/parity-ethereum/pull/9552)) -- Return 0 on error ([#9705](https://github.com/paritytech/parity-ethereum/pull/9705)) -- Ethcore: delay ropsten hardfork ([#9704](https://github.com/paritytech/parity-ethereum/pull/9704)) -- Make instantSeal engine backwards compatible, closes [#9696](https://github.com/paritytech/parity-ethereum/issues/9696) ([#9700](https://github.com/paritytech/parity-ethereum/pull/9700)) -- Implement CREATE2 gas changes and fix some potential overflowing ([#9694](https://github.com/paritytech/parity-ethereum/pull/9694)) -- Don't hash the init_code of CREATE. ([#9688](https://github.com/paritytech/parity-ethereum/pull/9688)) -- Ethcore: minor optimization of modexp by using LR exponentiation ([#9697](https://github.com/paritytech/parity-ethereum/pull/9697)) -- Removed redundant clone before each block import ([#9683](https://github.com/paritytech/parity-ethereum/pull/9683)) -- Add Foundation Bootnodes ([#9666](https://github.com/paritytech/parity-ethereum/pull/9666)) -- Docker: run as parity user ([#9689](https://github.com/paritytech/parity-ethereum/pull/9689)) -- Ethcore: mcip3 block reward contract ([#9605](https://github.com/paritytech/parity-ethereum/pull/9605)) -- Verify block syncing responses against requests ([#9670](https://github.com/paritytech/parity-ethereum/pull/9670)) -- Add a new RPC `parity_submitWorkDetail` similar `eth_submitWork` but return block hash ([#9404](https://github.com/paritytech/parity-ethereum/pull/9404)) -- Resumable EVM and heap-allocated callstack ([#9360](https://github.com/paritytech/parity-ethereum/pull/9360)) -- Update parity-wordlist library ([#9682](https://github.com/paritytech/parity-ethereum/pull/9682)) -- Ci: Remove unnecessary pipes ([#9681](https://github.com/paritytech/parity-ethereum/pull/9681)) -- Test.sh: use cargo --target for platforms other than linux, win or mac ([#9650](https://github.com/paritytech/parity-ethereum/pull/9650)) -- Ci: fix push script ([#9679](https://github.com/paritytech/parity-ethereum/pull/9679)) -- Hardfork the testnets ([#9562](https://github.com/paritytech/parity-ethereum/pull/9562)) -- Calculate sha3 instead of sha256 for push-release. ([#9673](https://github.com/paritytech/parity-ethereum/pull/9673)) -- Ethcore-io retries failed work steal ([#9651](https://github.com/paritytech/parity-ethereum/pull/9651)) -- Fix(light_fetch): avoid race with BlockNumber::Latest ([#9665](https://github.com/paritytech/parity-ethereum/pull/9665)) -- Test fix for windows cache name... ([#9658](https://github.com/paritytech/parity-ethereum/pull/9658)) -- Refactor(fetch) : light use only one `DNS` thread ([#9647](https://github.com/paritytech/parity-ethereum/pull/9647)) -- Ethereum libfuzzer integration small change ([#9547](https://github.com/paritytech/parity-ethereum/pull/9547)) -- Cli: remove reference to --no-ui in --unlock flag help ([#9616](https://github.com/paritytech/parity-ethereum/pull/9616)) -- Remove master from releasable branches ([#9655](https://github.com/paritytech/parity-ethereum/pull/9655)) -- Ethcore/VerificationQueue don't spawn up extra `worker-threads` when explictly specified not to ([#9620](https://github.com/paritytech/parity-ethereum/pull/9620)) -- Rpc: parity_getBlockReceipts ([#9527](https://github.com/paritytech/parity-ethereum/pull/9527)) -- Remove unused dependencies ([#9589](https://github.com/paritytech/parity-ethereum/pull/9589)) -- Ignore key_server_cluster randomly failing tests ([#9639](https://github.com/paritytech/parity-ethereum/pull/9639)) -- Ethcore: handle vm exception when estimating gas ([#9615](https://github.com/paritytech/parity-ethereum/pull/9615)) -- Fix bad-block reporting no reason ([#9638](https://github.com/paritytech/parity-ethereum/pull/9638)) -- Use static call and apparent value transfer for block reward contract code ([#9603](https://github.com/paritytech/parity-ethereum/pull/9603)) -- Hf in POA Sokol (2018-09-19) ([#9607](https://github.com/paritytech/parity-ethereum/pull/9607)) -- Bump smallvec to 0.6 in ethcore-light, ethstore and whisper ([#9588](https://github.com/paritytech/parity-ethereum/pull/9588)) -- Add constantinople conf to EvmTestClient. ([#9570](https://github.com/paritytech/parity-ethereum/pull/9570)) -- Fix(network): don't disconnect reserved peers ([#9608](https://github.com/paritytech/parity-ethereum/pull/9608)) -- Fix failing node-table tests on mac os, closes [#9632](https://github.com/paritytech/parity-ethereum/issues/9632) ([#9633](https://github.com/paritytech/parity-ethereum/pull/9633)) -- Update ropsten.json ([#9602](https://github.com/paritytech/parity-ethereum/pull/9602)) -- Simplify ethcore errors by removing BlockImportError ([#9593](https://github.com/paritytech/parity-ethereum/pull/9593)) -- Fix windows compilation, replaces [#9561](https://github.com/paritytech/parity-ethereum/issues/9561) ([#9621](https://github.com/paritytech/parity-ethereum/pull/9621)) -- Master: rpc-docs set github token ([#9610](https://github.com/paritytech/parity-ethereum/pull/9610)) -- Docs: add changelogs for 1.11.10, 1.11.11, 2.0.3, 2.0.4, 2.0.5, 2.0.6, 2.1.0, and 2.1.1 ([#9554](https://github.com/paritytech/parity-ethereum/pull/9554)) -- Docs(rpc): annotate tag with the provided message ([#9601](https://github.com/paritytech/parity-ethereum/pull/9601)) -- Ci: fix regex roll_eyes ([#9597](https://github.com/paritytech/parity-ethereum/pull/9597)) -- Remove snapcraft clean ([#9585](https://github.com/paritytech/parity-ethereum/pull/9585)) -- Add snapcraft package image (master) ([#9584](https://github.com/paritytech/parity-ethereum/pull/9584)) -- Docs(rpc): push the branch along with tags ([#9578](https://github.com/paritytech/parity-ethereum/pull/9578)) -- Fix typo for jsonrpc-threads flag ([#9574](https://github.com/paritytech/parity-ethereum/pull/9574)) -- Fix informant compile ([#9571](https://github.com/paritytech/parity-ethereum/pull/9571)) -- Added ropsten bootnodes ([#9569](https://github.com/paritytech/parity-ethereum/pull/9569)) -- Increase Gas-floor-target and Gas Cap ([#9564](https://github.com/paritytech/parity-ethereum/pull/9564)) -- While working on the platform tests make them non-breaking ([#9563](https://github.com/paritytech/parity-ethereum/pull/9563)) -- Improve P2P discovery ([#9526](https://github.com/paritytech/parity-ethereum/pull/9526)) -- Move dockerfile for android build container to scripts repo ([#9560](https://github.com/paritytech/parity-ethereum/pull/9560)) -- Simultaneous platform tests WIP ([#9557](https://github.com/paritytech/parity-ethereum/pull/9557)) -- Update ethabi-derive, serde, serde_json, serde_derive, syn && quote ([#9553](https://github.com/paritytech/parity-ethereum/pull/9553)) -- Ci: fix rpc docs generation 2 ([#9550](https://github.com/paritytech/parity-ethereum/pull/9550)) -- Ci: always run build pipelines for win, mac, linux, and android ([#9537](https://github.com/paritytech/parity-ethereum/pull/9537)) -- Multithreaded snapshot creation ([#9239](https://github.com/paritytech/parity-ethereum/pull/9239)) -- New ethabi ([#9511](https://github.com/paritytech/parity-ethereum/pull/9511)) -- Remove initial token for WS. ([#9545](https://github.com/paritytech/parity-ethereum/pull/9545)) -- Net_version caches network_id to avoid redundant aquire of sync readlock ([#9544](https://github.com/paritytech/parity-ethereum/pull/9544)) -- Correct before_script for nightly build versions ([#9543](https://github.com/paritytech/parity-ethereum/pull/9543)) -- Deps: bump kvdb-rocksdb to 0.1.4 ([#9539](https://github.com/paritytech/parity-ethereum/pull/9539)) -- State: test when contract creation fails, old storage values should re-appear ([#9532](https://github.com/paritytech/parity-ethereum/pull/9532)) -- Allow dropping light client RPC query with no results ([#9318](https://github.com/paritytech/parity-ethereum/pull/9318)) -- Bump master to 2.2.0 ([#9517](https://github.com/paritytech/parity-ethereum/pull/9517)) -- Enable all Constantinople hard fork changes in constantinople_test.json ([#9505](https://github.com/paritytech/parity-ethereum/pull/9505)) -- [Light] Validate `account balance` before importing transactions ([#9417](https://github.com/paritytech/parity-ethereum/pull/9417)) -- In create memory calculation is the same for create2 because the additional parameter was popped before. ([#9522](https://github.com/paritytech/parity-ethereum/pull/9522)) -- Update patricia trie to 0.2.2 ([#9525](https://github.com/paritytech/parity-ethereum/pull/9525)) -- Replace hardcoded JSON with serde json! macro ([#9489](https://github.com/paritytech/parity-ethereum/pull/9489)) -- Fix typo in version string ([#9516](https://github.com/paritytech/parity-ethereum/pull/9516)) +- Backports for 2.3.0 beta ([#10164](https://github.com/paritytech/parity-ethereum/pull/10164)) +- Snap: fix path in script ([#10157](https://github.com/paritytech/parity-ethereum/pull/10157)) +- Make sure parent block is not in importing queue when importing ancient blocks ([#10138](https://github.com/paritytech/parity-ethereum/pull/10138)) +- Ci: re-enable snap publishing ([#10142](https://github.com/paritytech/parity-ethereum/pull/10142)) +- Hf in POA Core (2019-01-18) - Constantinople ([#10155](https://github.com/paritytech/parity-ethereum/pull/10155)) +- Update EWF's tobalaba chainspec ([#10152](https://github.com/paritytech/parity-ethereum/pull/10152)) +- Replace ethcore-logger with env-logger. ([#10102](https://github.com/paritytech/parity-ethereum/pull/10102)) +- Finality: dont require chain head to be in the chain ([#10054](https://github.com/paritytech/parity-ethereum/pull/10054)) +- Remove caching for node connections ([#10143](https://github.com/paritytech/parity-ethereum/pull/10143)) +- Blooms file iterator empty on out of range position. ([#10145](https://github.com/paritytech/parity-ethereum/pull/10145)) +- Autogen docs for the "Configuring Parity Ethereum" wiki page. ([#10067](https://github.com/paritytech/parity-ethereum/pull/10067)) +- Misc: bump license header to 2019 ([#10135](https://github.com/paritytech/parity-ethereum/pull/10135)) +- Hide most of the logs from cpp example. ([#10139](https://github.com/paritytech/parity-ethereum/pull/10139)) +- Don't try to send oversized packets ([#10042](https://github.com/paritytech/parity-ethereum/pull/10042)) +- Private tx enabled flag added into STATUS packet ([#9999](https://github.com/paritytech/parity-ethereum/pull/9999)) +- Update pwasm-utils to 0.6.1 ([#10134](https://github.com/paritytech/parity-ethereum/pull/10134)) +- Extract blockchain from ethcore ([#10114](https://github.com/paritytech/parity-ethereum/pull/10114)) +- Ethcore: update hardcoded headers ([#10123](https://github.com/paritytech/parity-ethereum/pull/10123)) +- Identity fix ([#10128](https://github.com/paritytech/parity-ethereum/pull/10128)) +- Use LenCachingMutex to optimize verification. ([#10117](https://github.com/paritytech/parity-ethereum/pull/10117)) +- Pyethereum keystore support ([#9710](https://github.com/paritytech/parity-ethereum/pull/9710)) +- Bump rocksdb-sys to 0.5.5 ([#10124](https://github.com/paritytech/parity-ethereum/pull/10124)) +- Parity-clib: `async C bindings to RPC requests` + `subscribe/unsubscribe to websocket events` ([#9920](https://github.com/paritytech/parity-ethereum/pull/9920)) +- Refactor (hardware wallet) : reduce the number of threads ([#9644](https://github.com/paritytech/parity-ethereum/pull/9644)) +- Hf in POA Sokol (2019-01-04) ([#10077](https://github.com/paritytech/parity-ethereum/pull/10077)) +- Fix broken links ([#10119](https://github.com/paritytech/parity-ethereum/pull/10119)) +- Follow-up to [#10105](https://github.com/paritytech/parity-ethereum/issues/10105) ([#10107](https://github.com/paritytech/parity-ethereum/pull/10107)) +- Move EIP-712 crate back to parity-ethereum ([#10106](https://github.com/paritytech/parity-ethereum/pull/10106)) +- Move a bunch of stuff around ([#10101](https://github.com/paritytech/parity-ethereum/pull/10101)) +- Revert "Add --frozen when running cargo ([#10081](https://github.com/paritytech/parity-ethereum/pull/10081))" ([#10105](https://github.com/paritytech/parity-ethereum/pull/10105)) +- Fix left over small grumbles on whitespaces ([#10084](https://github.com/paritytech/parity-ethereum/pull/10084)) +- Add --frozen when running cargo ([#10081](https://github.com/paritytech/parity-ethereum/pull/10081)) +- Fix pubsub new_blocks notifications to include all blocks ([#9987](https://github.com/paritytech/parity-ethereum/pull/9987)) +- Update some dependencies for compilation with pc-windows-gnu ([#10082](https://github.com/paritytech/parity-ethereum/pull/10082)) +- Fill transaction hash on ethGetLog of light client. ([#9938](https://github.com/paritytech/parity-ethereum/pull/9938)) +- Update changelog update for 2.2.5-beta and 2.1.10-stable ([#10064](https://github.com/paritytech/parity-ethereum/pull/10064)) +- Implement len caching for parking_lot RwLock ([#10032](https://github.com/paritytech/parity-ethereum/pull/10032)) +- Update parking_lot to 0.7 ([#10050](https://github.com/paritytech/parity-ethereum/pull/10050)) +- Bump crossbeam. ([#10048](https://github.com/paritytech/parity-ethereum/pull/10048)) +- Ethcore: enable constantinople on ethereum ([#10031](https://github.com/paritytech/parity-ethereum/pull/10031)) +- Strict empty steps validation ([#10041](https://github.com/paritytech/parity-ethereum/pull/10041)) +- Center the Subtitle, use some CAPS ([#10034](https://github.com/paritytech/parity-ethereum/pull/10034)) +- Change test miner max memory to malloc reports. ([#10024](https://github.com/paritytech/parity-ethereum/pull/10024)) +- Sort the storage for private state ([#10018](https://github.com/paritytech/parity-ethereum/pull/10018)) +- Fix: test corpus_inaccessible panic ([#10019](https://github.com/paritytech/parity-ethereum/pull/10019)) +- Ci: move future releases to ethereum subdir on s3 ([#10017](https://github.com/paritytech/parity-ethereum/pull/10017)) +- Light(on_demand): decrease default time window to 10 secs ([#10016](https://github.com/paritytech/parity-ethereum/pull/10016)) +- Light client : failsafe crate (circuit breaker) ([#9790](https://github.com/paritytech/parity-ethereum/pull/9790)) +- Lencachingmutex ([#9988](https://github.com/paritytech/parity-ethereum/pull/9988)) +- Version and notification for private contract wrapper added ([#9761](https://github.com/paritytech/parity-ethereum/pull/9761)) +- Handle failing case for update account cache in require ([#9989](https://github.com/paritytech/parity-ethereum/pull/9989)) +- Add tokio runtime to ethcore io worker ([#9979](https://github.com/paritytech/parity-ethereum/pull/9979)) +- Move daemonize before creating account provider ([#10003](https://github.com/paritytech/parity-ethereum/pull/10003)) +- Docs: update changelogs ([#9990](https://github.com/paritytech/parity-ethereum/pull/9990)) +- Fix daemonize ([#10000](https://github.com/paritytech/parity-ethereum/pull/10000)) +- Fix Bloom migration ([#9992](https://github.com/paritytech/parity-ethereum/pull/9992)) +- Remove tendermint engine support ([#9980](https://github.com/paritytech/parity-ethereum/pull/9980)) +- Calculate gas for deployment transaction ([#9840](https://github.com/paritytech/parity-ethereum/pull/9840)) +- Fix unstable peers and slowness in sync ([#9967](https://github.com/paritytech/parity-ethereum/pull/9967)) +- Adds parity_verifySignature RPC method ([#9507](https://github.com/paritytech/parity-ethereum/pull/9507)) +- Improve block and transaction propagation ([#9954](https://github.com/paritytech/parity-ethereum/pull/9954)) +- Deny unknown fields for chainspec ([#9972](https://github.com/paritytech/parity-ethereum/pull/9972)) +- Fix docker build ([#9971](https://github.com/paritytech/parity-ethereum/pull/9971)) +- Ci: rearrange pipeline by logic ([#9970](https://github.com/paritytech/parity-ethereum/pull/9970)) +- Add changelogs for 2.0.9, 2.1.4, 2.1.6, and 2.2.1 ([#9963](https://github.com/paritytech/parity-ethereum/pull/9963)) +- Add Error message when sync is still in progress. ([#9475](https://github.com/paritytech/parity-ethereum/pull/9475)) +- Make CALLCODE to trace value to be the code address ([#9881](https://github.com/paritytech/parity-ethereum/pull/9881)) +- Fix light client informant while syncing ([#9932](https://github.com/paritytech/parity-ethereum/pull/9932)) +- Add a optional json dump state to evm-bin ([#9706](https://github.com/paritytech/parity-ethereum/pull/9706)) +- Disable EIP-98 transition by default ([#9955](https://github.com/paritytech/parity-ethereum/pull/9955)) +- Remove secret_store runtimes. ([#9888](https://github.com/paritytech/parity-ethereum/pull/9888)) +- Fix a deadlock ([#9952](https://github.com/paritytech/parity-ethereum/pull/9952)) +- Chore(eip712): remove unused `failure-derive` ([#9958](https://github.com/paritytech/parity-ethereum/pull/9958)) +- Do not use the home directory as the working dir in docker ([#9834](https://github.com/paritytech/parity-ethereum/pull/9834)) +- Prevent silent errors in daemon mode, closes [#9367](https://github.com/paritytech/parity-ethereum/issues/9367) ([#9946](https://github.com/paritytech/parity-ethereum/pull/9946)) +- Fix empty steps ([#9939](https://github.com/paritytech/parity-ethereum/pull/9939)) +- Adjust requests costs for light client ([#9925](https://github.com/paritytech/parity-ethereum/pull/9925)) +- Eip-1186: add `eth_getProof` RPC-Method ([#9001](https://github.com/paritytech/parity-ethereum/pull/9001)) +- Missing blocks in filter_changes RPC ([#9947](https://github.com/paritytech/parity-ethereum/pull/9947)) +- Allow rust-nightly builds fail in nightly builds ([#9944](https://github.com/paritytech/parity-ethereum/pull/9944)) +- Update eth-secp256k1 to include fix for BSDs ([#9935](https://github.com/paritytech/parity-ethereum/pull/9935)) +- Unbreak build on rust -stable ([#9934](https://github.com/paritytech/parity-ethereum/pull/9934)) +- Keep existing blocks when restoring a Snapshot ([#8643](https://github.com/paritytech/parity-ethereum/pull/8643)) +- Add experimental RPCs flag ([#9928](https://github.com/paritytech/parity-ethereum/pull/9928)) +- Clarify poll lifetime ([#9922](https://github.com/paritytech/parity-ethereum/pull/9922)) +- Docs(require rust 1.30) ([#9923](https://github.com/paritytech/parity-ethereum/pull/9923)) +- Use block header for building finality ([#9914](https://github.com/paritytech/parity-ethereum/pull/9914)) +- Simplify cargo audit ([#9918](https://github.com/paritytech/parity-ethereum/pull/9918)) +- Light-fetch: Differentiate between out-of-gas/manual throw and use required gas from response on failure ([#9824](https://github.com/paritytech/parity-ethereum/pull/9824)) +- Eip 191 ([#9701](https://github.com/paritytech/parity-ethereum/pull/9701)) +- Fix(logger): `reqwest` no longer a dependency ([#9908](https://github.com/paritytech/parity-ethereum/pull/9908)) +- Remove rust-toolchain file ([#9906](https://github.com/paritytech/parity-ethereum/pull/9906)) +- Foundation: 6692865, ropsten: 4417537, kovan: 9363457 ([#9907](https://github.com/paritytech/parity-ethereum/pull/9907)) +- Ethcore: use Machine::verify_transaction on parent block ([#9900](https://github.com/paritytech/parity-ethereum/pull/9900)) +- Chore(rpc-tests): remove unused rand ([#9896](https://github.com/paritytech/parity-ethereum/pull/9896)) +- Fix: Intermittent failing CI due to addr in use ([#9885](https://github.com/paritytech/parity-ethereum/pull/9885)) +- Chore(bump docopt): 0.8 -> 1.0 ([#9889](https://github.com/paritytech/parity-ethereum/pull/9889)) +- Use expect ([#9883](https://github.com/paritytech/parity-ethereum/pull/9883)) +- Use Weak reference in PubSubClient ([#9886](https://github.com/paritytech/parity-ethereum/pull/9886)) +- Ci: nuke the gitlab caches ([#9855](https://github.com/paritytech/parity-ethereum/pull/9855)) +- Remove unused code ([#9884](https://github.com/paritytech/parity-ethereum/pull/9884)) +- Fix json tracer overflow ([#9873](https://github.com/paritytech/parity-ethereum/pull/9873)) +- Allow to seal work on latest block ([#9876](https://github.com/paritytech/parity-ethereum/pull/9876)) +- Fix docker script ([#9854](https://github.com/paritytech/parity-ethereum/pull/9854)) +- Health endpoint ([#9847](https://github.com/paritytech/parity-ethereum/pull/9847)) +- Gitlab-ci: make android release build succeed ([#9743](https://github.com/paritytech/parity-ethereum/pull/9743)) +- Clean up existing benchmarks ([#9839](https://github.com/paritytech/parity-ethereum/pull/9839)) +- Update Callisto block reward code to support HF1 ([#9811](https://github.com/paritytech/parity-ethereum/pull/9811)) +- Option to disable keep alive for JSON-RPC http transport ([#9848](https://github.com/paritytech/parity-ethereum/pull/9848)) +- Classic.json Bootnode Update ([#9828](https://github.com/paritytech/parity-ethereum/pull/9828)) +- Support MIX. ([#9767](https://github.com/paritytech/parity-ethereum/pull/9767)) +- Ci: remove failing tests for android, windows, and macos ([#9788](https://github.com/paritytech/parity-ethereum/pull/9788)) +- Implement NoProof for json tests and update tests reference (replaces [#9744](https://github.com/paritytech/parity-ethereum/issues/9744)) ([#9814](https://github.com/paritytech/parity-ethereum/pull/9814)) +- Chore(bump regex) ([#9842](https://github.com/paritytech/parity-ethereum/pull/9842)) +- Ignore global cache for patched accounts ([#9752](https://github.com/paritytech/parity-ethereum/pull/9752)) +- Move state root verification before gas used ([#9841](https://github.com/paritytech/parity-ethereum/pull/9841)) +- Fix(docker-aarch64) : cross-compile config ([#9798](https://github.com/paritytech/parity-ethereum/pull/9798)) +- Version: bump nightly to 2.3.0 ([#9819](https://github.com/paritytech/parity-ethereum/pull/9819)) +- Tests modification for windows CI ([#9671](https://github.com/paritytech/parity-ethereum/pull/9671)) +- Eip-712 implementation ([#9631](https://github.com/paritytech/parity-ethereum/pull/9631)) +- Fix typo ([#9826](https://github.com/paritytech/parity-ethereum/pull/9826)) +- Clean up serde rename and use rename_all = camelCase when possible ([#9823](https://github.com/paritytech/parity-ethereum/pull/9823)) ## Previous releases -- [CHANGELOG-2.1](docs/CHANGELOG-2.1.md) (_stable_) +- [CHANGELOG-2.1](docs/CHANGELOG-2.2.md) (_stable_) +- [CHANGELOG-2.1](docs/CHANGELOG-2.1.md) (EOL: 2019-01-16) - [CHANGELOG-2.0](docs/CHANGELOG-2.0.md) (EOL: 2018-11-15) - [CHANGELOG-1.11](docs/CHANGELOG-1.11.md) (EOL: 2018-09-19) - [CHANGELOG-1.10](docs/CHANGELOG-1.10.md) (EOL: 2018-07-18) diff --git a/docs/CHANGELOG-2.0.md b/docs/CHANGELOG-2.0.md index e0e6b0c380f..ef57dc2fbba 100644 --- a/docs/CHANGELOG-2.0.md +++ b/docs/CHANGELOG-2.0.md @@ -1,4 +1,4 @@ -Note: Parity 2.0 reached End-of-Life on 2018-11-15 (EOL). +Note: Parity Ethereum 2.0 reached End-of-Life on 2018-11-15 (EOL). ## Parity-Ethereum [v2.0.9](https://github.com/paritytech/parity-ethereum/releases/tag/v2.0.9) (2018-10-29) diff --git a/docs/CHANGELOG-2.1.md b/docs/CHANGELOG-2.1.md index 3f3b2298094..212370a2704 100644 --- a/docs/CHANGELOG-2.1.md +++ b/docs/CHANGELOG-2.1.md @@ -1,13 +1,31 @@ +Note: Parity Ethereum 2.1 reached End-of-Life on 2019-01-16 (EOL). + +## Parity-Ethereum [v2.1.11](https://github.com/paritytech/parity-ethereum/releases/tag/v2.1.11) (2019-01-09) + +Parity-Ethereum 2.1.11-stable is a bugfix release that improves performance and stability. + +The full list of included changes: + +- Stable backports v2.1.11 ([#10112](https://github.com/paritytech/parity-ethereum/pull/10112)) + - Version: bump stable to v2.1.11 + - HF in POA Sokol (2019-01-04) ([#10077](https://github.com/paritytech/parity-ethereum/pull/10077)) + - Add --locked when running cargo ([#10107](https://github.com/paritytech/parity-ethereum/pull/10107)) + - Ethcore: update hardcoded headers ([#10123](https://github.com/paritytech/parity-ethereum/pull/10123)) + - Identity fix ([#10128](https://github.com/paritytech/parity-ethereum/pull/10128)) + - Update pwasm-utils to 0.6.1 ([#10134](https://github.com/paritytech/parity-ethereum/pull/10134)) + - Version: mark upgrade critical on kovan + ## Parity-Ethereum [v2.1.10](https://github.com/paritytech/parity-ethereum/releases/tag/v2.1.10) (2018-12-14) -Parity-Ethereum 2.1.10-stable is an important release that introduces Constantinople fork at block 7080000 on Mainnet. -This release also contains a fix for chains using AuRa + EmptySteps. Read carefully if this applies to you. + +Parity-Ethereum 2.1.10-stable is an important release that introduces Constantinople fork at block 7080000 on Mainnet. +This release also contains a fix for chains using AuRa + EmptySteps. Read carefully if this applies to you. If you have a chain with`empty_steps` already running, some blocks most likely contain non-strict entries (unordered or duplicated empty steps). In this release`strict_empty_steps_transition` **is enabled by default at block 0** for any chain with `empty_steps`. If your network uses `empty_steps` you **must**: - plan a hard fork and change `strict_empty_steps_transition` to the desire fork block - update the clients of the whole network to 2.2.5-beta / 2.1.10-stable. If for some reason you don't want to do this please set`strict_empty_steps_transition` to `0xfffffffff` to disable it. -The full list of included changes: +The full list of included changes: - Backports for stable 2.1.10 ([#10046](https://github.com/paritytech/parity-ethereum/pull/10046)) - Bump stable to 2.1.10 ([#10046](https://github.com/paritytech/parity-ethereum/pull/10046)) diff --git a/docs/CHANGELOG-2.2.md b/docs/CHANGELOG-2.2.md new file mode 100644 index 00000000000..f1e8e79020e --- /dev/null +++ b/docs/CHANGELOG-2.2.md @@ -0,0 +1,317 @@ +## Parity-Ethereum [v2.2.7](https://github.com/paritytech/parity-ethereum/releases/tag/v2.2.7) (2018-01-15) + +Parity-Ethereum 2.2.7-stable is a consensus-relevant security release that reverts Constantinople on the Ethereum network. Upgrading is mandatory for Ethereum, and strongly recommended for other networks. + +- **Consensus** - Ethereum Network: Pull Constantinople protocol upgrade on Ethereum ([#10189](https://github.com/paritytech/parity-ethereum/pull/10189)) + - Read more: [Security Alert: Ethereum Constantinople Postponement](https://blog.ethereum.org/2019/01/15/security-alert-ethereum-constantinople-postponement/) +- **Networking** - All networks: Ping nodes from discovery ([#10167](https://github.com/paritytech/parity-ethereum/pull/10167)) +- **Wasm** - Kovan Network: Update pwasm-utils to 0.6.1 ([#10134](https://github.com/paritytech/parity-ethereum/pull/10134)) + +_Note:_ This release marks Parity 2.2 as _stable_. All versions of Parity 2.1 now reached _end of life_. + +The full list of included changes: + +- Backports for stable 2.2.7 ([#10163](https://github.com/paritytech/parity-ethereum/pull/10163)) + - Version: bump stable to 2.2.7 + - Version: mark 2.2 track stable + - Version: mark update critical on all networks + - Handle the case for contract creation on an empty but exist account with storage items ([#10065](https://github.com/paritytech/parity-ethereum/pull/10065)) + - Fix _cannot recursively call into `Core`_ issue ([#10144](https://github.com/paritytech/parity-ethereum/pull/10144)) + - Snap: fix path in script ([#10157](https://github.com/paritytech/parity-ethereum/pull/10157)) + - Ping nodes from discovery ([#10167](https://github.com/paritytech/parity-ethereum/pull/10167)) + - Version: bump fork blocks for kovan and foundation, mark releases non critical + - Pull constantinople on ethereum network ([#10189](https://github.com/paritytech/parity-ethereum/pull/10189)) + +## Parity-Ethereum [v2.2.6](https://github.com/paritytech/parity-ethereum/releases/tag/v2.2.6) (2019-01-10) + +Parity-Ethereum 2.2.6-beta is a bugfix release that improves performance and stability. + +The full list of included changes: + +- Beta backports v2.2.6 ([#10113](https://github.com/paritytech/parity-ethereum/pull/10113)) + - Version: bump beta to v2.2.6 + - Fill transaction hash on ethGetLog of light client. ([#9938](https://github.com/paritytech/parity-ethereum/pull/9938)) + - Fix pubsub new_blocks notifications to include all blocks ([#9987](https://github.com/paritytech/parity-ethereum/pull/9987)) + - Finality: dont require chain head to be in the chain ([#10054](https://github.com/paritytech/parity-ethereum/pull/10054)) + - Handle the case for contract creation on an empty but exist account with storage items ([#10065](https://github.com/paritytech/parity-ethereum/pull/10065)) + - Autogen docs for the "Configuring Parity Ethereum" wiki page. ([#10067](https://github.com/paritytech/parity-ethereum/pull/10067)) + - HF in POA Sokol (2019-01-04) ([#10077](https://github.com/paritytech/parity-ethereum/pull/10077)) + - Add --locked when running cargo ([#10107](https://github.com/paritytech/parity-ethereum/pull/10107)) + - Ethcore: update hardcoded headers ([#10123](https://github.com/paritytech/parity-ethereum/pull/10123)) + - Identity fix ([#10128](https://github.com/paritytech/parity-ethereum/pull/10128)) + - Update pwasm-utils to 0.6.1 ([#10134](https://github.com/paritytech/parity-ethereum/pull/10134)) + - Make sure parent block is not in importing queue when importing ancient blocks ([#10138](https://github.com/paritytech/parity-ethereum/pull/10138)) + - CI: re-enable snap publishing ([#10142](https://github.com/paritytech/parity-ethereum/pull/10142)) + - HF in POA Core (2019-01-18) - Constantinople ([#10155](https://github.com/paritytech/parity-ethereum/pull/10155)) + - Version: mark upgrade critical on kovan + +## Parity-Ethereum [v2.2.5](https://github.com/paritytech/parity-ethereum/releases/tag/v2.2.5) (2018-12-14) + +Parity-Ethereum 2.2.5-beta is an important release that introduces Constantinople fork at block 7080000 on Mainnet. +This release also contains a fix for chains using AuRa + EmptySteps. Read carefully if this applies to you. +If you have a chain with`empty_steps` already running, some blocks most likely contain non-strict entries (unordered or duplicated empty steps). In this release`strict_empty_steps_transition` **is enabled by default at block 0** for any chain with `empty_steps`. +If your network uses `empty_steps` you **must**: +- plan a hard fork and change `strict_empty_steps_transition` to the desire fork block +- update the clients of the whole network to 2.2.5-beta / 2.1.10-stable. +If for some reason you don't want to do this please set`strict_empty_steps_transition` to `0xfffffffff` to disable it. + +The full list of included changes: +- Backports for beta 2.2.5 ([#10047](https://github.com/paritytech/parity-ethereum/pull/10047)) + - Bump beta to 2.2.5 ([#10047](https://github.com/paritytech/parity-ethereum/pull/10047)) + - Fix empty steps ([#9939](https://github.com/paritytech/parity-ethereum/pull/9939)) + - Prevent sending empty step message twice + - Prevent sending empty step and then block in the same step + - Don't accept double empty steps + - Do basic validation of self-sealed blocks + - Strict empty steps validation ([#10041](https://github.com/paritytech/parity-ethereum/pull/10041)) + - Enables strict verification of empty steps - there can be no duplicates and empty steps should be ordered inside the seal. + - Note that authorities won't produce invalid seals after [#9939](https://github.com/paritytech/parity-ethereum/pull/9939), this PR just adds verification to the seal to prevent forging incorrect blocks and potentially causing consensus issues. + - This features is enabled by default so any AuRa + EmptySteps chain should set strict_empty_steps_transition fork block number in their spec and upgrade to v2.2.5-beta or v2.1.10-stable. + - ethcore: enable constantinople on ethereum ([#10031](https://github.com/paritytech/parity-ethereum/pull/10031)) + - ethcore: change blockreward to 2e18 for foundation after constantinople + - ethcore: delay diff bomb by 2e6 blocks for foundation after constantinople + - ethcore: enable eip-{145,1014,1052,1283} for foundation after constantinople + - Change test miner max memory to malloc reports. ([#10024](https://github.com/paritytech/parity-ethereum/pull/10024)) + - Fix: test corpus_inaccessible panic ([#10019](https://github.com/paritytech/parity-ethereum/pull/10019)) + +## Parity-Ethereum [v2.2.2](https://github.com/paritytech/parity-ethereum/releases/tag/v2.2.2) (2018-11-29) + +Parity-Ethereum 2.2.2-beta is an exciting release. Among others, it improves sync performance, peering stability, block propagation, and transaction propagation times. Also, a warp-sync no longer removes existing blocks from the database, but rather reuses locally available information to decrease sync times and reduces required bandwidth. + +Before upgrading to 2.2.2, please also verify the validity of your chain specs. Parity Ethereum now denies unknown fields in the specification. To do this, use the chainspec tool: + +``` +cargo build --release -p chainspec +./target/release/chainspec /path/to/spec.json +``` + +Last but not least, JSONRPC APIs which are not yet accepted as an EIP in the `eth`, `personal`, or `web3` namespace, are now considere experimental as their final specification might change in future. These APIs have to be manually enabled by explicitly running `--jsonrpc-experimental`. + +The full list of included changes: + +- Backports For beta 2.2.2 ([#9976](https://github.com/paritytech/parity-ethereum/pull/9976)) + - Version: bump beta to 2.2.2 + - Add experimental RPCs flag ([#9928](https://github.com/paritytech/parity-ethereum/pull/9928)) + - Keep existing blocks when restoring a Snapshot ([#8643](https://github.com/paritytech/parity-ethereum/pull/8643)) + - Rename db_restore => client + - First step: make it compile! + - Second step: working implementation! + - Refactoring + - Fix tests + - Migrate ancient blocks interacting backward + - Early return in block migration if snapshot is aborted + - Remove RwLock getter (PR Grumble I) + - Remove dependency on `Client`: only used Traits + - Add test for recovering aborted snapshot recovery + - Add test for migrating old blocks + - Release RwLock earlier + - Revert Cargo.lock + - Update _update ancient block_ logic: set local in `commit` + - Update typo in ethcore/src/snapshot/service.rs + - Adjust requests costs for light client ([#9925](https://github.com/paritytech/parity-ethereum/pull/9925)) + - Pip Table Cost relative to average peers instead of max peers + - Add tracing in PIP new_cost_table + - Update stat peer_count + - Use number of leeching peers for Light serve costs + - Fix test::light_params_load_share_depends_on_max_peers (wrong type) + - Remove (now) useless test + - Remove `load_share` from LightParams.Config + - Add LEECHER_COUNT_FACTOR + - Pr Grumble: u64 to u32 for f64 casting + - Prevent u32 overflow for avg_peer_count + - Add tests for LightSync::Statistics + - Fix empty steps ([#9939](https://github.com/paritytech/parity-ethereum/pull/9939)) + - Don't send empty step twice or empty step then block. + - Perform basic validation of locally sealed blocks. + - Don't include empty step twice. + - Prevent silent errors in daemon mode, closes [#9367](https://github.com/paritytech/parity-ethereum/issues/9367) ([#9946](https://github.com/paritytech/parity-ethereum/pull/9946)) + - Fix a deadlock ([#9952](https://github.com/paritytech/parity-ethereum/pull/9952)) + - Update informant: + - Decimal in Mgas/s + - Print every 5s (not randomly between 5s and 10s) + - Fix dead-lock in `blockchain.rs` + - Update locks ordering + - Fix light client informant while syncing ([#9932](https://github.com/paritytech/parity-ethereum/pull/9932)) + - Add `is_idle` to LightSync to check importing status + - Use SyncStateWrapper to make sure is_idle gets updates + - Update is_major_import to use verified queue size as well + - Add comment for `is_idle` + - Add Debug to `SyncStateWrapper` + - `fn get` -> `fn into_inner` + - Ci: rearrange pipeline by logic ([#9970](https://github.com/paritytech/parity-ethereum/pull/9970)) + - Ci: rearrange pipeline by logic + - Ci: rename docs script + - Fix docker build ([#9971](https://github.com/paritytech/parity-ethereum/pull/9971)) + - Deny unknown fields for chainspec ([#9972](https://github.com/paritytech/parity-ethereum/pull/9972)) + - Add deny_unknown_fields to chainspec + - Add tests and fix existing one + - Remove serde_ignored dependency for chainspec + - Fix rpc test eth chain spec + - Fix starting_nonce_test spec + - Improve block and transaction propagation ([#9954](https://github.com/paritytech/parity-ethereum/pull/9954)) + - Refactor sync to add priority tasks. + - Send priority tasks notifications. + - Propagate blocks, optimize transactions. + - Implement transaction propagation. Use sync_channel. + - Tone down info. + - Prevent deadlock by not waiting forever for sync lock. + - Fix lock order. + - Don't use sync_channel to prevent deadlocks. + - Fix tests. + - Fix unstable peers and slowness in sync ([#9967](https://github.com/paritytech/parity-ethereum/pull/9967)) + - Don't sync all peers after each response + - Update formating + - Fix tests: add `continue_sync` to `Sync_step` + - Update ethcore/sync/src/chain/mod.rs + - Fix rpc middlewares + - Fix Cargo.lock + - Json: resolve merge in spec + - Rpc: fix starting_nonce_test + - Ci: allow nightl job to fail + +## Parity-Ethereum [v2.2.1](https://github.com/paritytech/parity-ethereum/releases/tag/v2.2.1) (2018-11-15) + +Parity-Ethereum 2.2.1-beta is the first v2.2 release, and might introduce features that break previous work flows, among others: + +- Prevent zero network ID ([#9763](https://github.com/paritytech/parity-ethereum/pull/9763)) and drop support for Olympic testnet ([#9801](https://github.com/paritytech/parity-ethereum/pull/9801)): The Olympic test net is dead for years and never used a chain ID but network ID zero. Parity Ethereum is now preventing the network ID to be zero, thus Olympic support is dropped. Make sure to chose positive non-zero network IDs in future. +- Multithreaded snapshot creation ([#9239](https://github.com/paritytech/parity-ethereum/pull/9239)): adds a CLI argument `--snapshot-threads` which specifies the number of threads. This helps improving the performance of full nodes that wish to provide warp-snapshots for the network. The gain in performance comes with a slight drawback in increased snapshot size. +- Expose config max-round-blocks-to-import ([#9439](https://github.com/paritytech/parity-ethereum/pull/9439)): Parity Ethereum imports blocks in rounds. If at the end of any round, the queue is not empty, we consider it to be _importing_ and won't notify pubsub. On large re-orgs (10+ blocks), this is possible. The default `max_round_blocks_to_import` is increased to 12 and configurable via the `--max-round-blocks-to-import` CLI flag. With unstable network conditions, it is advised to increase the number. This shouldn't have any noticeable performance impact unless the number is set to really large. +- Increase Gas-floor-target and Gas Cap ([#9564](https://github.com/paritytech/parity-ethereum/pull/9564)): the default values for gas floor target are `8_000_000` and gas cap `10_000_000`, similar to Geth 1.8.15+. +- Produce portable binaries ([#9725](https://github.com/paritytech/parity-ethereum/pull/9725)): we now produce portable binaries, but it may incur some performance degradation. For ultimate performance it's now better to compile Parity Ethereum from source with `PORTABLE=OFF` environment variable. +- RPC: `parity_allTransactionHashes` ([#9745](https://github.com/paritytech/parity-ethereum/pull/9745)): Get all pending transactions from the queue with the high performant `parity_allTransactionHashes` RPC method. +- Support `eth_chainId` RPC method ([#9783](https://github.com/paritytech/parity-ethereum/pull/9783)): implements EIP-695 to get the chainID via RPC. +- AuRa: finalize blocks ([#9692](https://github.com/paritytech/parity-ethereum/pull/9692)): The AuRa engine was updated to emit ancestry actions to finalize blocks. The full client stores block finality in the database, the engine builds finality from an ancestry of `ExtendedHeader`; `is_epoch_end` was updated to take a vec of recently finalized headers; `is_epoch_end_light` was added which maintains the previous interface and is used by the light client since the client itself doesn't track finality. + +The full list of included changes: + +- Backport to parity 2.2.1 beta ([#9905](https://github.com/paritytech/parity-ethereum/pull/9905)) + - Bump version to 2.2.1 + - Fix: Intermittent failing CI due to addr in use ([#9885](https://github.com/paritytech/parity-ethereum/pull/9885)) + - Fix Parity not closing on Ctrl-C ([#9886](https://github.com/paritytech/parity-ethereum/pull/9886)) + - Fix json tracer overflow ([#9873](https://github.com/paritytech/parity-ethereum/pull/9873)) + - Fix docker script ([#9854](https://github.com/paritytech/parity-ethereum/pull/9854)) + - Add hardcoded headers for light client ([#9907](https://github.com/paritytech/parity-ethereum/pull/9907)) + - Gitlab-ci: make android release build succeed ([#9743](https://github.com/paritytech/parity-ethereum/pull/9743)) + - Allow to seal work on latest block ([#9876](https://github.com/paritytech/parity-ethereum/pull/9876)) + - Remove rust-toolchain file ([#9906](https://github.com/paritytech/parity-ethereum/pull/9906)) + - Light-fetch: Differentiate between out-of-gas/manual throw and use required gas from response on failure ([#9824](https://github.com/paritytech/parity-ethereum/pull/9824)) + - Eip-712 implementation ([#9631](https://github.com/paritytech/parity-ethereum/pull/9631)) + - Eip-191 implementation ([#9701](https://github.com/paritytech/parity-ethereum/pull/9701)) + - Simplify cargo audit ([#9918](https://github.com/paritytech/parity-ethereum/pull/9918)) + - Fix performance issue importing Kovan blocks ([#9914](https://github.com/paritytech/parity-ethereum/pull/9914)) + - Ci: nuke the gitlab caches ([#9855](https://github.com/paritytech/parity-ethereum/pull/9855)) +- Backports to parity beta 2.2.0 ([#9820](https://github.com/paritytech/parity-ethereum/pull/9820)) + - Ci: remove failing tests for android, windows, and macos ([#9788](https://github.com/paritytech/parity-ethereum/pull/9788)) + - Implement NoProof for json tests and update tests reference ([#9814](https://github.com/paritytech/parity-ethereum/pull/9814)) + - Move state root verification before gas used ([#9841](https://github.com/paritytech/parity-ethereum/pull/9841)) + - Classic.json Bootnode Update ([#9828](https://github.com/paritytech/parity-ethereum/pull/9828)) +- Rpc: parity_allTransactionHashes ([#9745](https://github.com/paritytech/parity-ethereum/pull/9745)) +- Revert "prevent zero networkID ([#9763](https://github.com/paritytech/parity-ethereum/pull/9763))" ([#9815](https://github.com/paritytech/parity-ethereum/pull/9815)) +- Allow zero chain id in EIP155 signing process ([#9792](https://github.com/paritytech/parity-ethereum/pull/9792)) +- Add readiness check for docker container ([#9804](https://github.com/paritytech/parity-ethereum/pull/9804)) +- Insert dev account before unlocking ([#9813](https://github.com/paritytech/parity-ethereum/pull/9813)) +- Removed "rustup" & added new runner tag ([#9731](https://github.com/paritytech/parity-ethereum/pull/9731)) +- Expose config max-round-blocks-to-import ([#9439](https://github.com/paritytech/parity-ethereum/pull/9439)) +- Aura: finalize blocks ([#9692](https://github.com/paritytech/parity-ethereum/pull/9692)) +- Sync: retry different peer after empty subchain heads response ([#9753](https://github.com/paritytech/parity-ethereum/pull/9753)) +- Fix(light-rpc/parity) : Remove unused client ([#9802](https://github.com/paritytech/parity-ethereum/pull/9802)) +- Drops support for olympic testnet, closes [#9800](https://github.com/paritytech/parity-ethereum/issues/9800) ([#9801](https://github.com/paritytech/parity-ethereum/pull/9801)) +- Replace `tokio_core` with `tokio` (`ring` -> 0.13) ([#9657](https://github.com/paritytech/parity-ethereum/pull/9657)) +- Support eth_chainId RPC method ([#9783](https://github.com/paritytech/parity-ethereum/pull/9783)) +- Ethcore: bump ropsten forkblock checkpoint ([#9775](https://github.com/paritytech/parity-ethereum/pull/9775)) +- Docs: changelogs for 2.0.8 and 2.1.3 ([#9758](https://github.com/paritytech/parity-ethereum/pull/9758)) +- Prevent zero networkID ([#9763](https://github.com/paritytech/parity-ethereum/pull/9763)) +- Skip seal fields count check when --no-seal-check is used ([#9757](https://github.com/paritytech/parity-ethereum/pull/9757)) +- Aura: fix panic on extra_info with unsealed block ([#9755](https://github.com/paritytech/parity-ethereum/pull/9755)) +- Docs: update changelogs ([#9742](https://github.com/paritytech/parity-ethereum/pull/9742)) +- Removed extra assert in generation_session_is_removed_when_succeeded ([#9738](https://github.com/paritytech/parity-ethereum/pull/9738)) +- Make checkpoint_storage_at use plain loop instead of recursion ([#9734](https://github.com/paritytech/parity-ethereum/pull/9734)) +- Use signed 256-bit integer for sstore gas refund substate ([#9746](https://github.com/paritytech/parity-ethereum/pull/9746)) +- Heads ref not present for branches beta and stable ([#9741](https://github.com/paritytech/parity-ethereum/pull/9741)) +- Add Callisto support ([#9534](https://github.com/paritytech/parity-ethereum/pull/9534)) +- Add --force to cargo audit install script ([#9735](https://github.com/paritytech/parity-ethereum/pull/9735)) +- Remove unused expired value from Handshake ([#9732](https://github.com/paritytech/parity-ethereum/pull/9732)) +- Add hardcoded headers ([#9730](https://github.com/paritytech/parity-ethereum/pull/9730)) +- Produce portable binaries ([#9725](https://github.com/paritytech/parity-ethereum/pull/9725)) +- Gitlab ci: releasable_branches: change variables condition to schedule ([#9729](https://github.com/paritytech/parity-ethereum/pull/9729)) +- Update a few parity-common dependencies ([#9663](https://github.com/paritytech/parity-ethereum/pull/9663)) +- Hf in POA Core (2018-10-22) ([#9724](https://github.com/paritytech/parity-ethereum/pull/9724)) +- Schedule nightly builds ([#9717](https://github.com/paritytech/parity-ethereum/pull/9717)) +- Fix ancient blocks sync ([#9531](https://github.com/paritytech/parity-ethereum/pull/9531)) +- Ci: Skip docs job for nightly ([#9693](https://github.com/paritytech/parity-ethereum/pull/9693)) +- Fix (light/provider) : Make `read_only executions` read-only ([#9591](https://github.com/paritytech/parity-ethereum/pull/9591)) +- Ethcore: fix detection of major import ([#9552](https://github.com/paritytech/parity-ethereum/pull/9552)) +- Return 0 on error ([#9705](https://github.com/paritytech/parity-ethereum/pull/9705)) +- Ethcore: delay ropsten hardfork ([#9704](https://github.com/paritytech/parity-ethereum/pull/9704)) +- Make instantSeal engine backwards compatible, closes [#9696](https://github.com/paritytech/parity-ethereum/issues/9696) ([#9700](https://github.com/paritytech/parity-ethereum/pull/9700)) +- Implement CREATE2 gas changes and fix some potential overflowing ([#9694](https://github.com/paritytech/parity-ethereum/pull/9694)) +- Don't hash the init_code of CREATE. ([#9688](https://github.com/paritytech/parity-ethereum/pull/9688)) +- Ethcore: minor optimization of modexp by using LR exponentiation ([#9697](https://github.com/paritytech/parity-ethereum/pull/9697)) +- Removed redundant clone before each block import ([#9683](https://github.com/paritytech/parity-ethereum/pull/9683)) +- Add Foundation Bootnodes ([#9666](https://github.com/paritytech/parity-ethereum/pull/9666)) +- Docker: run as parity user ([#9689](https://github.com/paritytech/parity-ethereum/pull/9689)) +- Ethcore: mcip3 block reward contract ([#9605](https://github.com/paritytech/parity-ethereum/pull/9605)) +- Verify block syncing responses against requests ([#9670](https://github.com/paritytech/parity-ethereum/pull/9670)) +- Add a new RPC `parity_submitWorkDetail` similar `eth_submitWork` but return block hash ([#9404](https://github.com/paritytech/parity-ethereum/pull/9404)) +- Resumable EVM and heap-allocated callstack ([#9360](https://github.com/paritytech/parity-ethereum/pull/9360)) +- Update parity-wordlist library ([#9682](https://github.com/paritytech/parity-ethereum/pull/9682)) +- Ci: Remove unnecessary pipes ([#9681](https://github.com/paritytech/parity-ethereum/pull/9681)) +- Test.sh: use cargo --target for platforms other than linux, win or mac ([#9650](https://github.com/paritytech/parity-ethereum/pull/9650)) +- Ci: fix push script ([#9679](https://github.com/paritytech/parity-ethereum/pull/9679)) +- Hardfork the testnets ([#9562](https://github.com/paritytech/parity-ethereum/pull/9562)) +- Calculate sha3 instead of sha256 for push-release. ([#9673](https://github.com/paritytech/parity-ethereum/pull/9673)) +- Ethcore-io retries failed work steal ([#9651](https://github.com/paritytech/parity-ethereum/pull/9651)) +- Fix(light_fetch): avoid race with BlockNumber::Latest ([#9665](https://github.com/paritytech/parity-ethereum/pull/9665)) +- Test fix for windows cache name... ([#9658](https://github.com/paritytech/parity-ethereum/pull/9658)) +- Refactor(fetch) : light use only one `DNS` thread ([#9647](https://github.com/paritytech/parity-ethereum/pull/9647)) +- Ethereum libfuzzer integration small change ([#9547](https://github.com/paritytech/parity-ethereum/pull/9547)) +- Cli: remove reference to --no-ui in --unlock flag help ([#9616](https://github.com/paritytech/parity-ethereum/pull/9616)) +- Remove master from releasable branches ([#9655](https://github.com/paritytech/parity-ethereum/pull/9655)) +- Ethcore/VerificationQueue don't spawn up extra `worker-threads` when explictly specified not to ([#9620](https://github.com/paritytech/parity-ethereum/pull/9620)) +- Rpc: parity_getBlockReceipts ([#9527](https://github.com/paritytech/parity-ethereum/pull/9527)) +- Remove unused dependencies ([#9589](https://github.com/paritytech/parity-ethereum/pull/9589)) +- Ignore key_server_cluster randomly failing tests ([#9639](https://github.com/paritytech/parity-ethereum/pull/9639)) +- Ethcore: handle vm exception when estimating gas ([#9615](https://github.com/paritytech/parity-ethereum/pull/9615)) +- Fix bad-block reporting no reason ([#9638](https://github.com/paritytech/parity-ethereum/pull/9638)) +- Use static call and apparent value transfer for block reward contract code ([#9603](https://github.com/paritytech/parity-ethereum/pull/9603)) +- Hf in POA Sokol (2018-09-19) ([#9607](https://github.com/paritytech/parity-ethereum/pull/9607)) +- Bump smallvec to 0.6 in ethcore-light, ethstore and whisper ([#9588](https://github.com/paritytech/parity-ethereum/pull/9588)) +- Add constantinople conf to EvmTestClient. ([#9570](https://github.com/paritytech/parity-ethereum/pull/9570)) +- Fix(network): don't disconnect reserved peers ([#9608](https://github.com/paritytech/parity-ethereum/pull/9608)) +- Fix failing node-table tests on mac os, closes [#9632](https://github.com/paritytech/parity-ethereum/issues/9632) ([#9633](https://github.com/paritytech/parity-ethereum/pull/9633)) +- Update ropsten.json ([#9602](https://github.com/paritytech/parity-ethereum/pull/9602)) +- Simplify ethcore errors by removing BlockImportError ([#9593](https://github.com/paritytech/parity-ethereum/pull/9593)) +- Fix windows compilation, replaces [#9561](https://github.com/paritytech/parity-ethereum/issues/9561) ([#9621](https://github.com/paritytech/parity-ethereum/pull/9621)) +- Master: rpc-docs set github token ([#9610](https://github.com/paritytech/parity-ethereum/pull/9610)) +- Docs: add changelogs for 1.11.10, 1.11.11, 2.0.3, 2.0.4, 2.0.5, 2.0.6, 2.1.0, and 2.1.1 ([#9554](https://github.com/paritytech/parity-ethereum/pull/9554)) +- Docs(rpc): annotate tag with the provided message ([#9601](https://github.com/paritytech/parity-ethereum/pull/9601)) +- Ci: fix regex roll_eyes ([#9597](https://github.com/paritytech/parity-ethereum/pull/9597)) +- Remove snapcraft clean ([#9585](https://github.com/paritytech/parity-ethereum/pull/9585)) +- Add snapcraft package image (master) ([#9584](https://github.com/paritytech/parity-ethereum/pull/9584)) +- Docs(rpc): push the branch along with tags ([#9578](https://github.com/paritytech/parity-ethereum/pull/9578)) +- Fix typo for jsonrpc-threads flag ([#9574](https://github.com/paritytech/parity-ethereum/pull/9574)) +- Fix informant compile ([#9571](https://github.com/paritytech/parity-ethereum/pull/9571)) +- Added ropsten bootnodes ([#9569](https://github.com/paritytech/parity-ethereum/pull/9569)) +- Increase Gas-floor-target and Gas Cap ([#9564](https://github.com/paritytech/parity-ethereum/pull/9564)) +- While working on the platform tests make them non-breaking ([#9563](https://github.com/paritytech/parity-ethereum/pull/9563)) +- Improve P2P discovery ([#9526](https://github.com/paritytech/parity-ethereum/pull/9526)) +- Move dockerfile for android build container to scripts repo ([#9560](https://github.com/paritytech/parity-ethereum/pull/9560)) +- Simultaneous platform tests WIP ([#9557](https://github.com/paritytech/parity-ethereum/pull/9557)) +- Update ethabi-derive, serde, serde_json, serde_derive, syn && quote ([#9553](https://github.com/paritytech/parity-ethereum/pull/9553)) +- Ci: fix rpc docs generation 2 ([#9550](https://github.com/paritytech/parity-ethereum/pull/9550)) +- Ci: always run build pipelines for win, mac, linux, and android ([#9537](https://github.com/paritytech/parity-ethereum/pull/9537)) +- Multithreaded snapshot creation ([#9239](https://github.com/paritytech/parity-ethereum/pull/9239)) +- New ethabi ([#9511](https://github.com/paritytech/parity-ethereum/pull/9511)) +- Remove initial token for WS. ([#9545](https://github.com/paritytech/parity-ethereum/pull/9545)) +- Net_version caches network_id to avoid redundant aquire of sync readlock ([#9544](https://github.com/paritytech/parity-ethereum/pull/9544)) +- Correct before_script for nightly build versions ([#9543](https://github.com/paritytech/parity-ethereum/pull/9543)) +- Deps: bump kvdb-rocksdb to 0.1.4 ([#9539](https://github.com/paritytech/parity-ethereum/pull/9539)) +- State: test when contract creation fails, old storage values should re-appear ([#9532](https://github.com/paritytech/parity-ethereum/pull/9532)) +- Allow dropping light client RPC query with no results ([#9318](https://github.com/paritytech/parity-ethereum/pull/9318)) +- Bump master to 2.2.0 ([#9517](https://github.com/paritytech/parity-ethereum/pull/9517)) +- Enable all Constantinople hard fork changes in constantinople_test.json ([#9505](https://github.com/paritytech/parity-ethereum/pull/9505)) +- [Light] Validate `account balance` before importing transactions ([#9417](https://github.com/paritytech/parity-ethereum/pull/9417)) +- In create memory calculation is the same for create2 because the additional parameter was popped before. ([#9522](https://github.com/paritytech/parity-ethereum/pull/9522)) +- Update patricia trie to 0.2.2 ([#9525](https://github.com/paritytech/parity-ethereum/pull/9525)) +- Replace hardcoded JSON with serde json! macro ([#9489](https://github.com/paritytech/parity-ethereum/pull/9489)) +- Fix typo in version string ([#9516](https://github.com/paritytech/parity-ethereum/pull/9516)) From 35bbf11ba5a205eb1f5f8473f56137acd4c333d0 Mon Sep 17 00:00:00 2001 From: Hernando Castano Date: Wed, 16 Jan 2019 19:52:21 +0100 Subject: [PATCH 47/68] Extract CallContract and RegistryInfo traits into their own crate (#10178) * Create call-contract crate * Add license * First attempt at using extracted CallContract trait * Remove unneeded `extern crate` calls * Move RegistryInfo trait into call-contract crate * Move service-transaction-checker from ethcore to ethcore-miner * Update Cargo.lock file * Re-export call_contract * Merge CallContract and RegistryInfo imports * Remove commented code * Add documentation to call_contract crate * Add TODO for removal of re-exports * Update call-contract crate description Co-Authored-By: HCastano * Rename call-contract crate to ethcore-call-contract --- Cargo.lock | 14 ++++++++ ethcore/Cargo.toml | 1 + ethcore/call-contract/Cargo.toml | 11 +++++++ ethcore/call-contract/src/call_contract.rs | 33 +++++++++++++++++++ ethcore/call-contract/src/lib.rs | 27 +++++++++++++++ ethcore/src/client/client.rs | 5 +-- ethcore/src/client/mod.rs | 9 +++-- ethcore/src/client/test_client.rs | 3 +- ethcore/src/client/traits.rs | 13 +------- ethcore/src/lib.rs | 1 + ethcore/src/miner/mod.rs | 1 - ethcore/src/miner/pool_client.rs | 2 +- miner/Cargo.toml | 4 +++ .../res/contracts/service_transaction.json | 0 miner/src/lib.rs | 7 ++++ .../src}/service_transaction_checker.rs | 3 +- 16 files changed, 113 insertions(+), 21 deletions(-) create mode 100644 ethcore/call-contract/Cargo.toml create mode 100644 ethcore/call-contract/src/call_contract.rs create mode 100644 ethcore/call-contract/src/lib.rs rename {ethcore => miner}/res/contracts/service_transaction.json (100%) rename {ethcore/src/miner => miner/src}/service_transaction_checker.rs (96%) diff --git a/Cargo.lock b/Cargo.lock index 8544d62ce48..240ceaf2bcb 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -695,6 +695,7 @@ dependencies = [ "ethash 1.12.0", "ethcore-blockchain 0.1.0", "ethcore-bloom-journal 0.1.0", + "ethcore-call-contract 0.1.0", "ethcore-db 0.1.0", "ethcore-io 1.12.0", "ethcore-miner 1.12.0", @@ -784,6 +785,15 @@ dependencies = [ "siphasher 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", ] +[[package]] +name = "ethcore-call-contract" +version = "0.1.0" +dependencies = [ + "common-types 0.1.0", + "ethereum-types 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", + "parity-bytes 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", +] + [[package]] name = "ethcore-db" version = "0.1.0" @@ -879,7 +889,11 @@ dependencies = [ "common-types 0.1.0", "env_logger 0.5.13 (registry+https://github.com/rust-lang/crates.io-index)", "error-chain 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)", + "ethabi 6.1.0 (registry+https://github.com/rust-lang/crates.io-index)", + "ethabi-contract 6.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "ethabi-derive 6.0.2 (registry+https://github.com/rust-lang/crates.io-index)", "ethash 1.12.0", + "ethcore-call-contract 0.1.0", "ethereum-types 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", "ethkey 0.3.0", "fetch 0.1.0", diff --git a/ethcore/Cargo.toml b/ethcore/Cargo.toml index 9a286dcb9b6..538da894c73 100644 --- a/ethcore/Cargo.toml +++ b/ethcore/Cargo.toml @@ -21,6 +21,7 @@ ethabi-derive = "6.0" ethash = { path = "../ethash" } ethcore-blockchain = { path = "./blockchain" } ethcore-bloom-journal = { path = "../util/bloom" } +ethcore-call-contract = { path = "./call-contract" } ethcore-db = { path = "./db" } ethcore-io = { path = "../util/io" } ethcore-miner = { path = "../miner" } diff --git a/ethcore/call-contract/Cargo.toml b/ethcore/call-contract/Cargo.toml new file mode 100644 index 00000000000..068434a1dec --- /dev/null +++ b/ethcore/call-contract/Cargo.toml @@ -0,0 +1,11 @@ +[package] +name = "ethcore-call-contract" +version = "0.1.0" +license = "GPL-3.0" +authors = ["Parity Technologies "] +edition = "2018" + +[dependencies] +types = { path = "../types", package = "common-types" } +ethereum-types = "0.4" +bytes = { version = "0.1", package = "parity-bytes" } diff --git a/ethcore/call-contract/src/call_contract.rs b/ethcore/call-contract/src/call_contract.rs new file mode 100644 index 00000000000..8b042f0833c --- /dev/null +++ b/ethcore/call-contract/src/call_contract.rs @@ -0,0 +1,33 @@ +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. + +// Parity Ethereum is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. + +// Parity Ethereum is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. + +// You should have received a copy of the GNU General Public License +// along with Parity Ethereum. If not, see . + +//! Provides CallContract and RegistryInfo traits + +use bytes::Bytes; +use ethereum_types::Address; +use types::ids::BlockId; + +/// Provides `call_contract` method +pub trait CallContract { + /// Like `call`, but with various defaults. Designed to be used for calling contracts. + fn call_contract(&self, id: BlockId, address: Address, data: Bytes) -> Result; +} + +/// Provides information on a blockchain service and it's registry +pub trait RegistryInfo { + /// Get the address of a particular blockchain service, if available. + fn registry_address(&self, name: String, block: BlockId) -> Option

; +} diff --git a/ethcore/call-contract/src/lib.rs b/ethcore/call-contract/src/lib.rs new file mode 100644 index 00000000000..1cbfb11378e --- /dev/null +++ b/ethcore/call-contract/src/lib.rs @@ -0,0 +1,27 @@ +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. + +// Parity Ethereum is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. + +// Parity Ethereum is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. + +// You should have received a copy of the GNU General Public License +// along with Parity Ethereum. If not, see . + +#![warn(missing_docs)] + +//! Call Contract module +//! +//! This crate exposes traits required to call contracts at particular block. +//! All utilities that depend on on-chain data should use those traits to access it. + +pub mod call_contract; + +// Re-export +pub use self::call_contract::*; diff --git a/ethcore/src/client/client.rs b/ethcore/src/client/client.rs index 52aedc37c79..b8541470b2d 100644 --- a/ethcore/src/client/client.rs +++ b/ethcore/src/client/client.rs @@ -23,6 +23,7 @@ use std::time::{Instant, Duration}; use blockchain::{BlockReceipts, BlockChain, BlockChainDB, BlockProvider, TreeRoute, ImportRoute, TransactionAddress, ExtrasInsert, BlockNumberKey}; use bytes::Bytes; +use call_contract::{CallContract, RegistryInfo}; use ethcore_miner::pool::VerifiedTransaction; use ethereum_types::{H256, Address, U256}; use evm::Schedule; @@ -46,8 +47,8 @@ use vm::{EnvInfo, LastHashes}; use block::{IsBlock, LockedBlock, Drain, ClosedBlock, OpenBlock, enact_verified, SealedBlock}; use client::ancient_import::AncientVerifier; use client::{ - Nonce, Balance, ChainInfo, BlockInfo, CallContract, TransactionInfo, - RegistryInfo, ReopenBlock, PrepareOpenBlock, ScheduleInfo, ImportSealedBlock, + Nonce, Balance, ChainInfo, BlockInfo, TransactionInfo, + ReopenBlock, PrepareOpenBlock, ScheduleInfo, ImportSealedBlock, BroadcastProposalBlock, ImportBlock, StateOrBlock, StateInfo, StateClient, Call, AccountData, BlockChain as BlockChainTrait, BlockProducer, SealedBlockImporter, ClientIoMessage, BlockChainReset diff --git a/ethcore/src/client/mod.rs b/ethcore/src/client/mod.rs index 2d042b87416..ccd0d635523 100644 --- a/ethcore/src/client/mod.rs +++ b/ethcore/src/client/mod.rs @@ -36,9 +36,9 @@ pub use self::io_message::ClientIoMessage; pub use self::test_client::{TestBlockChainClient, EachBlockWith}; pub use self::chain_notify::{ChainNotify, NewBlocks, ChainRoute, ChainRouteType, ChainMessageType}; pub use self::traits::{ - Nonce, Balance, ChainInfo, BlockInfo, ReopenBlock, PrepareOpenBlock, CallContract, TransactionInfo, RegistryInfo, ScheduleInfo, ImportSealedBlock, BroadcastProposalBlock, ImportBlock, - StateOrBlock, StateClient, Call, EngineInfo, AccountData, BlockChain, BlockProducer, SealedBlockImporter, - BadBlocks, BlockChainReset + Nonce, Balance, ChainInfo, BlockInfo, ReopenBlock, PrepareOpenBlock, TransactionInfo, ScheduleInfo, ImportSealedBlock, BroadcastProposalBlock, ImportBlock, + StateOrBlock, StateClient, Call, EngineInfo, AccountData, BlockChain, BlockProducer, SealedBlockImporter, BadBlocks, + BlockChainReset }; pub use state::StateInfo; pub use self::traits::{BlockChainClient, EngineClient, ProvingBlockChainClient, IoClient}; @@ -48,6 +48,9 @@ pub use types::trace_filter::Filter as TraceFilter; pub use types::pruning_info::PruningInfo; pub use types::call_analytics::CallAnalytics; +// TODO: Get rid of re-exports: https://github.com/paritytech/parity-ethereum/issues/10130 +pub use call_contract::{CallContract, RegistryInfo}; + pub use executive::{Executed, Executive, TransactOptions}; pub use vm::{LastHashes, EnvInfo}; diff --git a/ethcore/src/client/test_client.rs b/ethcore/src/client/test_client.rs index 1ca826097f0..5236f7cd409 100644 --- a/ethcore/src/client/test_client.rs +++ b/ethcore/src/client/test_client.rs @@ -49,8 +49,9 @@ use types::views::BlockView; use vm::Schedule; use block::{OpenBlock, SealedBlock, ClosedBlock}; +use call_contract::{CallContract, RegistryInfo}; use client::{ - Nonce, Balance, ChainInfo, BlockInfo, ReopenBlock, CallContract, TransactionInfo, RegistryInfo, + Nonce, Balance, ChainInfo, BlockInfo, ReopenBlock, TransactionInfo, PrepareOpenBlock, BlockChainClient, BlockChainInfo, BlockStatus, BlockId, Mode, TransactionId, UncleId, TraceId, TraceFilter, LastHashes, CallAnalytics, ProvingBlockChainClient, ScheduleInfo, ImportSealedBlock, BroadcastProposalBlock, ImportBlock, StateOrBlock, diff --git a/ethcore/src/client/traits.rs b/ethcore/src/client/traits.rs index 03f3b096948..2bc7026220d 100644 --- a/ethcore/src/client/traits.rs +++ b/ethcore/src/client/traits.rs @@ -19,6 +19,7 @@ use std::sync::Arc; use blockchain::{BlockReceipts, TreeRoute}; use bytes::Bytes; +use call_contract::{CallContract, RegistryInfo}; use ethcore_miner::pool::VerifiedTransaction; use ethereum_types::{H256, U256, Address}; use evm::Schedule; @@ -157,12 +158,6 @@ pub trait StateClient { /// Provides various blockchain information, like block header, chain state etc. pub trait BlockChain: ChainInfo + BlockInfo + TransactionInfo {} -/// Provides information on a blockchain service and it's registry -pub trait RegistryInfo { - /// Get the address of a particular blockchain service, if available. - fn registry_address(&self, name: String, block: BlockId) -> Option
; -} - // FIXME Why these methods belong to BlockChainClient and not MiningBlockChainClient? /// Provides methods to import block into blockchain pub trait ImportBlock { @@ -170,12 +165,6 @@ pub trait ImportBlock { fn import_block(&self, block: Unverified) -> EthcoreResult; } -/// Provides `call_contract` method -pub trait CallContract { - /// Like `call`, but with various defaults. Designed to be used for calling contracts. - fn call_contract(&self, id: BlockId, address: Address, data: Bytes) -> Result; -} - /// Provides `call` and `call_many` methods pub trait Call { /// Type representing chain state diff --git a/ethcore/src/lib.rs b/ethcore/src/lib.rs index 73fdb64fde9..8d7a52e4033 100644 --- a/ethcore/src/lib.rs +++ b/ethcore/src/lib.rs @@ -60,6 +60,7 @@ extern crate ansi_term; extern crate bn; extern crate byteorder; +extern crate ethcore_call_contract as call_contract; extern crate common_types as types; extern crate crossbeam; extern crate ethabi; diff --git a/ethcore/src/miner/mod.rs b/ethcore/src/miner/mod.rs index 2696306e71d..399d66b5459 100644 --- a/ethcore/src/miner/mod.rs +++ b/ethcore/src/miner/mod.rs @@ -20,7 +20,6 @@ //! Keeps track of transactions and currently sealed pending block. mod miner; -mod service_transaction_checker; pub mod pool_client; #[cfg(feature = "stratum")] diff --git a/ethcore/src/miner/pool_client.rs b/ethcore/src/miner/pool_client.rs index e748d9bc201..1bccc04f106 100644 --- a/ethcore/src/miner/pool_client.rs +++ b/ethcore/src/miner/pool_client.rs @@ -25,6 +25,7 @@ use std::{ use ethereum_types::{H256, U256, Address}; use ethcore_miner::pool; use ethcore_miner::pool::client::NonceClient; +use ethcore_miner::service_transaction_checker::ServiceTransactionChecker; use types::transaction::{ self, UnverifiedTransaction, @@ -37,7 +38,6 @@ use account_provider::AccountProvider; use client::{TransactionId, BlockInfo, CallContract, Nonce}; use engines::EthEngine; use miner; -use miner::service_transaction_checker::ServiceTransactionChecker; use transaction_ext::Transaction; /// Cache for state nonces. diff --git a/miner/Cargo.toml b/miner/Cargo.toml index d37ed692c73..02e64ad4f8d 100644 --- a/miner/Cargo.toml +++ b/miner/Cargo.toml @@ -17,6 +17,10 @@ url = { version = "1", optional = true } ansi_term = "0.10" common-types = { path = "../ethcore/types" } error-chain = "0.12" +ethabi = "6.0" +ethabi-derive = "6.0" +ethabi-contract = "6.0" +ethcore-call-contract = { path = "../ethcore/call-contract" } ethereum-types = "0.4" futures = "0.1" heapsize = "0.4" diff --git a/ethcore/res/contracts/service_transaction.json b/miner/res/contracts/service_transaction.json similarity index 100% rename from ethcore/res/contracts/service_transaction.json rename to miner/res/contracts/service_transaction.json diff --git a/miner/src/lib.rs b/miner/src/lib.rs index 3b2513f678e..921e6dbaadc 100644 --- a/miner/src/lib.rs +++ b/miner/src/lib.rs @@ -21,6 +21,8 @@ extern crate ansi_term; extern crate common_types as types; +extern crate ethabi; +extern crate ethcore_call_contract as call_contract; extern crate ethereum_types; extern crate futures; extern crate heapsize; @@ -33,6 +35,10 @@ extern crate price_info; extern crate rlp; extern crate transaction_pool as txpool; +#[macro_use] +extern crate ethabi_contract; +#[macro_use] +extern crate ethabi_derive; #[macro_use] extern crate error_chain; #[macro_use] @@ -52,5 +58,6 @@ pub mod external; pub mod gas_price_calibrator; pub mod gas_pricer; pub mod pool; +pub mod service_transaction_checker; #[cfg(feature = "work-notify")] pub mod work_notify; diff --git a/ethcore/src/miner/service_transaction_checker.rs b/miner/src/service_transaction_checker.rs similarity index 96% rename from ethcore/src/miner/service_transaction_checker.rs rename to miner/src/service_transaction_checker.rs index 8d4c461cea2..17776f1569e 100644 --- a/ethcore/src/miner/service_transaction_checker.rs +++ b/miner/src/service_transaction_checker.rs @@ -16,7 +16,8 @@ //! A service transactions contract checker. -use client::{RegistryInfo, CallContract, BlockId}; +use call_contract::{CallContract, RegistryInfo}; +use types::ids::BlockId; use types::transaction::SignedTransaction; use ethabi::FunctionOutputDecoder; From 2a7ed457dc0ee335eae66403e1a95131a5ce690a Mon Sep 17 00:00:00 2001 From: Hernando Castano Date: Thu, 17 Jan 2019 16:43:08 +0100 Subject: [PATCH 48/68] Remove CallContract and RegistryInfo re-exports from `ethcore/client` (#10205) * Remove re-export of `CallContract` and `RegistryInfo` from `ethcore/client` * Remove CallContract and RegistryInfo re-exports again This was missed while fixing merge conflicts --- Cargo.lock | 3 +++ Cargo.toml | 1 + ethcore/private-tx/Cargo.toml | 1 + ethcore/private-tx/src/lib.rs | 4 +++- ethcore/src/client/mod.rs | 3 --- ethcore/src/engines/validator_set/contract.rs | 3 ++- ethcore/src/lib.rs | 2 +- ethcore/src/machine.rs | 3 ++- ethcore/src/miner/miner.rs | 3 ++- ethcore/src/miner/mod.rs | 3 ++- ethcore/src/miner/pool_client.rs | 3 ++- ethcore/src/tx_filter.rs | 3 ++- ethcore/src/verification/canon_verifier.rs | 3 ++- ethcore/src/verification/mod.rs | 3 ++- ethcore/src/verification/noop_verifier.rs | 3 ++- ethcore/src/verification/verification.rs | 3 ++- ethcore/src/verification/verifier.rs | 3 ++- parity/lib.rs | 3 ++- parity/run.rs | 3 ++- secret-store/Cargo.toml | 1 + secret-store/src/acl_storage.rs | 3 ++- secret-store/src/key_server_set.rs | 3 ++- secret-store/src/lib.rs | 1 + secret-store/src/listener/service_contract.rs | 3 ++- secret-store/src/trusted_client.rs | 3 ++- 25 files changed, 45 insertions(+), 22 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 240ceaf2bcb..d4f3f452100 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -976,6 +976,7 @@ dependencies = [ "ethabi-contract 6.0.0 (registry+https://github.com/rust-lang/crates.io-index)", "ethabi-derive 6.0.2 (registry+https://github.com/rust-lang/crates.io-index)", "ethcore 1.12.0", + "ethcore-call-contract 0.1.0", "ethcore-io 1.12.0", "ethcore-miner 1.12.0", "ethereum-types 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -1014,6 +1015,7 @@ dependencies = [ "ethabi-contract 6.0.0 (registry+https://github.com/rust-lang/crates.io-index)", "ethabi-derive 6.0.2 (registry+https://github.com/rust-lang/crates.io-index)", "ethcore 1.12.0", + "ethcore-call-contract 0.1.0", "ethcore-sync 1.12.0", "ethereum-types 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", "ethkey 0.3.0", @@ -2408,6 +2410,7 @@ dependencies = [ "docopt 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", "ethcore 1.12.0", "ethcore-blockchain 0.1.0", + "ethcore-call-contract 0.1.0", "ethcore-db 0.1.0", "ethcore-io 1.12.0", "ethcore-light 1.12.0", diff --git a/Cargo.toml b/Cargo.toml index 5e956003571..c5c73dc52fb 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -34,6 +34,7 @@ ethcore = { path = "ethcore", features = ["parity"] } parity-bytes = "0.1" common-types = { path = "ethcore/types" } ethcore-blockchain = { path = "ethcore/blockchain" } +ethcore-call-contract = { path = "ethcore/call-contract"} ethcore-db = { path = "ethcore/db" } ethcore-io = { path = "util/io" } ethcore-light = { path = "ethcore/light" } diff --git a/ethcore/private-tx/Cargo.toml b/ethcore/private-tx/Cargo.toml index 1dd328e11cb..5151deee448 100644 --- a/ethcore/private-tx/Cargo.toml +++ b/ethcore/private-tx/Cargo.toml @@ -12,6 +12,7 @@ ethabi = "6.0" ethabi-contract = "6.0" ethabi-derive = "6.0" ethcore = { path = ".." } +ethcore-call-contract = { path = "../call-contract" } ethcore-io = { path = "../../util/io" } ethcore-miner = { path = "../../miner" } ethereum-types = "0.4" diff --git a/ethcore/private-tx/src/lib.rs b/ethcore/private-tx/src/lib.rs index f55a30334a1..3ab39d9e4ea 100644 --- a/ethcore/private-tx/src/lib.rs +++ b/ethcore/private-tx/src/lib.rs @@ -28,6 +28,7 @@ mod error; extern crate common_types as types; extern crate ethabi; extern crate ethcore; +extern crate ethcore_call_contract as call_contract; extern crate ethcore_io as io; extern crate ethcore_miner; extern crate ethereum_types; @@ -82,11 +83,12 @@ use types::transaction::{SignedTransaction, Transaction, Action, UnverifiedTrans use ethcore::{contract_address as ethcore_contract_address}; use ethcore::client::{ Client, ChainNotify, NewBlocks, ChainMessageType, ClientIoMessage, BlockId, - CallContract, Call, BlockInfo + Call, BlockInfo }; use ethcore::account_provider::AccountProvider; use ethcore::miner::{self, Miner, MinerService, pool_client::NonceCache}; use ethcore::trace::{Tracer, VMTracer}; +use call_contract::CallContract; use rustc_hex::FromHex; use ethkey::Password; use ethabi::FunctionOutputDecoder; diff --git a/ethcore/src/client/mod.rs b/ethcore/src/client/mod.rs index ccd0d635523..d501ba21fe6 100644 --- a/ethcore/src/client/mod.rs +++ b/ethcore/src/client/mod.rs @@ -48,9 +48,6 @@ pub use types::trace_filter::Filter as TraceFilter; pub use types::pruning_info::PruningInfo; pub use types::call_analytics::CallAnalytics; -// TODO: Get rid of re-exports: https://github.com/paritytech/parity-ethereum/issues/10130 -pub use call_contract::{CallContract, RegistryInfo}; - pub use executive::{Executed, Executive, TransactOptions}; pub use vm::{LastHashes, EnvInfo}; diff --git a/ethcore/src/engines/validator_set/contract.rs b/ethcore/src/engines/validator_set/contract.rs index 714a092d7e5..b13ebdd105d 100644 --- a/ethcore/src/engines/validator_set/contract.rs +++ b/ethcore/src/engines/validator_set/contract.rs @@ -145,7 +145,8 @@ mod tests { use miner::MinerService; use types::ids::BlockId; use test_helpers::generate_dummy_client_with_spec_and_accounts; - use client::{BlockChainClient, ChainInfo, BlockInfo, CallContract}; + use call_contract::CallContract; + use client::{BlockChainClient, ChainInfo, BlockInfo}; use super::super::ValidatorSet; use super::ValidatorContract; diff --git a/ethcore/src/lib.rs b/ethcore/src/lib.rs index 8d7a52e4033..3da2eb95217 100644 --- a/ethcore/src/lib.rs +++ b/ethcore/src/lib.rs @@ -60,13 +60,13 @@ extern crate ansi_term; extern crate bn; extern crate byteorder; -extern crate ethcore_call_contract as call_contract; extern crate common_types as types; extern crate crossbeam; extern crate ethabi; extern crate ethash; extern crate ethcore_blockchain as blockchain; extern crate ethcore_bloom_journal as bloom_journal; +extern crate ethcore_call_contract as call_contract; extern crate ethcore_db as db; extern crate ethcore_io as io; extern crate ethcore_miner; diff --git a/ethcore/src/machine.rs b/ethcore/src/machine.rs index 873262d5dc9..a14cb3bd296 100644 --- a/ethcore/src/machine.rs +++ b/ethcore/src/machine.rs @@ -30,7 +30,8 @@ use vm::{EnvInfo, Schedule, CreateContractAddress}; use block::{ExecutedBlock, IsBlock}; use builtin::Builtin; -use client::{BlockInfo, CallContract}; +use call_contract::CallContract; +use client::BlockInfo; use error::Error; use executive::Executive; use spec::CommonParams; diff --git a/ethcore/src/miner/miner.rs b/ethcore/src/miner/miner.rs index d30c5a67d04..998ce628041 100644 --- a/ethcore/src/miner/miner.rs +++ b/ethcore/src/miner/miner.rs @@ -21,6 +21,7 @@ use std::sync::Arc; use ansi_term::Colour; use bytes::Bytes; +use call_contract::CallContract; use ethcore_miner::gas_pricer::GasPricer; use ethcore_miner::pool::{self, TransactionQueue, VerifiedTransaction, QueueStatus, PrioritizationStrategy}; #[cfg(feature = "work-notify")] @@ -48,7 +49,7 @@ use using_queue::{UsingQueue, GetAction}; use account_provider::{AccountProvider, SignError as AccountError}; use block::{ClosedBlock, IsBlock, SealedBlock}; use client::{ - BlockChain, ChainInfo, CallContract, BlockProducer, SealedBlockImporter, Nonce, TransactionInfo, TransactionId + BlockChain, ChainInfo, BlockProducer, SealedBlockImporter, Nonce, TransactionInfo, TransactionId }; use client::{BlockId, ClientIoMessage}; use engines::{EthEngine, Seal}; diff --git a/ethcore/src/miner/mod.rs b/ethcore/src/miner/mod.rs index 399d66b5459..4f5ba4c1f84 100644 --- a/ethcore/src/miner/mod.rs +++ b/ethcore/src/miner/mod.rs @@ -42,8 +42,9 @@ use types::header::Header; use types::receipt::RichReceipt; use block::SealedBlock; +use call_contract::{CallContract, RegistryInfo}; use client::{ - CallContract, RegistryInfo, ScheduleInfo, + ScheduleInfo, BlockChain, BlockProducer, SealedBlockImporter, ChainInfo, AccountData, Nonce, }; diff --git a/ethcore/src/miner/pool_client.rs b/ethcore/src/miner/pool_client.rs index 1bccc04f106..a75454a3fd5 100644 --- a/ethcore/src/miner/pool_client.rs +++ b/ethcore/src/miner/pool_client.rs @@ -35,7 +35,8 @@ use types::header::Header; use parking_lot::RwLock; use account_provider::AccountProvider; -use client::{TransactionId, BlockInfo, CallContract, Nonce}; +use call_contract::CallContract; +use client::{TransactionId, BlockInfo, Nonce}; use engines::EthEngine; use miner; use transaction_ext::Transaction; diff --git a/ethcore/src/tx_filter.rs b/ethcore/src/tx_filter.rs index 403e4f7bcbe..3f32ab365a8 100644 --- a/ethcore/src/tx_filter.rs +++ b/ethcore/src/tx_filter.rs @@ -20,7 +20,8 @@ use ethereum_types::{H256, U256, Address}; use lru_cache::LruCache; use ethabi::FunctionOutputDecoder; -use client::{BlockInfo, CallContract, BlockId}; +use call_contract::CallContract; +use client::{BlockInfo, BlockId}; use parking_lot::Mutex; use spec::CommonParams; use types::transaction::{Action, SignedTransaction}; diff --git a/ethcore/src/verification/canon_verifier.rs b/ethcore/src/verification/canon_verifier.rs index 4a8ed111c96..03a1c7155f8 100644 --- a/ethcore/src/verification/canon_verifier.rs +++ b/ethcore/src/verification/canon_verifier.rs @@ -16,7 +16,8 @@ //! Canonical verifier. -use client::{BlockInfo, CallContract}; +use call_contract::CallContract; +use client::BlockInfo; use engines::EthEngine; use error::Error; use types::header::Header; diff --git a/ethcore/src/verification/mod.rs b/ethcore/src/verification/mod.rs index acffb8c0a54..5546bd60c91 100644 --- a/ethcore/src/verification/mod.rs +++ b/ethcore/src/verification/mod.rs @@ -28,7 +28,8 @@ pub use self::canon_verifier::CanonVerifier; pub use self::noop_verifier::NoopVerifier; pub use self::queue::{BlockQueue, Config as QueueConfig, VerificationQueue, QueueInfo}; -use client::{BlockInfo, CallContract}; +use call_contract::CallContract; +use client::BlockInfo; /// Verifier type. #[derive(Debug, PartialEq, Clone)] diff --git a/ethcore/src/verification/noop_verifier.rs b/ethcore/src/verification/noop_verifier.rs index 727e99a66c0..d68f1eb8856 100644 --- a/ethcore/src/verification/noop_verifier.rs +++ b/ethcore/src/verification/noop_verifier.rs @@ -16,7 +16,8 @@ //! No-op verifier. -use client::{BlockInfo, CallContract}; +use call_contract::CallContract; +use client::BlockInfo; use engines::EthEngine; use error::Error; use types::header::Header; diff --git a/ethcore/src/verification/verification.rs b/ethcore/src/verification/verification.rs index 31eb9dfa685..827b7143913 100644 --- a/ethcore/src/verification/verification.rs +++ b/ethcore/src/verification/verification.rs @@ -32,7 +32,8 @@ use triehash::ordered_trie_root; use unexpected::{Mismatch, OutOfBounds}; use blockchain::*; -use client::{BlockInfo, CallContract}; +use call_contract::CallContract; +use client::BlockInfo; use engines::EthEngine; use error::{BlockError, Error}; use types::{BlockNumber, header::Header}; diff --git a/ethcore/src/verification/verifier.rs b/ethcore/src/verification/verifier.rs index a1a5d32bc95..76eb60b9a18 100644 --- a/ethcore/src/verification/verifier.rs +++ b/ethcore/src/verification/verifier.rs @@ -16,7 +16,8 @@ //! A generic verifier trait. -use client::{BlockInfo, CallContract}; +use call_contract::CallContract; +use client::BlockInfo; use engines::EthEngine; use error::Error; use types::header::Header; diff --git a/parity/lib.rs b/parity/lib.rs index 14ec8f98ed2..b96995910c3 100644 --- a/parity/lib.rs +++ b/parity/lib.rs @@ -43,8 +43,9 @@ extern crate toml; extern crate blooms_db; extern crate cli_signer; extern crate common_types as types; -extern crate ethcore; extern crate parity_bytes as bytes; +extern crate ethcore; +extern crate ethcore_call_contract as call_contract; extern crate ethcore_db; extern crate ethcore_io as io; extern crate ethcore_light as light; diff --git a/parity/run.rs b/parity/run.rs index 6c53e675cd1..03dbe447f37 100644 --- a/parity/run.rs +++ b/parity/run.rs @@ -21,8 +21,9 @@ use std::thread; use ansi_term::Colour; use bytes::Bytes; +use call_contract::CallContract; use ethcore::account_provider::{AccountProvider, AccountProviderSettings}; -use ethcore::client::{BlockId, CallContract, Client, Mode, DatabaseCompactionProfile, VMType, BlockChainClient, BlockInfo}; +use ethcore::client::{BlockId, Client, Mode, DatabaseCompactionProfile, VMType, BlockChainClient, BlockInfo}; use ethstore::ethkey; use ethcore::miner::{stratum, Miner, MinerService, MinerOptions}; use ethcore::snapshot::{self, SnapshotConfiguration}; diff --git a/secret-store/Cargo.toml b/secret-store/Cargo.toml index 8d41d48a87a..016028a0bf0 100644 --- a/secret-store/Cargo.toml +++ b/secret-store/Cargo.toml @@ -8,6 +8,7 @@ authors = ["Parity Technologies "] [dependencies] byteorder = "1.0" common-types = { path = "../ethcore/types" } +ethcore-call-contract = { path = "../ethcore/call-contract" } log = "0.4" parking_lot = "0.7" hyper = { version = "0.12", default-features = false } diff --git a/secret-store/src/acl_storage.rs b/secret-store/src/acl_storage.rs index 98eab5d932c..8c6656b1084 100644 --- a/secret-store/src/acl_storage.rs +++ b/secret-store/src/acl_storage.rs @@ -17,7 +17,8 @@ use std::sync::Arc; use std::collections::{HashMap, HashSet}; use parking_lot::{Mutex, RwLock}; -use ethcore::client::{BlockId, ChainNotify, NewBlocks, CallContract}; +use call_contract::CallContract; +use ethcore::client::{BlockId, ChainNotify, NewBlocks}; use ethereum_types::Address; use ethabi::FunctionOutputDecoder; use trusted_client::TrustedClient; diff --git a/secret-store/src/key_server_set.rs b/secret-store/src/key_server_set.rs index 50036d04d5d..5b25641aeec 100644 --- a/secret-store/src/key_server_set.rs +++ b/secret-store/src/key_server_set.rs @@ -18,8 +18,9 @@ use std::sync::Arc; use std::net::SocketAddr; use std::collections::{BTreeMap, HashSet}; use parking_lot::Mutex; +use call_contract::CallContract; use ethabi::FunctionOutputDecoder; -use ethcore::client::{Client, BlockChainClient, BlockId, ChainNotify, NewBlocks, CallContract}; +use ethcore::client::{Client, BlockChainClient, BlockId, ChainNotify, NewBlocks}; use ethereum_types::{H256, Address}; use ethkey::public_to_address; use bytes::Bytes; diff --git a/secret-store/src/lib.rs b/secret-store/src/lib.rs index 76ae09ffb34..915cec52889 100644 --- a/secret-store/src/lib.rs +++ b/secret-store/src/lib.rs @@ -18,6 +18,7 @@ extern crate byteorder; extern crate common_types; extern crate ethabi; extern crate ethcore; +extern crate ethcore_call_contract as call_contract; extern crate ethcore_sync as sync; extern crate ethereum_types; extern crate ethkey; diff --git a/secret-store/src/listener/service_contract.rs b/secret-store/src/listener/service_contract.rs index 47bb996e358..795e75d2c6d 100644 --- a/secret-store/src/listener/service_contract.rs +++ b/secret-store/src/listener/service_contract.rs @@ -19,7 +19,8 @@ use parking_lot::RwLock; use common_types::filter::Filter; use ethabi::RawLog; use ethabi::FunctionOutputDecoder; -use ethcore::client::{Client, BlockChainClient, BlockId, CallContract}; +use call_contract::CallContract; +use ethcore::client::{Client, BlockChainClient, BlockId}; use ethkey::{Public, public_to_address}; use hash::keccak; use bytes::Bytes; diff --git a/secret-store/src/trusted_client.rs b/secret-store/src/trusted_client.rs index d66e7f43dab..a20373ad0d0 100644 --- a/secret-store/src/trusted_client.rs +++ b/secret-store/src/trusted_client.rs @@ -16,9 +16,10 @@ use std::sync::{Arc, Weak}; use bytes::Bytes; +use call_contract::RegistryInfo; use common_types::transaction::{Transaction, SignedTransaction, Action}; use ethereum_types::Address; -use ethcore::client::{Client, BlockChainClient, ChainInfo, Nonce, BlockId, RegistryInfo}; +use ethcore::client::{Client, BlockChainClient, ChainInfo, Nonce, BlockId}; use ethcore::miner::{Miner, MinerService}; use sync::SyncProvider; use helpers::{get_confirmed_block_hash, REQUEST_CONFIRMATIONS_REQUIRED}; From 460681ead915ab70979578c474a8c54d184c526c Mon Sep 17 00:00:00 2001 From: "Denis S. Soldatov aka General-Beck" Date: Fri, 18 Jan 2019 14:03:18 +0300 Subject: [PATCH 49/68] perform stripping during build (#10208) * perform stripping during build * var RUSTFLAGS --- scripts/gitlab/build-unix.sh | 12 ++---------- 1 file changed, 2 insertions(+), 10 deletions(-) diff --git a/scripts/gitlab/build-unix.sh b/scripts/gitlab/build-unix.sh index 9bb6cd0f3f2..57c6c858583 100755 --- a/scripts/gitlab/build-unix.sh +++ b/scripts/gitlab/build-unix.sh @@ -9,6 +9,8 @@ echo "CARGO_HOME: " $CARGO_HOME echo "CARGO_TARGET: " $CARGO_TARGET echo "CC: " $CC echo "CXX: " $CXX +#strip ON +export RUSTFLAGS=" -C link-arg=-s" echo "_____ Building target: "$CARGO_TARGET" _____" if [ "${CARGO_TARGET}" = "armv7-linux-androideabi" ] @@ -41,16 +43,6 @@ else cp -v ../../target/$CARGO_TARGET/release/whisper ./whisper fi - -# stripping can also be done on release build time -# export RUSTFLAGS="${RUSTFLAGS} -C link-arg=-s" -if [ "${CARGO_TARGET}" = "armv7-linux-androideabi" ] -then - arm-linux-androideabi-strip -v ./* -else - strip -v ./* -fi - echo "_____ Calculating checksums _____" for binary in $(ls) do From 708e495c2870cdad74f2d67f3f67f14a4251a160 Mon Sep 17 00:00:00 2001 From: Bryant Eisenbach Date: Fri, 18 Jan 2019 08:00:13 -0500 Subject: [PATCH 50/68] Happy New Year! (#10211) * Happy New Year! * Happy New Year! * Update README.md --- parity/cli/usage_header.txt | 2 +- parity/cli/version.txt | 2 +- whisper/README.md | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/parity/cli/usage_header.txt b/parity/cli/usage_header.txt index 82a6d58b245..eaf88670013 100644 --- a/parity/cli/usage_header.txt +++ b/parity/cli/usage_header.txt @@ -1,3 +1,3 @@ Parity Ethereum Client. By Wood/Paronyan/Kotewicz/Drwięga/Volf et al. - Copyright 2015-2018 Parity Technologies (UK) Ltd. + Copyright 2015-2019 Parity Technologies (UK) Ltd. diff --git a/parity/cli/version.txt b/parity/cli/version.txt index 480fe5469ca..85ef190f124 100644 --- a/parity/cli/version.txt +++ b/parity/cli/version.txt @@ -1,6 +1,6 @@ Parity Ethereum version {} -Copyright 2015-2018 Parity Technologies (UK) Ltd. +Copyright 2015-2019 Parity Technologies (UK) Ltd. License GPLv3+: GNU GPL version 3 or later . This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. diff --git a/whisper/README.md b/whisper/README.md index 8dafc48af72..dc449568aa7 100644 --- a/whisper/README.md +++ b/whisper/README.md @@ -6,7 +6,7 @@ Implementation of Whisper based on the Whisper-v2 PoC. ``` Parity Whisper-v2 CLI. - Copyright 2015-2018 Parity Technologies (UK) Ltd. + Copyright 2015-2019 Parity Technologies (UK) Ltd. Usage: whisper [options] From 940a88fa4e8fd9f51998d6eb88907547636eaf79 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michael=20M=C3=BCller?= Date: Mon, 21 Jan 2019 11:30:24 +0100 Subject: [PATCH 51/68] Echo CORS request headers by default (#10221) * Echo CORS request headers by default More details in https://github.com/paritytech/parity-ethereum/issues/6616. * fixup: Single line --- ethcore/res/ethereum/tests | 2 +- rpc/src/lib.rs | 4 +++- rpc/src/tests/rpc.rs | 27 +++++++++++++++++++++++++++ 3 files changed, 31 insertions(+), 2 deletions(-) diff --git a/ethcore/res/ethereum/tests b/ethcore/res/ethereum/tests index 420f443477c..2cd62aeec11 160000 --- a/ethcore/res/ethereum/tests +++ b/ethcore/res/ethereum/tests @@ -1 +1 @@ -Subproject commit 420f443477caa8516f1f9ee8122fafc3415c0f34 +Subproject commit 2cd62aeec11da29766b30d500f2b9a96f1f28cf0 diff --git a/rpc/src/lib.rs b/rpc/src/lib.rs index 001343d6494..2de2f0542c9 100644 --- a/rpc/src/lib.rs +++ b/rpc/src/lib.rs @@ -114,7 +114,7 @@ pub use ipc::{Server as IpcServer, MetaExtractor as IpcMetaExtractor, RequestCon pub use http::{ hyper, RequestMiddleware, RequestMiddlewareAction, - AccessControlAllowOrigin, Host, DomainsValidation + AccessControlAllowOrigin, Host, DomainsValidation, cors::AccessControlAllowHeaders }; pub use v1::{NetworkSettings, Metadata, Origin, informant, dispatch, signer}; @@ -151,6 +151,7 @@ pub fn start_http( .cors(cors_domains.into()) .allowed_hosts(allowed_hosts.into()) .health_api(("/api/health", "parity_nodeStatus")) + .cors_allow_headers(AccessControlAllowHeaders::Any) .max_request_body_size(max_payload * 1024 * 1024) .start_http(addr)?) } @@ -180,6 +181,7 @@ pub fn start_http_with_middleware( .threads(threads) .cors(cors_domains.into()) .allowed_hosts(allowed_hosts.into()) + .cors_allow_headers(AccessControlAllowHeaders::Any) .max_request_body_size(max_payload * 1024 * 1024) .request_middleware(middleware) .start_http(addr)?) diff --git a/rpc/src/tests/rpc.rs b/rpc/src/tests/rpc.rs index 761ccc4e1f3..99498c3e5d4 100644 --- a/rpc/src/tests/rpc.rs +++ b/rpc/src/tests/rpc.rs @@ -116,4 +116,31 @@ mod tests { res.assert_status("HTTP/1.1 200 OK"); assert_eq!(res.body, expected); } + + #[test] + fn should_respond_valid_to_any_requested_header() { + // given + let (server, address) = serve(); + let headers = "Something, Anything, Xyz, 123, _?"; + + // when + let res = request(server, + &format!("\ + OPTIONS / HTTP/1.1\r\n\ + Host: {}\r\n\ + Origin: http://parity.io\r\n\ + Content-Length: 0\r\n\ + Content-Type: application/json\r\n\ + Connection: close\r\n\ + Access-Control-Request-Headers: {}\r\n\ + \r\n\ + ", address, headers) + ); + + // then + assert_eq!(res.status, "HTTP/1.1 200 OK".to_owned()); + let expected = format!("access-control-allow-headers: {}", headers); + assert!(res.headers.contains(&expected), "Headers missing in {:?}", res.headers); + } + } From fb07ffa6760550c524ceaeb4efc9c79487defe05 Mon Sep 17 00:00:00 2001 From: Wei Tang Date: Mon, 21 Jan 2019 12:22:29 +0100 Subject: [PATCH 52/68] Add EIP-1283 disable transition (#10214) --- ethcore/src/spec/spec.rs | 8 +++++++- json/src/spec/params.rs | 3 +++ 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/ethcore/src/spec/spec.rs b/ethcore/src/spec/spec.rs index 9d67bf2c151..517b69e7519 100644 --- a/ethcore/src/spec/spec.rs +++ b/ethcore/src/spec/spec.rs @@ -121,6 +121,8 @@ pub struct CommonParams { pub eip1052_transition: BlockNumber, /// Number of first block where EIP-1283 rules begin. pub eip1283_transition: BlockNumber, + /// Number of first block where EIP-1283 rules end. + pub eip1283_disable_transition: BlockNumber, /// Number of first block where EIP-1014 rules begin. pub eip1014_transition: BlockNumber, /// Number of first block where dust cleanup rules (EIP-168 and EIP169) begin. @@ -189,7 +191,7 @@ impl CommonParams { schedule.have_return_data = block_number >= self.eip211_transition; schedule.have_bitwise_shifting = block_number >= self.eip145_transition; schedule.have_extcodehash = block_number >= self.eip1052_transition; - schedule.eip1283 = block_number >= self.eip1283_transition; + schedule.eip1283 = block_number >= self.eip1283_transition && !(block_number >= self.eip1283_disable_transition); if block_number >= self.eip210_transition { schedule.blockhash_gas = 800; } @@ -300,6 +302,10 @@ impl From for CommonParams { BlockNumber::max_value, Into::into, ), + eip1283_disable_transition: p.eip1283_disable_transition.map_or_else( + BlockNumber::max_value, + Into::into, + ), eip1014_transition: p.eip1014_transition.map_or_else( BlockNumber::max_value, Into::into, diff --git a/json/src/spec/params.rs b/json/src/spec/params.rs index d64f429bf88..765384a6b91 100644 --- a/json/src/spec/params.rs +++ b/json/src/spec/params.rs @@ -89,6 +89,9 @@ pub struct Params { pub eip1052_transition: Option, /// See `CommonParams` docs. pub eip1283_transition: Option, + /// See `CommonParams` docs. + pub eip1283_disable_transition: Option, + /// See `CommonParams` docs. pub eip1014_transition: Option, /// See `CommonParams` docs. pub dust_protection_transition: Option, From a9a278a6e146895cf03387f8db89c25cc031c3c2 Mon Sep 17 00:00:00 2001 From: Afri Schoedon <5chdn@users.noreply.github.com> Date: Mon, 21 Jan 2019 22:55:44 +0100 Subject: [PATCH 53/68] Enable St-Peters-Fork ("Constantinople Fix") (#10223) * ethcore: disable eip-1283 on kovan block 10255201 * ethcore: disable eip-1283 on ropsten block 4939394 * ethcore: enable st-peters-fork on mainnet block 7280000 * ethcore: fix kovan chain spec * version: update fork blocks * ethcore: disable eip-1283 on sokol block 7026400 --- ethcore/res/ethereum/foundation.json | 11 ++++++++--- ethcore/res/ethereum/kovan.json | 1 + ethcore/res/ethereum/poasokol.json | 3 ++- ethcore/res/ethereum/ropsten.json | 3 ++- util/version/Cargo.toml | 6 +++--- 5 files changed, 16 insertions(+), 8 deletions(-) diff --git a/ethcore/res/ethereum/foundation.json b/ethcore/res/ethereum/foundation.json index 69f150fad61..061c435705a 100644 --- a/ethcore/res/ethereum/foundation.json +++ b/ethcore/res/ethereum/foundation.json @@ -9,7 +9,8 @@ "durationLimit": "0xd", "blockReward": { "0x0": "0x4563918244f40000", - "0x42ae50": "0x29a2241af62c0000" + "0x42ae50": "0x29a2241af62c0000", + "0x6f1580": "0x1bc16d674ec80000" }, "homesteadTransition": "0x118c30", "daoHardforkTransition": "0x1d4c00", @@ -134,7 +135,8 @@ ], "eip100bTransition": "0x42ae50", "difficultyBombDelays": { - "0x42ae50": "0x2dc6c0" + "0x42ae50": "0x2dc6c0", + "0x6f1580": "0x1e8480" } } } @@ -158,7 +160,10 @@ "eip140Transition": "0x42ae50", "eip211Transition": "0x42ae50", "eip214Transition": "0x42ae50", - "eip658Transition": "0x42ae50" + "eip658Transition": "0x42ae50", + "eip145Transition": "0x6f1580", + "eip1014Transition": "0x6f1580", + "eip1052Transition": "0x6f1580" }, "genesis": { "seal": { diff --git a/ethcore/res/ethereum/kovan.json b/ethcore/res/ethereum/kovan.json index 7e4c257c933..a2332c64668 100644 --- a/ethcore/res/ethereum/kovan.json +++ b/ethcore/res/ethereum/kovan.json @@ -49,6 +49,7 @@ "eip1014Transition": "0x8c6180", "eip1052Transition": "0x8c6180", "eip1283Transition": "0x8c6180", + "eip1283DisableTransition": "0x9c7b61", "kip4Transition": "0x8c6180", "kip6Transition": "0x8c6180" }, diff --git a/ethcore/res/ethereum/poasokol.json b/ethcore/res/ethereum/poasokol.json index 067fd69fc30..8ee91c90c06 100644 --- a/ethcore/res/ethereum/poasokol.json +++ b/ethcore/res/ethereum/poasokol.json @@ -41,7 +41,8 @@ "eip145Transition": 6464300, "eip1014Transition": 6464300, "eip1052Transition": 6464300, - "eip1283Transition": 6464300 + "eip1283Transition": 6464300, + "eip1283DisableTransition": 7026400 }, "genesis": { "seal": { diff --git a/ethcore/res/ethereum/ropsten.json b/ethcore/res/ethereum/ropsten.json index 1dee7e30f69..c3b2b96b4fb 100644 --- a/ethcore/res/ethereum/ropsten.json +++ b/ethcore/res/ethereum/ropsten.json @@ -44,7 +44,8 @@ "eip145Transition": "0x408b70", "eip1014Transition": "0x408b70", "eip1052Transition": "0x408b70", - "eip1283Transition": "0x408b70" + "eip1283Transition": "0x408b70", + "eip1283DisableTransition": "0x4b5e82" }, "genesis": { "seal": { diff --git a/util/version/Cargo.toml b/util/version/Cargo.toml index f778d290ed6..d663ab4834b 100644 --- a/util/version/Cargo.toml +++ b/util/version/Cargo.toml @@ -16,9 +16,9 @@ track = "nightly" # Latest supported fork blocks. # Indicates a critical release in this track (i.e. consensus issue). [package.metadata.networks] -foundation = { forkBlock = 4370000, critical = true } -ropsten = { forkBlock = 4230000, critical = false } -kovan = { forkBlock = 9200000, critical = true } +foundation = { forkBlock = 7280000, critical = false } +ropsten = { forkBlock = 4939394, critical = false } +kovan = { forkBlock = 10255201, critical = false } [dependencies] parity-bytes = "0.1" From c35abe41961862234caf6ca6732dff5e605291ce Mon Sep 17 00:00:00 2001 From: Seun LanLege Date: Tue, 22 Jan 2019 12:33:56 +0400 Subject: [PATCH 54/68] import rpc transactions sequentially (#10051) * import rpc transactions sequentially * use impl trait in argument position, renamed ProspectiveDispatcher to WithPostSign * grouped imports * integrates PostSign with ProspectiveSigner * fix spaces, removed unnecessary type cast and duplicate polling * clean up code style * Apply suggestions from code review --- rpc/src/v1/helpers/dispatch.rs | 176 ++++++++++++++++++++++++--------- rpc/src/v1/impls/personal.rs | 48 +++++---- 2 files changed, 159 insertions(+), 65 deletions(-) diff --git a/rpc/src/v1/helpers/dispatch.rs b/rpc/src/v1/helpers/dispatch.rs index e6d0d3fef67..c26fde45f14 100644 --- a/rpc/src/v1/helpers/dispatch.rs +++ b/rpc/src/v1/helpers/dispatch.rs @@ -41,11 +41,11 @@ use types::basic_account::BasicAccount; use types::ids::BlockId; use jsonrpc_core::{BoxFuture, Result, Error}; -use jsonrpc_core::futures::{future, Future, Poll, Async}; +use jsonrpc_core::futures::{future, Future, Poll, Async, IntoFuture}; use jsonrpc_core::futures::future::Either; use v1::helpers::{errors, nonce, TransactionRequest, FilledTransactionRequest, ConfirmationPayload}; use v1::types::{ - H256 as RpcH256, H520 as RpcH520, Bytes as RpcBytes, + H520 as RpcH520, Bytes as RpcBytes, RichRawTransaction as RpcRichRawTransaction, ConfirmationPayload as RpcConfirmationPayload, ConfirmationResponse, @@ -69,12 +69,20 @@ pub trait Dispatcher: Send + Sync + Clone { fn fill_optional_fields(&self, request: TransactionRequest, default_sender: Address, force_nonce: bool) -> BoxFuture; - /// Sign the given transaction request without dispatching, fetching appropriate nonce. - fn sign(&self, accounts: Arc, filled: FilledTransactionRequest, password: SignWith) - -> BoxFuture>; + /// Sign the given transaction request, fetching appropriate nonce and executing the PostSign action + fn sign

( + &self, + accounts: Arc, + filled: FilledTransactionRequest, + password: SignWith, + post_sign: P + ) -> BoxFuture + where + P: PostSign + 'static, + ::Future: Send; /// Converts a `SignedTransaction` into `RichRawTransaction` - fn enrich(&self, SignedTransaction) -> RpcRichRawTransaction; + fn enrich(&self, signed: SignedTransaction) -> RpcRichRawTransaction; /// "Dispatch" a local transaction. fn dispatch_transaction(&self, signed_transaction: PendingTransaction) @@ -164,19 +172,30 @@ impl Dispatcher })) } - fn sign(&self, accounts: Arc, filled: FilledTransactionRequest, password: SignWith) - -> BoxFuture> + fn sign

( + &self, + accounts: Arc, + filled: FilledTransactionRequest, + password: SignWith, + post_sign: P + ) -> BoxFuture + where + P: PostSign + 'static, + ::Future: Send { let chain_id = self.client.signing_chain_id(); if let Some(nonce) = filled.nonce { - return Box::new(future::done(sign_transaction(&*accounts, filled, chain_id, nonce, password))); - } - - let state = self.state_nonce(&filled.from); - let reserved = self.nonces.lock().reserve(filled.from, state); + let future = sign_transaction(&*accounts, filled, chain_id, nonce, password) + .into_future() + .and_then(move |signed| post_sign.execute(signed)); + Box::new(future) + } else { + let state = self.state_nonce(&filled.from); + let reserved = self.nonces.lock().reserve(filled.from, state); - Box::new(ProspectiveSigner::new(accounts, filled, chain_id, reserved, password)) + Box::new(ProspectiveSigner::new(accounts, filled, chain_id, reserved, password, post_sign)) + } } fn enrich(&self, signed_transaction: SignedTransaction) -> RpcRichRawTransaction { @@ -396,12 +415,24 @@ impl Dispatcher for LightDispatcher { })) } - fn sign(&self, accounts: Arc, filled: FilledTransactionRequest, password: SignWith) - -> BoxFuture> + fn sign

( + &self, + accounts: Arc, + filled: FilledTransactionRequest, + password: SignWith, + post_sign: P + ) -> BoxFuture + where + P: PostSign + 'static, + ::Future: Send { let chain_id = self.client.signing_chain_id(); let nonce = filled.nonce.expect("nonce is always provided; qed"); - Box::new(future::done(sign_transaction(&*accounts, filled, chain_id, nonce, password))) + + let future = sign_transaction(&*accounts, filled, chain_id, nonce, password) + .into_future() + .and_then(move |signed| post_sign.execute(signed)); + Box::new(future) } fn enrich(&self, signed_transaction: SignedTransaction) -> RpcRichRawTransaction { @@ -449,28 +480,60 @@ fn sign_transaction( #[derive(Debug, Clone, Copy)] enum ProspectiveSignerState { TryProspectiveSign, + WaitForPostSign, WaitForNonce, - Finish, } -struct ProspectiveSigner { +struct ProspectiveSigner { accounts: Arc, filled: FilledTransactionRequest, chain_id: Option, reserved: nonce::Reserved, password: SignWith, state: ProspectiveSignerState, - prospective: Option>>, + prospective: Option>, ready: Option, + post_sign: Option

, + post_sign_future: Option<::Future> } -impl ProspectiveSigner { +/// action to execute after signing +/// e.g importing a transaction into the chain +pub trait PostSign: Send { + /// item that this PostSign returns + type Item: Send; + /// incase you need to perform async PostSign actions + type Out: IntoFuture + Send; + /// perform an action with the signed transaction + fn execute(self, signer: WithToken) -> Self::Out; +} + +impl PostSign for () { + type Item = WithToken; + type Out = Result; + fn execute(self, signed: WithToken) -> Self::Out { + Ok(signed) + } +} + +impl PostSign for F + where F: FnOnce(WithToken) -> Result +{ + type Item = T; + type Out = Result; + fn execute(self, signed: WithToken) -> Self::Out { + (self)(signed) + } +} + +impl ProspectiveSigner

{ pub fn new( accounts: Arc, filled: FilledTransactionRequest, chain_id: Option, reserved: nonce::Reserved, password: SignWith, + post_sign: P ) -> Self { // If the account is permanently unlocked we can try to sign // using prospective nonce. This should speed up sending @@ -491,6 +554,8 @@ impl ProspectiveSigner { }, prospective: None, ready: None, + post_sign: Some(post_sign), + post_sign_future: None } } @@ -509,8 +574,8 @@ impl ProspectiveSigner { } } -impl Future for ProspectiveSigner { - type Item = WithToken; +impl Future for ProspectiveSigner

{ + type Item = P::Item; type Error = Error; fn poll(&mut self) -> Poll { @@ -523,32 +588,45 @@ impl Future for ProspectiveSigner { match self.poll_reserved()? { Async::NotReady => { self.state = WaitForNonce; - self.prospective = Some(self.sign(self.reserved.prospective_value())); + self.prospective = Some(self.sign(self.reserved.prospective_value())?); }, Async::Ready(nonce) => { - self.state = Finish; - self.prospective = Some(self.sign(nonce.value())); + self.state = WaitForPostSign; + self.post_sign_future = Some(self.post_sign.take() + .expect("post_sign is set on creation; qed") + .execute(self.sign(nonce.value())?) + .into_future()); self.ready = Some(nonce); }, } }, WaitForNonce => { let nonce = try_ready!(self.poll_reserved()); - let result = match (self.prospective.take(), nonce.matches_prospective()) { + let prospective = match (self.prospective.take(), nonce.matches_prospective()) { (Some(prospective), true) => prospective, - _ => self.sign(nonce.value()), + _ => self.sign(nonce.value())?, }; - self.state = Finish; - self.prospective = Some(result); self.ready = Some(nonce); + self.state = WaitForPostSign; + self.post_sign_future = Some(self.post_sign.take() + .expect("post_sign is set on creation; qed") + .execute(prospective) + .into_future()); }, - Finish => { - if let (Some(result), Some(nonce)) = (self.prospective.take(), self.ready.take()) { - // Mark nonce as used on successful signing - return result.map(move |tx| { - nonce.mark_used(); - Async::Ready(tx) - }) + WaitForPostSign => { + if let Some(mut fut) = self.post_sign_future.as_mut() { + match fut.poll()? { + Async::Ready(item) => { + let nonce = self.ready + .take() + .expect("nonce is set before state transitions to WaitForPostSign; qed"); + nonce.mark_used(); + return Ok(Async::Ready(item)) + }, + Async::NotReady => { + return Ok(Async::NotReady) + } + } } else { panic!("Poll after ready."); } @@ -655,19 +733,21 @@ pub fn execute( match payload { ConfirmationPayload::SendTransaction(request) => { let condition = request.condition.clone().map(Into::into); - Box::new(dispatcher.sign(accounts, request, pass) - .map(move |v| v.map(move |tx| PendingTransaction::new(tx, condition))) - .map(WithToken::into_tuple) - .map(|(tx, token)| (tx, token, dispatcher)) - .and_then(|(tx, tok, dispatcher)| { - dispatcher.dispatch_transaction(tx) - .map(RpcH256::from) - .map(ConfirmationResponse::SendTransaction) - .map(move |h| WithToken::from((h, tok))) - })) + let cloned_dispatcher = dispatcher.clone(); + let post_sign = move |with_token_signed: WithToken| { + let (signed, token) = with_token_signed.into_tuple(); + let signed_transaction = PendingTransaction::new(signed, condition); + cloned_dispatcher.dispatch_transaction(signed_transaction) + .map(|hash| (hash, token)) + }; + let future = dispatcher.sign(accounts, request, pass, post_sign) + .map(|(hash, token)| { + WithToken::from((ConfirmationResponse::SendTransaction(hash.into()), token)) + }); + Box::new(future) }, ConfirmationPayload::SignTransaction(request) => { - Box::new(dispatcher.sign(accounts, request, pass) + Box::new(dispatcher.sign(accounts, request, pass, ()) .map(move |result| result .map(move |tx| dispatcher.enrich(tx)) .map(ConfirmationResponse::SignTransaction) diff --git a/rpc/src/v1/impls/personal.rs b/rpc/src/v1/impls/personal.rs index abaebc3d08e..ae22077e423 100644 --- a/rpc/src/v1/impls/personal.rs +++ b/rpc/src/v1/impls/personal.rs @@ -18,7 +18,7 @@ use std::sync::Arc; use std::time::Duration; -use bytes::{Bytes, ToPretty}; +use bytes::Bytes; use ethcore::account_provider::AccountProvider; use types::transaction::PendingTransaction; use ethereum_types::{H520, U128, Address}; @@ -27,7 +27,7 @@ use ethkey::{public_to_address, recover, Signature}; use jsonrpc_core::{BoxFuture, Result}; use jsonrpc_core::futures::{future, Future}; use v1::helpers::{errors, eip191}; -use v1::helpers::dispatch::{self, eth_data_hash, Dispatcher, SignWith}; +use v1::helpers::dispatch::{self, eth_data_hash, Dispatcher, SignWith, PostSign, WithToken}; use v1::traits::Personal; use v1::types::{ H160 as RpcH160, H256 as RpcH256, H520 as RpcH520, U128 as RpcU128, @@ -41,6 +41,7 @@ use v1::types::{ use v1::metadata::Metadata; use eip_712::{EIP712, hash_structured_data}; use jsonrpc_core::types::Value; +use transaction::SignedTransaction; /// Account management (personal) rpc implementation. pub struct PersonalClient { @@ -68,7 +69,16 @@ impl PersonalClient { } impl PersonalClient { - fn do_sign_transaction(&self, _meta: Metadata, request: TransactionRequest, password: String) -> BoxFuture<(PendingTransaction, D)> { + fn do_sign_transaction

( + &self, + _meta: Metadata, + request: TransactionRequest, + password: String, + post_sign: P + ) -> BoxFuture + where P: PostSign + 'static, + ::Future: Send + { let dispatcher = self.dispatcher.clone(); let accounts = self.accounts.clone(); @@ -86,11 +96,7 @@ impl PersonalClient { Box::new(dispatcher.fill_optional_fields(request.into(), default, false) .and_then(move |filled| { - let condition = filled.condition.clone().map(Into::into); - dispatcher.sign(accounts, filled, SignWith::Password(password.into())) - .map(|tx| tx.into_value()) - .map(move |tx| PendingTransaction::new(tx, condition)) - .map(move |tx| (tx, dispatcher)) + dispatcher.sign(accounts, filled, SignWith::Password(password.into()), post_sign) }) ) } @@ -223,18 +229,26 @@ impl Personal for PersonalClient { } fn sign_transaction(&self, meta: Metadata, request: TransactionRequest, password: String) -> BoxFuture { - Box::new(self.do_sign_transaction(meta, request, password) - .map(|(pending_tx, dispatcher)| dispatcher.enrich(pending_tx.transaction))) + let condition = request.condition.clone().map(Into::into); + let dispatcher = self.dispatcher.clone(); + Box::new(self.do_sign_transaction(meta, request, password, ()) + .map(move |tx| PendingTransaction::new(tx.into_value(), condition)) + .map(move |pending_tx| dispatcher.enrich(pending_tx.transaction))) } fn send_transaction(&self, meta: Metadata, request: TransactionRequest, password: String) -> BoxFuture { - Box::new(self.do_sign_transaction(meta, request, password) - .and_then(|(pending_tx, dispatcher)| { - let chain_id = pending_tx.chain_id(); - trace!(target: "miner", "send_transaction: dispatching tx: {} for chain ID {:?}", - ::rlp::encode(&*pending_tx).pretty(), chain_id); - - dispatcher.dispatch_transaction(pending_tx).map(Into::into) + let condition = request.condition.clone().map(Into::into); + let dispatcher = self.dispatcher.clone(); + Box::new(self.do_sign_transaction(meta, request, password, move |signed: WithToken| { + dispatcher.dispatch_transaction( + PendingTransaction::new( + signed.into_value(), + condition + ) + ) + }) + .and_then(|hash| { + Ok(RpcH256::from(hash)) }) ) } From 4b11d79829d028e091b19af077767051574cd837 Mon Sep 17 00:00:00 2001 From: Niklas Adolfsson Date: Tue, 22 Jan 2019 09:51:40 +0100 Subject: [PATCH 55/68] fix(ManageNetwork): replace Range with RangeInclusive (#10209) * fix(ManageNetwork): replace Range -> RangeIncls Fixes `TODO: Range should be changed to RangeInclusive once stable (https://github.com/rust-lang/rust/pull/50758)` * fix(tests) * fix(grumbles): off-by-one error in debug_asserts * RangeInclusive::end() is inclusive which means that if start and end is equal the `debug_assert(range.end() > range.start()` will fail which is shouldn't --- ethcore/sync/src/api.rs | 16 +++++++--------- parity/informant.rs | 4 ++-- rpc/src/v1/impls/parity.rs | 4 ++-- rpc/src/v1/tests/mocked/manage_network.rs | 4 ++-- util/network-devp2p/src/service.rs | 10 +++------- 5 files changed, 16 insertions(+), 22 deletions(-) diff --git a/ethcore/sync/src/api.rs b/ethcore/sync/src/api.rs index 253f7fe8385..28565db3968 100644 --- a/ethcore/sync/src/api.rs +++ b/ethcore/sync/src/api.rs @@ -17,7 +17,7 @@ use std::sync::{Arc, mpsc, atomic}; use std::collections::{HashMap, BTreeMap}; use std::io; -use std::ops::Range; +use std::ops::RangeInclusive; use std::time::Duration; use bytes::Bytes; use devp2p::NetworkService; @@ -615,9 +615,7 @@ pub trait ManageNetwork : Send + Sync { /// Stop network fn stop_network(&self); /// Returns the minimum and maximum peers. - /// Note that `range.end` is *exclusive*. - // TODO: Range should be changed to RangeInclusive once stable (https://github.com/rust-lang/rust/pull/50758) - fn num_peers_range(&self) -> Range; + fn num_peers_range(&self) -> RangeInclusive; /// Get network context for protocol. fn with_proto_context(&self, proto: ProtocolId, f: &mut FnMut(&NetworkContext)); } @@ -656,7 +654,7 @@ impl ManageNetwork for EthSync { self.stop(); } - fn num_peers_range(&self) -> Range { + fn num_peers_range(&self) -> RangeInclusive { self.network.num_peers_range() } @@ -935,7 +933,7 @@ impl ManageNetwork for LightSync { self.network.stop(); } - fn num_peers_range(&self) -> Range { + fn num_peers_range(&self) -> RangeInclusive { self.network.num_peers_range() } @@ -948,12 +946,12 @@ impl LightSyncProvider for LightSync { fn peer_numbers(&self) -> PeerNumbers { let (connected, active) = self.proto.peer_count(); let peers_range = self.num_peers_range(); - debug_assert!(peers_range.end > peers_range.start); + debug_assert!(peers_range.end() >= peers_range.start()); PeerNumbers { connected: connected, active: active, - max: peers_range.end as usize - 1, - min: peers_range.start as usize, + max: *peers_range.end() as usize, + min: *peers_range.start() as usize, } } diff --git a/parity/informant.rs b/parity/informant.rs index 0299f524f28..78d055686b9 100644 --- a/parity/informant.rs +++ b/parity/informant.rs @@ -146,7 +146,7 @@ impl InformantData for FullNodeInformantData { (Some(sync), Some(net)) => { let status = sync.status(); let num_peers_range = net.num_peers_range(); - debug_assert!(num_peers_range.end > num_peers_range.start); + debug_assert!(num_peers_range.end() >= num_peers_range.start()); cache_sizes.insert("sync", status.mem_used); @@ -154,7 +154,7 @@ impl InformantData for FullNodeInformantData { last_imported_block_number: status.last_imported_block_number.unwrap_or(chain_info.best_block_number), last_imported_old_block_number: status.last_imported_old_block_number, num_peers: status.num_peers, - max_peers: status.current_max_peers(num_peers_range.start, num_peers_range.end - 1), + max_peers: status.current_max_peers(*num_peers_range.start(), *num_peers_range.end()), snapshot_sync: status.is_snapshot_syncing(), }) } diff --git a/rpc/src/v1/impls/parity.rs b/rpc/src/v1/impls/parity.rs index 39948ce1a82..46e93bc7360 100644 --- a/rpc/src/v1/impls/parity.rs +++ b/rpc/src/v1/impls/parity.rs @@ -187,13 +187,13 @@ impl Parity for ParityClient where fn net_peers(&self) -> Result { let sync_status = self.sync.status(); let num_peers_range = self.net.num_peers_range(); - debug_assert!(num_peers_range.end > num_peers_range.start); + debug_assert!(num_peers_range.end() >= num_peers_range.start()); let peers = self.sync.peers().into_iter().map(Into::into).collect(); Ok(Peers { active: sync_status.num_active_peers, connected: sync_status.num_peers, - max: sync_status.current_max_peers(num_peers_range.start, num_peers_range.end - 1), + max: sync_status.current_max_peers(*num_peers_range.start(), *num_peers_range.end()), peers: peers }) } diff --git a/rpc/src/v1/tests/mocked/manage_network.rs b/rpc/src/v1/tests/mocked/manage_network.rs index 560ed89ff22..d327a8743c6 100644 --- a/rpc/src/v1/tests/mocked/manage_network.rs +++ b/rpc/src/v1/tests/mocked/manage_network.rs @@ -14,7 +14,7 @@ // You should have received a copy of the GNU General Public License // along with Parity Ethereum. If not, see . -use std::ops::Range; +use std::ops::RangeInclusive; use sync::ManageNetwork; use self::ethcore_network::{ProtocolId, NetworkContext}; @@ -30,6 +30,6 @@ impl ManageNetwork for TestManageNetwork { fn add_reserved_peer(&self, _peer: String) -> Result<(), String> { Ok(()) } fn start_network(&self) {} fn stop_network(&self) {} - fn num_peers_range(&self) -> Range { 25 .. 51 } + fn num_peers_range(&self) -> RangeInclusive { 25..=50 } fn with_proto_context(&self, _: ProtocolId, _: &mut FnMut(&NetworkContext)) { } } diff --git a/util/network-devp2p/src/service.rs b/util/network-devp2p/src/service.rs index e57f01066af..dfacec4be3d 100644 --- a/util/network-devp2p/src/service.rs +++ b/util/network-devp2p/src/service.rs @@ -20,7 +20,7 @@ use host::Host; use io::*; use parking_lot::RwLock; use std::net::SocketAddr; -use std::ops::Range; +use std::ops::RangeInclusive; use std::sync::Arc; use ansi_term::Colour; use network::ConnectionFilter; @@ -95,12 +95,8 @@ impl NetworkService { } /// Returns the number of peers allowed. - /// - /// Keep in mind that `range.end` is *exclusive*. - pub fn num_peers_range(&self) -> Range { - let start = self.config.min_peers; - let end = self.config.max_peers + 1; - start .. end + pub fn num_peers_range(&self) -> RangeInclusive { + self.config.min_peers..=self.config.max_peers } /// Returns external url if available. From c2de31e58682a179adbffb0bef4d6c2d07edade9 Mon Sep 17 00:00:00 2001 From: Elder Ryan Date: Wed, 23 Jan 2019 03:03:31 +0800 Subject: [PATCH 56/68] fixed: types::transaction::SignedTransaction; (#10229) --- rpc/src/v1/impls/personal.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rpc/src/v1/impls/personal.rs b/rpc/src/v1/impls/personal.rs index ae22077e423..35a304df6ff 100644 --- a/rpc/src/v1/impls/personal.rs +++ b/rpc/src/v1/impls/personal.rs @@ -21,6 +21,7 @@ use std::time::Duration; use bytes::Bytes; use ethcore::account_provider::AccountProvider; use types::transaction::PendingTransaction; +use types::transaction::SignedTransaction; use ethereum_types::{H520, U128, Address}; use ethkey::{public_to_address, recover, Signature}; @@ -41,7 +42,6 @@ use v1::types::{ use v1::metadata::Metadata; use eip_712::{EIP712, hash_structured_data}; use jsonrpc_core::types::Value; -use transaction::SignedTransaction; /// Account management (personal) rpc implementation. pub struct PersonalClient { From c96d8a742bf414e73dd04c7f3e8e1526f6c38c24 Mon Sep 17 00:00:00 2001 From: Sho Sawada Date: Wed, 23 Jan 2019 18:26:36 +0900 Subject: [PATCH 57/68] Update copyright year to 2019. (#10181) * Update copyright year to 2019. Have a great year. * add `(UK)` * 2018-2019 --- accounts/ethkey/README.md | 2 +- accounts/ethkey/cli/src/main.rs | 2 +- accounts/ethstore/README.md | 2 +- accounts/ethstore/cli/src/main.rs | 2 +- evmbin/README.md | 2 +- evmbin/src/main.rs | 2 +- parity-clib/Parity.java | 2 +- parity-clib/examples/java/Main.java | 2 +- parity-clib/parity.h | 2 +- util/rlp-compress/src/common.rs | 2 +- util/rlp-compress/src/lib.rs | 2 +- whisper/cli/src/main.rs | 2 +- 12 files changed, 12 insertions(+), 12 deletions(-) diff --git a/accounts/ethkey/README.md b/accounts/ethkey/README.md index 896d38e83f7..6fc98b020d6 100644 --- a/accounts/ethkey/README.md +++ b/accounts/ethkey/README.md @@ -6,7 +6,7 @@ Parity Ethereum keys generator. ``` Parity Ethereum keys generator. - Copyright 2015-2018 Parity Technologies (UK) Ltd. + Copyright 2015-2019 Parity Technologies (UK) Ltd. Usage: ethkey info [options] diff --git a/accounts/ethkey/cli/src/main.rs b/accounts/ethkey/cli/src/main.rs index ecb612e069b..759f5f484c1 100644 --- a/accounts/ethkey/cli/src/main.rs +++ b/accounts/ethkey/cli/src/main.rs @@ -35,7 +35,7 @@ use rustc_hex::{FromHex, FromHexError}; const USAGE: &'static str = r#" Parity Ethereum keys generator. - Copyright 2015-2018 Parity Technologies (UK) Ltd. + Copyright 2015-2019 Parity Technologies (UK) Ltd. Usage: ethkey info [options] diff --git a/accounts/ethstore/README.md b/accounts/ethstore/README.md index fc988c2d316..77c37bd2462 100644 --- a/accounts/ethstore/README.md +++ b/accounts/ethstore/README.md @@ -6,7 +6,7 @@ Parity Ethereum key management. ``` Parity Ethereum key management tool. - Copyright 2015-2018 Parity Technologies (UK) Ltd. + Copyright 2015-2019 Parity Technologies (UK) Ltd. Usage: ethstore insert [--dir DIR] [--vault VAULT] [--vault-pwd VAULTPWD] diff --git a/accounts/ethstore/cli/src/main.rs b/accounts/ethstore/cli/src/main.rs index 6ee1914a00e..0f564406395 100644 --- a/accounts/ethstore/cli/src/main.rs +++ b/accounts/ethstore/cli/src/main.rs @@ -41,7 +41,7 @@ mod crack; pub const USAGE: &'static str = r#" Parity Ethereum key management tool. - Copyright 2015-2018 Parity Technologies (UK) Ltd. + Copyright 2015-2019 Parity Technologies (UK) Ltd. Usage: ethstore insert [--dir DIR] [--vault VAULT] [--vault-pwd VAULTPWD] diff --git a/evmbin/README.md b/evmbin/README.md index 696a84436f4..e0a8c9d9669 100644 --- a/evmbin/README.md +++ b/evmbin/README.md @@ -6,7 +6,7 @@ EVM implementation for Parity. ``` EVM implementation for Parity. - Copyright 2015-2018 Parity Technologies (UK) Ltd. + Copyright 2015-2019 Parity Technologies (UK) Ltd. Usage: parity-evm state-test [--json --std-json --std-dump-json --only NAME --chain CHAIN --std-out-only --std-err-only] diff --git a/evmbin/src/main.rs b/evmbin/src/main.rs index 91e38e2546c..6e1260189e1 100644 --- a/evmbin/src/main.rs +++ b/evmbin/src/main.rs @@ -59,7 +59,7 @@ use info::Informant; const USAGE: &'static str = r#" EVM implementation for Parity. - Copyright 2015-2018 Parity Technologies (UK) Ltd. + Copyright 2015-2019 Parity Technologies (UK) Ltd. Usage: parity-evm state-test [--json --std-json --std-dump-json --only NAME --chain CHAIN --std-out-only --std-err-only] diff --git a/parity-clib/Parity.java b/parity-clib/Parity.java index 37a6722b781..957439434bf 100644 --- a/parity-clib/Parity.java +++ b/parity-clib/Parity.java @@ -1,4 +1,4 @@ -// Copyright 2018 Parity Technologies (UK) Ltd. +// Copyright 2018-2019 Parity Technologies (UK) Ltd. // This file is part of Parity. // Parity is free software: you can redistribute it and/or modify diff --git a/parity-clib/examples/java/Main.java b/parity-clib/examples/java/Main.java index 88189af1c53..b5f49050624 100644 --- a/parity-clib/examples/java/Main.java +++ b/parity-clib/examples/java/Main.java @@ -1,4 +1,4 @@ -// Copyright 2018 Parity Technologies (UK) Ltd. +// Copyright 2018-2019 Parity Technologies (UK) Ltd. // This file is part of Parity. // Parity is free software: you can redistribute it and/or modify diff --git a/parity-clib/parity.h b/parity-clib/parity.h index 71d6ca775db..b48277810fe 100644 --- a/parity-clib/parity.h +++ b/parity-clib/parity.h @@ -1,4 +1,4 @@ -// Copyright 2018 Parity Technologies (UK) Ltd. +// Copyright 2018-2019 Parity Technologies (UK) Ltd. // This file is part of Parity. // Parity is free software: you can redistribute it and/or modify diff --git a/util/rlp-compress/src/common.rs b/util/rlp-compress/src/common.rs index 79f8a93c1f8..81767955b6b 100644 --- a/util/rlp-compress/src/common.rs +++ b/util/rlp-compress/src/common.rs @@ -1,4 +1,4 @@ -// Copyright 2015-2017 Parity Technologies +// Copyright 2015-2019 Parity Technologies (UK) Ltd. // // Licensed under the Apache License, Version 2.0 or the MIT license diff --git a/util/rlp-compress/src/lib.rs b/util/rlp-compress/src/lib.rs index 38dabcd86b8..48620ed239d 100644 --- a/util/rlp-compress/src/lib.rs +++ b/util/rlp-compress/src/lib.rs @@ -1,4 +1,4 @@ -// Copyright 2015-2018 Parity Technologies +// Copyright 2015-2019 Parity Technologies (UK) Ltd. // // Licensed under the Apache License, Version 2.0 or the MIT license diff --git a/whisper/cli/src/main.rs b/whisper/cli/src/main.rs index f671b4a248b..9ef2304b478 100644 --- a/whisper/cli/src/main.rs +++ b/whisper/cli/src/main.rs @@ -49,7 +49,7 @@ use jsonrpc_http_server::{AccessControlAllowOrigin, DomainsValidation}; const POOL_UNIT: usize = 1024 * 1024; const USAGE: &'static str = r#" Parity Whisper-v2 CLI. - Copyright 2015-2018 Parity Technologies (UK) Ltd. + Copyright 2015-2019 Parity Technologies (UK) Ltd. Usage: whisper [options] From 4fec2f2fc26c0daf95f4d91cbbf55eeca74888fe Mon Sep 17 00:00:00 2001 From: folex <0xdxdy@gmail.com> Date: Wed, 23 Jan 2019 13:09:40 +0300 Subject: [PATCH 58/68] Fix typo: CHANGELOG-2.1 -> CHANGELOG-2.2 (#10233) --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 649f4c167c9..4de53f34c7a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -156,7 +156,7 @@ The full list of included changes: ## Previous releases -- [CHANGELOG-2.1](docs/CHANGELOG-2.2.md) (_stable_) +- [CHANGELOG-2.2](docs/CHANGELOG-2.2.md) (_stable_) - [CHANGELOG-2.1](docs/CHANGELOG-2.1.md) (EOL: 2019-01-16) - [CHANGELOG-2.0](docs/CHANGELOG-2.0.md) (EOL: 2018-11-15) - [CHANGELOG-1.11](docs/CHANGELOG-1.11.md) (EOL: 2018-09-19) From 38f3747cde2e5dbf2cd4418a3e1069c03d479d7c Mon Sep 17 00:00:00 2001 From: Yucong Sun Date: Mon, 28 Jan 2019 01:54:07 -0800 Subject: [PATCH 59/68] Update CHANGELOG.md (#10249) change 2018 to 2019 --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 4de53f34c7a..62119ce7ab1 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,4 +1,4 @@ -## Parity-Ethereum [v2.3.0](https://github.com/paritytech/parity-ethereum/releases/tag/v2.3.0) (2018-01-16) +## Parity-Ethereum [v2.3.0](https://github.com/paritytech/parity-ethereum/releases/tag/v2.3.0) (2019-01-16) Parity-Ethereum 2.3.0-beta is a consensus-relevant security release that reverts Constantinople on the Ethereum network. Upgrading is mandatory for Ethereum, and strongly recommended for other networks. From 94db961975d70e61d29a8528686974e8cb646e4d Mon Sep 17 00:00:00 2001 From: Vladyslav Lupashevskyi Date: Mon, 28 Jan 2019 11:58:34 +0200 Subject: [PATCH 60/68] Take in account zero gas price certification when doing transact_contract (#10232) * Tx permission contract improvement * Take in account zero gas price certification when doing transact_contract * DRY in ServiceTransactionChecker * Fix typos and regroup mod * Fix imports * Simplify code in struct instantiation Co-Authored-By: VladLupashevskyi --- ethcore/src/client/client.rs | 8 +++++++- miner/src/service_transaction_checker.rs | 18 ++++++++++-------- rpc/src/v1/impls/personal.rs | 4 ++-- 3 files changed, 19 insertions(+), 11 deletions(-) diff --git a/ethcore/src/client/client.rs b/ethcore/src/client/client.rs index b8541470b2d..577829d4543 100644 --- a/ethcore/src/client/client.rs +++ b/ethcore/src/client/client.rs @@ -25,6 +25,7 @@ use blockchain::{BlockReceipts, BlockChain, BlockChainDB, BlockProvider, TreeRou use bytes::Bytes; use call_contract::{CallContract, RegistryInfo}; use ethcore_miner::pool::VerifiedTransaction; +use ethcore_miner::service_transaction_checker::ServiceTransactionChecker; use ethereum_types::{H256, Address, U256}; use evm::Schedule; use hash::keccak; @@ -2156,11 +2157,16 @@ impl BlockChainClient for Client { fn transact_contract(&self, address: Address, data: Bytes) -> Result<(), transaction::Error> { let authoring_params = self.importer.miner.authoring_params(); + let service_transaction_checker = ServiceTransactionChecker::default(); + let gas_price = match service_transaction_checker.check_address(self, authoring_params.author) { + Ok(true) => U256::zero(), + _ => self.importer.miner.sensible_gas_price(), + }; let transaction = transaction::Transaction { nonce: self.latest_nonce(&authoring_params.author), action: Action::Call(address), gas: self.importer.miner.sensible_gas_limit(), - gas_price: self.importer.miner.sensible_gas_price(), + gas_price, value: U256::zero(), data: data, }; diff --git a/miner/src/service_transaction_checker.rs b/miner/src/service_transaction_checker.rs index 17776f1569e..c9b3b4b2389 100644 --- a/miner/src/service_transaction_checker.rs +++ b/miner/src/service_transaction_checker.rs @@ -20,6 +20,7 @@ use call_contract::{CallContract, RegistryInfo}; use types::ids::BlockId; use types::transaction::SignedTransaction; use ethabi::FunctionOutputDecoder; +use ethereum_types::Address; use_contract!(service_transaction, "res/contracts/service_transaction.json"); @@ -30,23 +31,24 @@ const SERVICE_TRANSACTION_CONTRACT_REGISTRY_NAME: &'static str = "service_transa pub struct ServiceTransactionChecker; impl ServiceTransactionChecker { - /// Checks if given address is whitelisted to send service transactions. + /// Checks if given address in tx is whitelisted to send service transactions. pub fn check(&self, client: &C, tx: &SignedTransaction) -> Result { let sender = tx.sender(); - let hash = tx.hash(); - // Skip checking the contract if the transaction does not have zero gas price if !tx.gas_price.is_zero() { return Ok(false) } - let address = client.registry_address(SERVICE_TRANSACTION_CONTRACT_REGISTRY_NAME.to_owned(), BlockId::Latest) - .ok_or_else(|| "contract is not configured")?; - - trace!(target: "txqueue", "[{:?}] Checking service transaction checker contract from {}", hash, sender); + self.check_address(client, sender) + } + /// Checks if given address is whitelisted to send service transactions. + pub fn check_address(&self, client: &C, sender: Address) -> Result { + let contract_address = client.registry_address(SERVICE_TRANSACTION_CONTRACT_REGISTRY_NAME.to_owned(), BlockId::Latest) + .ok_or_else(|| "contract is not configured")?; + trace!(target: "txqueue", "Checking service transaction checker contract from {}", sender); let (data, decoder) = service_transaction::functions::certified::call(sender); - let value = client.call_contract(BlockId::Latest, address, data)?; + let value = client.call_contract(BlockId::Latest, contract_address, data)?; decoder.decode(&value).map_err(|e| e.to_string()) } } diff --git a/rpc/src/v1/impls/personal.rs b/rpc/src/v1/impls/personal.rs index 35a304df6ff..3bae576c067 100644 --- a/rpc/src/v1/impls/personal.rs +++ b/rpc/src/v1/impls/personal.rs @@ -20,8 +20,8 @@ use std::time::Duration; use bytes::Bytes; use ethcore::account_provider::AccountProvider; -use types::transaction::PendingTransaction; -use types::transaction::SignedTransaction; + +use types::transaction::{PendingTransaction, SignedTransaction}; use ethereum_types::{H520, U128, Address}; use ethkey::{public_to_address, recover, Signature}; From 50f5ccc4f2800b11a2038b0ba6730e354f652ae3 Mon Sep 17 00:00:00 2001 From: Andrew Plaza Date: Mon, 28 Jan 2019 05:26:11 -0500 Subject: [PATCH 61/68] Allow specifying local accounts via CLI (#9960) * Allow specifying local accounts via CLI * Add `tx-queue-locals` CLI option * ethcore: modify miner to check options vec before importing transaction * modify tests (ethcore/parity) Resolves #9634 * fix formatting * fixes: Make prefer HashSet over Vec<>, add test, comment formatting * Update ethcore/src/miner/miner.rs Co-Authored-By: insipx * Fix comments and add helper for set->vec conversion * remove blank line from use statement * fix helper test * formatting * fix test to pass on nightly * revert test fix for nightly --- ethcore/src/miner/miner.rs | 44 +++++++++++++++++++++++++++++-- parity/cli/mod.rs | 10 +++++++ parity/cli/tests/config.full.toml | 1 + parity/configuration.rs | 4 ++- parity/helpers.rs | 20 +++++++++++++- 5 files changed, 75 insertions(+), 4 deletions(-) diff --git a/ethcore/src/miner/miner.rs b/ethcore/src/miner/miner.rs index 998ce628041..36239a4d60b 100644 --- a/ethcore/src/miner/miner.rs +++ b/ethcore/src/miner/miner.rs @@ -140,6 +140,8 @@ pub struct MinerOptions { /// will be invalid if mined. pub infinite_pending_block: bool, + /// Prioritized Local Addresses + pub tx_queue_locals: HashSet

, /// Strategy to use for prioritizing transactions in the queue. pub tx_queue_strategy: PrioritizationStrategy, /// Simple senders penalization. @@ -167,6 +169,7 @@ impl Default for MinerOptions { work_queue_size: 20, enable_resubmission: true, infinite_pending_block: false, + tx_queue_locals: HashSet::new(), tx_queue_strategy: PrioritizationStrategy::GasPriceOnly, tx_queue_penalization: Penalization::Disabled, tx_queue_no_unfamiliar_locals: false, @@ -917,11 +920,13 @@ impl miner::MinerService for Miner { pending: PendingTransaction, trusted: bool ) -> Result<(), transaction::Error> { - // treat the tx as local if the option is enabled, or if we have the account + // treat the tx as local if the option is enabled, if we have the account, or if + // the account is specified as a Prioritized Local Addresses let sender = pending.sender(); let treat_as_local = trusted || !self.options.tx_queue_no_unfamiliar_locals - || self.accounts.as_ref().map(|accts| accts.has_account(sender)).unwrap_or(false); + || self.accounts.as_ref().map(|accts| accts.has_account(sender)).unwrap_or(false) + || self.options.tx_queue_locals.contains(&sender); if treat_as_local { self.import_own_transaction(chain, pending) @@ -1284,6 +1289,8 @@ impl miner::MinerService for Miner { #[cfg(test)] mod tests { + use std::iter::FromIterator; + use super::*; use ethkey::{Generator, Random}; use hash::keccak; @@ -1342,6 +1349,7 @@ mod tests { enable_resubmission: true, infinite_pending_block: false, tx_queue_penalization: Penalization::Disabled, + tx_queue_locals: HashSet::new(), tx_queue_strategy: PrioritizationStrategy::GasPriceOnly, tx_queue_no_unfamiliar_locals: false, refuse_service_transactions: false, @@ -1510,6 +1518,38 @@ mod tests { assert_eq!(miner.prepare_pending_block(&client), BlockPreparationStatus::NotPrepared); } + #[test] + fn should_prioritize_locals() { + let keypair = Random.generate().unwrap(); + let client = TestBlockChainClient::default(); + let account_provider = AccountProvider::transient_provider(); + account_provider.insert_account(keypair.secret().clone(), &"".into()) + .expect("can add accounts to the provider we just created"); + + let transaction = transaction(); + let miner = Miner::new( + MinerOptions { + tx_queue_no_unfamiliar_locals: true, // should work even with this enabled + tx_queue_locals: HashSet::from_iter(vec![transaction.sender()].into_iter()), + ..miner().options + }, + GasPricer::new_fixed(0u64.into()), + &Spec::new_test(), + Some(Arc::new(account_provider)), + ); + let best_block = 0; + + // Miner with sender as a known local address should prioritize transactions from that address + let res2 = miner.import_claimed_local_transaction(&client, PendingTransaction::new(transaction, None), false); + + // check to make sure the prioritized transaction is pending + assert_eq!(res2.unwrap(), ()); + assert_eq!(miner.pending_transactions(best_block).unwrap().len(), 1); + assert_eq!(miner.pending_receipts(best_block).unwrap().len(), 1); + assert_eq!(miner.ready_transactions(&client, 10, PendingOrdering::Priority).len(), 1); + assert_eq!(miner.prepare_pending_block(&client), BlockPreparationStatus::NotPrepared); + } + #[test] fn should_not_seal_unless_enabled() { let miner = miner(); diff --git a/parity/cli/mod.rs b/parity/cli/mod.rs index 9ed6ed957b6..873b456ad1f 100644 --- a/parity/cli/mod.rs +++ b/parity/cli/mod.rs @@ -18,6 +18,9 @@ mod usage; mod presets; +use std::collections::HashSet; +use super::helpers; + usage! { { // CLI subcommands @@ -769,6 +772,10 @@ usage! { "--tx-queue-per-sender=[LIMIT]", "Maximum number of transactions per sender in the queue. By default it's 1% of the entire queue, but not less than 16.", + ARG arg_tx_queue_locals: (Option) = None, or |c: &Config| helpers::join_set(c.mining.as_ref()?.tx_queue_locals.as_ref()), + "--tx-queue-locals=[ACCOUNTS]", + "Specify local accounts for which transactions are prioritized in the queue. ACCOUNTS is a comma-delimited list of addresses.", + ARG arg_tx_queue_strategy: (String) = "gas_price", or |c: &Config| c.mining.as_ref()?.tx_queue_strategy.clone(), "--tx-queue-strategy=[S]", "Prioritization strategy used to order transactions in the queue. S may be: gas_price - Prioritize txs with high gas price", @@ -1356,6 +1363,7 @@ struct Mining { tx_queue_size: Option, tx_queue_per_sender: Option, tx_queue_mem_limit: Option, + tx_queue_locals: Option>, tx_queue_strategy: Option, tx_queue_ban_count: Option, tx_queue_ban_time: Option, @@ -1799,6 +1807,7 @@ mod tests { arg_tx_queue_size: 8192usize, arg_tx_queue_per_sender: None, arg_tx_queue_mem_limit: 4u32, + arg_tx_queue_locals: Some("0xdeadbeefcafe0000000000000000000000000000".into()), arg_tx_queue_strategy: "gas_factor".into(), arg_tx_queue_ban_count: Some(1u16), arg_tx_queue_ban_time: Some(180u16), @@ -2072,6 +2081,7 @@ mod tests { tx_queue_size: Some(8192), tx_queue_per_sender: None, tx_queue_mem_limit: None, + tx_queue_locals: None, tx_queue_strategy: None, tx_queue_ban_count: None, tx_queue_ban_time: None, diff --git a/parity/cli/tests/config.full.toml b/parity/cli/tests/config.full.toml index 99603954c87..34dd39058b7 100644 --- a/parity/cli/tests/config.full.toml +++ b/parity/cli/tests/config.full.toml @@ -129,6 +129,7 @@ price_update_period = "hourly" gas_floor_target = "8000000" gas_cap = "10000000" tx_queue_size = 8192 +tx_queue_locals = ["0xdeadbeefcafe0000000000000000000000000000"] tx_queue_strategy = "gas_factor" tx_queue_ban_count = 1 tx_queue_ban_time = 180 #s diff --git a/parity/configuration.rs b/parity/configuration.rs index 48207683ebb..aaa554d6af4 100644 --- a/parity/configuration.rs +++ b/parity/configuration.rs @@ -18,7 +18,8 @@ use std::time::Duration; use std::io::Read; use std::net::SocketAddr; use std::path::PathBuf; -use std::collections::BTreeMap; +use std::collections::{HashSet, BTreeMap}; +use std::iter::FromIterator; use std::cmp; use cli::{Args, ArgsError}; use hash::keccak; @@ -572,6 +573,7 @@ impl Configuration { infinite_pending_block: self.args.flag_infinite_pending_block, tx_queue_penalization: to_queue_penalization(self.args.arg_tx_time_limit)?, + tx_queue_locals: HashSet::from_iter(to_addresses(&self.args.arg_tx_queue_locals)?.into_iter()), tx_queue_strategy: to_queue_strategy(&self.args.arg_tx_queue_strategy)?, tx_queue_no_unfamiliar_locals: self.args.flag_tx_queue_no_unfamiliar_locals, refuse_service_transactions: self.args.flag_refuse_service_transactions, diff --git a/parity/helpers.rs b/parity/helpers.rs index 1d018f423b9..bcdace48cad 100644 --- a/parity/helpers.rs +++ b/parity/helpers.rs @@ -18,6 +18,7 @@ use std::io; use std::io::{Write, BufReader, BufRead}; use std::time::Duration; use std::fs::File; +use std::collections::HashSet; use ethereum_types::{U256, clean_0x, Address}; use journaldb::Algorithm; use ethcore::client::{Mode, BlockId, VMType, DatabaseCompactionProfile, ClientConfig, VerifierType}; @@ -134,6 +135,13 @@ pub fn to_price(s: &str) -> Result { s.parse::().map_err(|_| format!("Invalid transaciton price 's' given. Must be a decimal number.")) } +pub fn join_set(set: Option<&HashSet>) -> Option { + match set { + Some(s) => Some(s.iter().map(|s| s.as_str()).collect::>().join(",")), + None => None + } +} + /// Flush output buffer. pub fn flush_stdout() { io::stdout().flush().expect("stdout is flushable; qed"); @@ -327,12 +335,13 @@ mod tests { use std::time::Duration; use std::fs::File; use std::io::Write; + use std::collections::HashSet; use tempdir::TempDir; use ethereum_types::U256; use ethcore::client::{Mode, BlockId}; use ethcore::miner::PendingSet; use ethkey::Password; - use super::{to_duration, to_mode, to_block_id, to_u256, to_pending_set, to_address, to_addresses, to_price, geth_ipc_path, to_bootnodes, password_from_file}; + use super::{to_duration, to_mode, to_block_id, to_u256, to_pending_set, to_address, to_addresses, to_price, geth_ipc_path, to_bootnodes, join_set, password_from_file}; #[test] fn test_to_duration() { @@ -472,4 +481,13 @@ but the first password is trimmed assert_eq!(to_bootnodes(&Some(one_bootnode.into())), Ok(vec![one_bootnode.into()])); assert_eq!(to_bootnodes(&Some(two_bootnodes.into())), Ok(vec![one_bootnode.into(), one_bootnode.into()])); } + + #[test] + fn test_join_set() { + let mut test_set = HashSet::new(); + test_set.insert("0x1111111111111111111111111111111111111111".to_string()); + test_set.insert("0x0000000000000000000000000000000000000000".to_string()); + assert_eq!("0x1111111111111111111111111111111111111111,0x0000000000000000000000000000000000000000".to_string(), + join_set(Some(&test_set)).unwrap()); + } } From a139c6d2165e61a014fadf01790c6459279e0b8b Mon Sep 17 00:00:00 2001 From: cheme Date: Tue, 29 Jan 2019 09:26:22 +0100 Subject: [PATCH 62/68] Macos heapsize force jemalloc (#10234) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Switch to non prefixed malloc_size_of on macos * Fix * Testing darwin build * Fix import * conflict * switch heapsize deps commit * switch heapsize commit * Rename branch * Restore gitlab ci to origin * test for mac * mac tests? * Switch of macos CI tests. --- Cargo.lock | 62 +++++++++++++++++++++++++++++++++++++++--------------- Cargo.toml | 3 +++ 2 files changed, 48 insertions(+), 17 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index d4f3f452100..e0249d76cd6 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -292,7 +292,7 @@ dependencies = [ "ethereum-types 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", "ethjson 0.1.0", "ethkey 0.3.0", - "heapsize 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", + "heapsize 0.4.2 (git+https://github.com/cheme/heapsize.git?branch=ec-macfix)", "keccak-hash 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", "parity-bytes 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", "parity-machine 0.1.0", @@ -583,7 +583,7 @@ name = "elastic-array" version = "0.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "heapsize 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", + "heapsize 0.4.2 (git+https://github.com/cheme/heapsize.git?branch=ec-macfix)", ] [[package]] @@ -708,7 +708,7 @@ dependencies = [ "fake-hardware-wallet 0.0.1", "hardware-wallet 1.12.0", "hashdb 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", - "heapsize 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", + "heapsize 0.4.2 (git+https://github.com/cheme/heapsize.git?branch=ec-macfix)", "itertools 0.5.10 (registry+https://github.com/rust-lang/crates.io-index)", "journaldb 0.2.0", "keccak-hash 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", @@ -762,7 +762,7 @@ dependencies = [ "ethcore-db 0.1.0", "ethereum-types 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", "ethkey 0.3.0", - "heapsize 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", + "heapsize 0.4.2 (git+https://github.com/cheme/heapsize.git?branch=ec-macfix)", "itertools 0.5.10 (registry+https://github.com/rust-lang/crates.io-index)", "keccak-hash 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", "kvdb 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -800,7 +800,7 @@ version = "0.1.0" dependencies = [ "common-types 0.1.0", "ethereum-types 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", - "heapsize 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", + "heapsize 0.4.2 (git+https://github.com/cheme/heapsize.git?branch=ec-macfix)", "kvdb 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", "parking_lot 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", "rlp 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -841,7 +841,7 @@ dependencies = [ "fastmap 0.1.0", "futures 0.1.25 (registry+https://github.com/rust-lang/crates.io-index)", "hashdb 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", - "heapsize 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", + "heapsize 0.4.2 (git+https://github.com/cheme/heapsize.git?branch=ec-macfix)", "itertools 0.5.10 (registry+https://github.com/rust-lang/crates.io-index)", "keccak-hash 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", "keccak-hasher 0.1.1", @@ -898,7 +898,7 @@ dependencies = [ "ethkey 0.3.0", "fetch 0.1.0", "futures 0.1.25 (registry+https://github.com/rust-lang/crates.io-index)", - "heapsize 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", + "heapsize 0.4.2 (git+https://github.com/cheme/heapsize.git?branch=ec-macfix)", "hyper 0.12.11 (registry+https://github.com/rust-lang/crates.io-index)", "keccak-hash 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", "linked-hash-map 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)", @@ -984,7 +984,7 @@ dependencies = [ "ethkey 0.3.0", "fetch 0.1.0", "futures 0.1.25 (registry+https://github.com/rust-lang/crates.io-index)", - "heapsize 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", + "heapsize 0.4.2 (git+https://github.com/cheme/heapsize.git?branch=ec-macfix)", "keccak-hash 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.4.5 (registry+https://github.com/rust-lang/crates.io-index)", "parity-bytes 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -1095,7 +1095,7 @@ dependencies = [ "ethstore 0.2.1", "fastmap 0.1.0", "hashdb 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", - "heapsize 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", + "heapsize 0.4.2 (git+https://github.com/cheme/heapsize.git?branch=ec-macfix)", "keccak-hash 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", "keccak-hasher 0.1.1", "kvdb 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -1228,7 +1228,7 @@ dependencies = [ "bit-set 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", "criterion 0.2.5 (registry+https://github.com/rust-lang/crates.io-index)", "ethereum-types 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", - "heapsize 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", + "heapsize 0.4.2 (git+https://github.com/cheme/heapsize.git?branch=ec-macfix)", "keccak-hash 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", "lazy_static 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.4.5 (registry+https://github.com/rust-lang/crates.io-index)", @@ -1348,7 +1348,7 @@ name = "fixed-hash" version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "heapsize 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", + "heapsize 0.4.2 (git+https://github.com/cheme/heapsize.git?branch=ec-macfix)", "libc 0.2.43 (registry+https://github.com/rust-lang/crates.io-index)", "rand 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)", "rustc-hex 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -1375,6 +1375,11 @@ dependencies = [ "winapi 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)", ] +[[package]] +name = "fs_extra" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" + [[package]] name = "fuchsia-zircon" version = "0.3.3" @@ -1505,8 +1510,9 @@ source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "heapsize" version = "0.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" +source = "git+https://github.com/cheme/heapsize.git?branch=ec-macfix#421df390a930cb523a09e5528e6fe57b534b3b26" dependencies = [ + "jemallocator 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)", "winapi 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -1721,6 +1727,25 @@ name = "itoa" version = "0.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" +[[package]] +name = "jemalloc-sys" +version = "0.1.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "cc 1.0.25 (registry+https://github.com/rust-lang/crates.io-index)", + "fs_extra 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.43 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "jemallocator" +version = "0.1.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "jemalloc-sys 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.43 (registry+https://github.com/rust-lang/crates.io-index)", +] + [[package]] name = "jni" version = "0.10.2" @@ -1747,7 +1772,7 @@ dependencies = [ "ethereum-types 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", "fastmap 0.1.0", "hashdb 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", - "heapsize 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", + "heapsize 0.4.2 (git+https://github.com/cheme/heapsize.git?branch=ec-macfix)", "keccak-hash 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", "keccak-hasher 0.1.1", "kvdb 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -2074,7 +2099,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" name = "memory-cache" version = "0.1.0" dependencies = [ - "heapsize 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", + "heapsize 0.4.2 (git+https://github.com/cheme/heapsize.git?branch=ec-macfix)", "lru-cache 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -2089,7 +2114,7 @@ version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "hashdb 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", - "heapsize 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", + "heapsize 0.4.2 (git+https://github.com/cheme/heapsize.git?branch=ec-macfix)", "plain_hasher 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", "rlp 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -4039,7 +4064,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "byteorder 1.2.6 (registry+https://github.com/rust-lang/crates.io-index)", "crunchy 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", - "heapsize 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", + "heapsize 0.4.2 (git+https://github.com/cheme/heapsize.git?branch=ec-macfix)", "rustc-hex 2.0.1 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -4460,6 +4485,7 @@ dependencies = [ "checksum fixedbitset 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)" = "86d4de0081402f5e88cdac65c8dcdcc73118c1a7a465e2a05f0da05843a8ea33" "checksum fnv 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)" = "2fad85553e09a6f881f739c29f0b00b0f01357c743266d478b68951ce23285f3" "checksum fs-swap 0.2.4 (registry+https://github.com/rust-lang/crates.io-index)" = "921d332c89b3b61a826de38c61ee5b6e02c56806cade1b0e5d81bd71f57a71bb" +"checksum fs_extra 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "5f2a4a2034423744d2cc7ca2068453168dcdb82c438419e639a26bd87839c674" "checksum fuchsia-zircon 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "2e9763c69ebaae630ba35f74888db465e49e259ba1bc0eda7d06f4a067615d82" "checksum fuchsia-zircon-sys 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "3dcaa9ae7725d12cdb85b3ad99a434db70b468c09ded17e012d86b5c1010f7a7" "checksum futures 0.1.25 (registry+https://github.com/rust-lang/crates.io-index)" = "49e7653e374fe0d0c12de4250f0bdb60680b8c80eed558c5c7538eec9c89e21b" @@ -4473,7 +4499,7 @@ dependencies = [ "checksum hamming 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)" = "65043da274378d68241eb9a8f8f8aa54e349136f7b8e12f63e3ef44043cc30e1" "checksum handlebars 0.32.4 (registry+https://github.com/rust-lang/crates.io-index)" = "d89ec99d1594f285d4590fc32bac5f75cdab383f1123d504d27862c644a807dd" "checksum hashdb 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "d91261ee336dd046ac7df28306cb297b7a7228bd1ae25e9a57f4ed5e0ab628c7" -"checksum heapsize 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)" = "1679e6ea370dee694f91f1dc469bf94cf8f52051d147aec3e1f9497c6fc22461" +"checksum heapsize 0.4.2 (git+https://github.com/cheme/heapsize.git?branch=ec-macfix)" = "" "checksum heck 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ea04fa3ead4e05e51a7c806fc07271fdbde4e246a6c6d1efd52e72230b771b82" "checksum hex 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "d6a22814455d41612f41161581c2883c0c6a1c41852729b17d5ed88f01e153aa" "checksum hidapi 0.3.1 (git+https://github.com/paritytech/hidapi-rs)" = "" @@ -4496,6 +4522,8 @@ dependencies = [ "checksum itertools 0.7.8 (registry+https://github.com/rust-lang/crates.io-index)" = "f58856976b776fedd95533137617a02fb25719f40e7d9b01c7043cd65474f450" "checksum itertools-num 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "83ca7b70b838f2e34bc6c2f367a1ed1cfe34fb82464adecadd31cdcc7da882fc" "checksum itoa 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)" = "1306f3464951f30e30d12373d31c79fbd52d236e5e896fd92f96ec7babbbe60b" +"checksum jemalloc-sys 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)" = "bfc62c8e50e381768ce8ee0428ee53741929f7ebd73e4d83f669bcf7693e00ae" +"checksum jemallocator 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)" = "9f0cd42ac65f758063fea55126b0148b1ce0a6354ff78e07a4d6806bc65c4ab3" "checksum jni 0.10.2 (registry+https://github.com/rust-lang/crates.io-index)" = "1ecfa3b81afc64d9a6539c4eece96ac9a93c551c713a313800dade8e33d7b5c1" "checksum jni-sys 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "8eaf4bc02d17cbdd7ff4c7438cafcdf7fb9a4613313ad11b4f8fefe7d3fa0130" "checksum jsonrpc-core 9.0.0 (git+https://github.com/paritytech/jsonrpc.git?branch=parity-2.2)" = "" diff --git a/Cargo.toml b/Cargo.toml index c5c73dc52fb..8c73e654807 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -134,3 +134,6 @@ members = [ "parity-clib", "whisper/cli", ] + +[patch.crates-io] +heapsize = { git = "https://github.com/cheme/heapsize.git", branch = "ec-macfix" } From eb3d33ed6ff2a697e9c48eb025c044e6b872f468 Mon Sep 17 00:00:00 2001 From: Gabriel Majoulet Date: Tue, 29 Jan 2019 04:13:21 -0500 Subject: [PATCH 63/68] Update CHANGELOG-2.2.md (#10254) --- docs/CHANGELOG-2.2.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/CHANGELOG-2.2.md b/docs/CHANGELOG-2.2.md index f1e8e79020e..b9fce500075 100644 --- a/docs/CHANGELOG-2.2.md +++ b/docs/CHANGELOG-2.2.md @@ -1,4 +1,4 @@ -## Parity-Ethereum [v2.2.7](https://github.com/paritytech/parity-ethereum/releases/tag/v2.2.7) (2018-01-15) +## Parity-Ethereum [v2.2.7](https://github.com/paritytech/parity-ethereum/releases/tag/v2.2.7) (2019-01-15) Parity-Ethereum 2.2.7-stable is a consensus-relevant security release that reverts Constantinople on the Ethereum network. Upgrading is mandatory for Ethereum, and strongly recommended for other networks. From 12c42bce9b2cb7cce4e0a3362ef6dfd494083adb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tomasz=20Drwi=C4=99ga?= Date: Wed, 30 Jan 2019 13:57:38 +0100 Subject: [PATCH 64/68] Fix join-set test to be deterministic. (#10263) --- parity/helpers.rs | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/parity/helpers.rs b/parity/helpers.rs index bcdace48cad..b68d854d1a9 100644 --- a/parity/helpers.rs +++ b/parity/helpers.rs @@ -487,7 +487,14 @@ but the first password is trimmed let mut test_set = HashSet::new(); test_set.insert("0x1111111111111111111111111111111111111111".to_string()); test_set.insert("0x0000000000000000000000000000000000000000".to_string()); - assert_eq!("0x1111111111111111111111111111111111111111,0x0000000000000000000000000000000000000000".to_string(), - join_set(Some(&test_set)).unwrap()); + + + let res = join_set(Some(&test_set)).unwrap(); + + assert!( + res == "0x1111111111111111111111111111111111111111,0x0000000000000000000000000000000000000000" + || + res == "0x0000000000000000000000000000000000000000,0x1111111111111111111111111111111111111111" + ); } } From 0f9b2218dacb0fbf7d3a68878efdc7e87e42ca70 Mon Sep 17 00:00:00 2001 From: Seun LanLege Date: Fri, 1 Feb 2019 19:31:02 +0100 Subject: [PATCH 65/68] prevent silent errors in daemon mode (#10007) * prevent silent errors in daemon mode * change author in Cargo.toml, add preamble to pipe.rs * set the uid and gid on daemon process, fix permission errors when writing to pid file * call setup_logger before daemonize to prevent crashing when attempting to create logfile * map_err for calls to splice and ioctl, fix spaces in Cargo.toml * split out daemonize to own repo * removed util/daemonize * renamed dep to parity-daemonize * fix(parity-clib): enable `logger` * bump parity-daemonize * remove obsolete comment Co-Authored-By: seunlanlege * fix(grumbles): docs and log in ParityParams * Add FIXME comment regarding @tomaka grumbles * Unify logger with the C-API in ParityParams (less type-safety with more from_raw() conversions) * Add better documentation in the `parity.h` * Apply suggestions from code review Co-Authored-By: seunlanlege * docs(parity lib): add link to logging issue * fix(parity-clib): JNI enable `logger` * fix(parity-clib): update `Java example` * Update example to the API changes * Remove needless printouts which can be controlled via logger instead --- Cargo.lock | 24 +++++++++------- Cargo.toml | 6 +++- parity-clib/Parity.java | 6 ++-- parity-clib/examples/cpp/main.cpp | 9 ++++-- parity-clib/examples/java/Main.java | 10 ++----- parity-clib/parity.h | 30 ++++++++++++++++++++ parity-clib/src/java.rs | 18 ++++++++++-- parity-clib/src/lib.rs | 23 ++++++++++++++- parity/configuration.rs | 3 +- parity/lib.rs | 33 ++++++++++++++-------- parity/logger/src/lib.rs | 2 +- parity/main.rs | 43 +++++++++++++++++++++++++++-- parity/run.rs | 25 ----------------- 13 files changed, 162 insertions(+), 70 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index e0249d76cd6..6f24f667f09 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -503,14 +503,6 @@ dependencies = [ "winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", ] -[[package]] -name = "daemonize" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "libc 0.2.43 (registry+https://github.com/rust-lang/crates.io-index)", -] - [[package]] name = "difference" version = "1.0.0" @@ -2419,6 +2411,18 @@ dependencies = [ "tiny-keccak 1.4.2 (registry+https://github.com/rust-lang/crates.io-index)", ] +[[package]] +name = "parity-daemonize" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "ansi_term 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)", + "failure 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.43 (registry+https://github.com/rust-lang/crates.io-index)", + "log 0.4.5 (registry+https://github.com/rust-lang/crates.io-index)", + "mio 0.6.16 (registry+https://github.com/rust-lang/crates.io-index)", +] + [[package]] name = "parity-ethereum" version = "2.4.0" @@ -2430,7 +2434,6 @@ dependencies = [ "cli-signer 1.4.0", "common-types 0.1.0", "ctrlc 1.1.1 (git+https://github.com/paritytech/rust-ctrlc.git)", - "daemonize 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", "dir 0.1.2", "docopt 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", "ethcore 1.12.0", @@ -2465,6 +2468,7 @@ dependencies = [ "number_prefix 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", "panic_hook 0.1.0", "parity-bytes 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", + "parity-daemonize 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", "parity-hash-fetch 1.12.0", "parity-ipfs-api 1.12.0", "parity-local-store 0.1.0", @@ -4460,7 +4464,6 @@ dependencies = [ "checksum csv-core 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)" = "4dd8e6d86f7ba48b4276ef1317edc8cc36167546d8972feb4a2b5fec0b374105" "checksum ct-logs 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "95a4bf5107667e12bf6ce31a3a5066d67acc88942b6742117a41198734aaccaa" "checksum ctrlc 1.1.1 (git+https://github.com/paritytech/rust-ctrlc.git)" = "" -"checksum daemonize 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "4093d27eb267d617f03c2ee25d4c3ca525b89a76154001954a11984508ffbde5" "checksum difference 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "b3304d19798a8e067e48d8e69b2c37f0b5e9b4e462504ad9e27e9f3fce02bba8" "checksum digest 0.7.6 (registry+https://github.com/rust-lang/crates.io-index)" = "03b072242a8cbaf9c145665af9d250c59af3b958f83ed6824e13533cf76d5b90" "checksum docopt 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)" = "db2906c2579b5b7207fc1e328796a9a8835dc44e22dbe8e460b1d636f9a7b225" @@ -4588,6 +4591,7 @@ dependencies = [ "checksum owning_ref 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "cdf84f41639e037b484f93433aa3897863b561ed65c6e59c7073d7c561710f37" "checksum parity-bytes 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "fa5168b4cf41f3835e4bc6ffb32f51bc9365dc50cb351904595b3931d917fd0c" "checksum parity-crypto 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "8adf489acb31f1922db0ce43803b6f48a425241a8473611be3cc625a8e4a4c47" +"checksum parity-daemonize 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "c6dbaae957a3ddd307fe0ea0361251ceb651a19810b60d404080b258384da292" "checksum parity-path 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "5962540f99d3895d9addf535f37ab1397886bc2c68e59efd040ef458e5f8c3f7" "checksum parity-rocksdb 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)" = "cd55d2d6d6000ec99f021cf52c9acc7d2a402e14f95ced4c5de230696fabe00b" "checksum parity-rocksdb-sys 0.5.5 (registry+https://github.com/rust-lang/crates.io-index)" = "5bbb241262c768522f6460f0e2672dee185c8504d4d0a5a5bab45c1147981c4f" diff --git a/Cargo.toml b/Cargo.toml index 8c73e654807..6123b55d314 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -84,7 +84,7 @@ fake-fetch = { path = "util/fake-fetch" } winapi = { version = "0.3.4", features = ["winsock2", "winuser", "shellapi"] } [target.'cfg(not(windows))'.dependencies] -daemonize = "0.3" +parity-daemonize = "0.1.1" [features] miner-debug = ["ethcore/miner-debug"] @@ -133,6 +133,10 @@ members = [ "evmbin", "parity-clib", "whisper/cli", + "util/triehash-ethereum", + "util/keccak-hasher", + "util/patricia-trie-ethereum", + "util/fastmap" ] [patch.crates-io] diff --git a/parity-clib/Parity.java b/parity-clib/Parity.java index 957439434bf..3885cfb1e68 100644 --- a/parity-clib/Parity.java +++ b/parity-clib/Parity.java @@ -28,9 +28,9 @@ public class Parity { * * @param options The CLI options to start Parity with */ - public Parity(String[] options) { + public Parity(String[] options, String loggerMode, String loggerFile) { long config = configFromCli(options); - inner = build(config); + inner = build(config, loggerMode, loggerFile); } /** Performs an asynchronous RPC query by spawning a background thread that is executed until @@ -76,7 +76,7 @@ public void unsubscribeWebSocket(long session) { } private static native long configFromCli(String[] cliOptions); - private static native long build(long config); + private static native long build(long config, String loggerMode, String loggerFile); private static native void destroy(long inner); private static native void rpcQueryNative(long inner, String rpc, long timeoutMillis, Object callback); private static native long subscribeWebSocketNative(long inner, String rpc, Object callback); diff --git a/parity-clib/examples/cpp/main.cpp b/parity-clib/examples/cpp/main.cpp index d4603ceb7ac..43b31d793fa 100644 --- a/parity-clib/examples/cpp/main.cpp +++ b/parity-clib/examples/cpp/main.cpp @@ -53,10 +53,8 @@ const std::vector ws_subscriptions { void callback(void* user_data, const char* response, size_t _len) { Callback* cb = static_cast(user_data); if (cb->type == CALLBACK_RPC) { - printf("rpc response: %s\r\n", response); cb->counter -= 1; } else if (cb->type == CALLBACK_WS) { - printf("websocket response: %s\r\n", response); std::regex is_subscription ("\\{\"jsonrpc\":\"2.0\",\"result\":\"0[xX][a-fA-F0-9]{16}\",\"id\":1\\}"); if (std::regex_match(response, is_subscription) == true) { cb->counter -= 1; @@ -153,7 +151,8 @@ void* parity_run(std::vector args) { ParityParams cfg = { .configuration = nullptr, .on_client_restart_cb = callback, - .on_client_restart_cb_custom = nullptr + .on_client_restart_cb_custom = nullptr, + .logger = nullptr }; std::vector str_lens; @@ -173,6 +172,10 @@ void* parity_run(std::vector args) { } } + // enable logging but only the `rpc module` and don't write it to a file + char log_mode [] = "rpc=trace"; + parity_set_logger(log_mode, strlen(log_mode), nullptr, 0, &cfg.logger); + void *parity = nullptr; if (parity_start(&cfg, &parity) != 0) { return nullptr; diff --git a/parity-clib/examples/java/Main.java b/parity-clib/examples/java/Main.java index b5f49050624..c20b9e34d6f 100644 --- a/parity-clib/examples/java/Main.java +++ b/parity-clib/examples/java/Main.java @@ -35,7 +35,9 @@ class Main { }; public static void runParity(String[] config) { - Parity parity = new Parity(config); + String loggerMode = "rpc=trace"; + String loggerFile = "foo.log"; + Parity parity = new Parity(config, loggerMode, loggerFile); Callback rpcCallback = new Callback(1); Callback webSocketCallback = new Callback(2); @@ -94,12 +96,6 @@ public Callback(int type) { } public void callback(Object response) { - response = (String) response; - if (callbackType == 1) { - System.out.println("rpc: " + response); - } else if (callbackType == 2) { - System.out.println("ws: " + response); - } counter.getAndIncrement(); } diff --git a/parity-clib/parity.h b/parity-clib/parity.h index b48277810fe..7bba08e4337 100644 --- a/parity-clib/parity.h +++ b/parity-clib/parity.h @@ -35,6 +35,9 @@ struct ParityParams { /// Custom parameter passed to the `on_client_restart_cb` callback as first parameter. void *on_client_restart_cb_custom; + + /// Logger object which must be created by the `parity_config_logger` function + void *logger; }; #ifdef __cplusplus @@ -63,6 +66,33 @@ extern "C" { /// int parity_config_from_cli(char const* const* args, size_t const* arg_lens, size_t len, void** out); +/// Builds a new logger object which should be a member of the `ParityParams struct` +/// +/// - log_mode : String representing the log mode according to `Rust LOG` or nullptr to disable logging. +/// See module documentation for `ethcore-logger` for more info. +/// - log_mode_len : Length of the log_mode or zero to disable logging +/// - log_file : String respresenting the file name to write to log to or nullptr to disable logging to a file +/// - log_mode_len : Length of the log_file or zero to disable logging to a file +/// - logger : Pointer to point to the created `Logger` object + +/// **Important**: This function must only be called exactly once otherwise it will panic. If you want to disable a +/// logging mode or logging to a file make sure that you pass the `length` as zero +/// +/// # Example +/// +/// ```no_run +/// void* cfg; +/// const char *args[] = {"--light", "--can-restart"}; +/// size_t str_lens[] = {7, 13}; +/// if (parity_config_from_cli(args, str_lens, 2, &cfg) != 0) { +/// return 1; +/// } +/// char[] logger_mode = "rpc=trace"; +/// parity_set_logger(logger_mode, strlen(logger_mode), nullptr, 0, &cfg.logger); +/// ``` +/// +int parity_set_logger(const char* log_mode, size_t log_mode_len, const char* log_file, size_t log_file_len, void** logger); + /// Destroys a configuration object created earlier. /// /// **Important**: You probably don't need to call this function. Calling `parity_start` destroys diff --git a/parity-clib/src/java.rs b/parity-clib/src/java.rs index 88f5444ea8c..bb807083a48 100644 --- a/parity-clib/src/java.rs +++ b/parity-clib/src/java.rs @@ -20,7 +20,7 @@ use std::time::Duration; use std::thread; use std::os::raw::c_void; -use {parity_config_from_cli, parity_destroy, parity_start, parity_unsubscribe_ws, ParityParams, error}; +use {parity_config_from_cli, parity_destroy, parity_set_logger, parity_start, parity_unsubscribe_ws, ParityParams, error}; use futures::{Future, Stream}; use futures::sync::mpsc; @@ -96,12 +96,24 @@ pub unsafe extern "system" fn Java_io_parity_ethereum_Parity_configFromCli(env: } #[no_mangle] -pub unsafe extern "system" fn Java_io_parity_ethereum_Parity_build(env: JNIEnv, _: JClass, config: va_list) -> jlong { - let params = ParityParams { +pub unsafe extern "system" fn Java_io_parity_ethereum_Parity_build( + env: JNIEnv, + _: JClass, + config: va_list, + logger_mode: JString, + logger_file: JString +) -> jlong { + let mut params = ParityParams { configuration: config, .. mem::zeroed() }; + let logger_mode: String = env.get_string(logger_mode).expect("valid JString; qed").into(); + let logger_file: String = env.get_string(logger_file).expect("valid JString; qed").into(); + + parity_set_logger(logger_mode.as_ptr(), logger_mode.as_bytes().len(), logger_file.as_ptr(), + logger_file.as_bytes().len(), &mut params.logger); + let mut out = ptr::null_mut(); match parity_start(¶ms, &mut out) { 0 => out as jlong, diff --git a/parity-clib/src/lib.rs b/parity-clib/src/lib.rs index 38130372703..eca6edcd696 100644 --- a/parity-clib/src/lib.rs +++ b/parity-clib/src/lib.rs @@ -54,6 +54,7 @@ pub struct ParityParams { pub configuration: *mut c_void, pub on_client_restart_cb: Callback, pub on_client_restart_cb_custom: *mut c_void, + pub logger: *mut c_void } #[no_mangle] @@ -112,6 +113,7 @@ pub unsafe extern fn parity_start(cfg: *const ParityParams, output: *mut *mut c_ *output = ptr::null_mut(); let cfg: &ParityParams = &*cfg; + let logger = Arc::from_raw(cfg.logger as *mut parity_ethereum::RotatingLogger); let config = Box::from_raw(cfg.configuration as *mut parity_ethereum::Configuration); let on_client_restart_cb = { @@ -122,7 +124,7 @@ pub unsafe extern fn parity_start(cfg: *const ParityParams, output: *mut *mut c_ move |new_chain: String| { cb.call(new_chain.as_bytes()); } }; - let action = match parity_ethereum::start(*config, on_client_restart_cb, || {}) { + let action = match parity_ethereum::start(*config, logger, on_client_restart_cb, || {}) { Ok(action) => action, Err(_) => return 1, }; @@ -262,6 +264,25 @@ pub unsafe extern fn parity_set_panic_hook(callback: Callback, param: *mut c_voi }); } +#[no_mangle] +pub unsafe extern fn parity_set_logger( + logger_mode: *const u8, + logger_mode_len: usize, + log_file: *const u8, + log_file_len: usize, + logger: *mut *mut c_void) { + + let mut logger_cfg = parity_ethereum::LoggerConfig::default(); + logger_cfg.mode = String::from_utf8(slice::from_raw_parts(logger_mode, logger_mode_len).to_owned()).ok(); + + // Make sure an empty string is not constructed as file name (to prevent panic) + if log_file_len != 0 && !log_file.is_null() { + logger_cfg.file = String::from_utf8(slice::from_raw_parts(log_file, log_file_len).to_owned()).ok(); + } + + *logger = Arc::into_raw(parity_ethereum::setup_log(&logger_cfg).expect("Logger initialized only once; qed")) as *mut _; +} + // Internal structure for handling callbacks that get passed a string. struct CallbackStr { user_data: *mut c_void, diff --git a/parity/configuration.rs b/parity/configuration.rs index aaa554d6af4..a32183a79e6 100644 --- a/parity/configuration.rs +++ b/parity/configuration.rs @@ -473,7 +473,8 @@ impl Configuration { } } - fn logger_config(&self) -> LogConfig { + /// returns logger config + pub fn logger_config(&self) -> LogConfig { LogConfig { mode: self.args.arg_logging.clone(), color: !self.args.flag_no_color && !cfg!(windows), diff --git a/parity/lib.rs b/parity/lib.rs index b96995910c3..c333c24186a 100644 --- a/parity/lib.rs +++ b/parity/lib.rs @@ -111,19 +111,22 @@ mod user_defaults; mod whisper; mod db; -use std::io::BufReader; use std::fs::File; -use hash::keccak_buffer; +use std::io::BufReader; +use std::sync::Arc; + use cli::Args; use configuration::{Cmd, Execute}; use deprecated::find_deprecated; -use ethcore_logger::setup_log; +use hash::keccak_buffer; + #[cfg(feature = "memory_profiling")] use std::alloc::System; pub use self::configuration::Configuration; pub use self::run::RunningClient; pub use parity_rpc::PubSubSession; +pub use ethcore_logger::{Config as LoggerConfig, setup_log, RotatingLogger}; #[cfg(feature = "memory_profiling")] #[global_allocator] @@ -180,14 +183,13 @@ pub enum ExecutionAction { Running(RunningClient), } -fn execute(command: Execute, on_client_rq: Cr, on_updater_rq: Rr) -> Result +fn execute( + command: Execute, + logger: Arc, + on_client_rq: Cr, on_updater_rq: Rr) -> Result where Cr: Fn(String) + 'static + Send, Rr: Fn() + 'static + Send { - // TODO: move this to `main()` and expose in the C API so that users can setup logging the way - // they want - let logger = setup_log(&command.logger).expect("Logger is initialized only once; qed"); - #[cfg(feature = "deadlock_detection")] run_deadlock_detection_thread(); @@ -221,14 +223,21 @@ fn execute(command: Execute, on_client_rq: Cr, on_updater_rq: Rr) -> Res /// binary. /// /// On error, returns what to print on stderr. -pub fn start(conf: Configuration, on_client_rq: Cr, on_updater_rq: Rr) -> Result - where Cr: Fn(String) + 'static + Send, - Rr: Fn() + 'static + Send +// FIXME: totally independent logging capability, see https://github.com/paritytech/parity-ethereum/issues/10252 +pub fn start( + conf: Configuration, + logger: Arc, + on_client_rq: Cr, + on_updater_rq: Rr +) -> Result + where + Cr: Fn(String) + 'static + Send, + Rr: Fn() + 'static + Send { let deprecated = find_deprecated(&conf.args); for d in deprecated { println!("{}", d); } - execute(conf.into_command()?, on_client_rq, on_updater_rq) + execute(conf.into_command()?, logger, on_client_rq, on_updater_rq) } diff --git a/parity/logger/src/lib.rs b/parity/logger/src/lib.rs index da4a28bed10..a2e3de176aa 100644 --- a/parity/logger/src/lib.rs +++ b/parity/logger/src/lib.rs @@ -94,7 +94,7 @@ pub fn setup_log(config: &Config) -> Result, String> { let maybe_file = match config.file.as_ref() { Some(f) => Some(open_options .append(true).create(true).open(f) - .map_err(|_| format!("Cannot write to log file given: {}", f))?), + .map_err(|e| format!("Cannot write to log file given: {}, {}", f, e))?), None => None, }; diff --git a/parity/main.rs b/parity/main.rs index fd943741404..5ad9de4d2d3 100644 --- a/parity/main.rs +++ b/parity/main.rs @@ -26,8 +26,11 @@ extern crate log; extern crate panic_hook; extern crate parity_ethereum; extern crate parking_lot; +extern crate parity_daemonize; +extern crate ansi_term; #[cfg(windows)] extern crate winapi; +extern crate ethcore_logger; use std::ffi::OsString; use std::fs::{remove_file, metadata, File, create_dir_all}; @@ -36,12 +39,13 @@ use std::path::PathBuf; use std::sync::Arc; use std::sync::atomic::{AtomicBool, Ordering}; use std::{process, env}; - +use ansi_term::Colour; use ctrlc::CtrlC; use dir::default_hypervisor_path; use fdlimit::raise_fd_limit; use parity_ethereum::{start, ExecutionAction}; use parking_lot::{Condvar, Mutex}; +use ethcore_logger::setup_log; const PLEASE_RESTART_EXIT_CODE: i32 = 69; const PARITY_EXECUTABLE_NAME: &str = "parity"; @@ -184,11 +188,33 @@ fn main_direct(force_can_restart: bool) -> i32 { parity_ethereum::Configuration::parse_cli(&args).unwrap_or_else(|e| e.exit()) }; + let logger = setup_log(&conf.logger_config()).expect("Logger is initialized only once; qed"); + if let Some(spec_override) = take_spec_name_override() { conf.args.flag_testnet = false; conf.args.arg_chain = spec_override; } + let handle = if let Some(ref pid) = conf.args.arg_daemon_pid_file { + info!("{}", Colour::Blue.paint("starting in daemon mode").to_string()); + let _ = std::io::stdout().flush(); + + match parity_daemonize::daemonize(pid) { + Ok(h) => Some(h), + Err(e) => { + error!( + "{}", + Colour::Red.paint(format!("{}", e)) + ); + // flush before returning + let _ = std::io::stderr().flush(); + return 1; + } + } + } else { + None + }; + let can_restart = force_can_restart || conf.args.flag_can_restart; // increase max number of open files @@ -208,6 +234,7 @@ fn main_direct(force_can_restart: bool) -> i32 { let exec = if can_restart { start( conf, + logger, { let e = exit.clone(); let exiting = exiting.clone(); @@ -239,10 +266,9 @@ fn main_direct(force_can_restart: bool) -> i32 { } } ) - } else { trace!(target: "mode", "Not hypervised: not setting exit handlers."); - start(conf, move |_| {}, move || {}) + start(conf, logger, move |_| {}, move || {}) }; let res = match exec { @@ -283,6 +309,12 @@ fn main_direct(force_can_restart: bool) -> i32 { } }); + // so the client has started successfully + // if this is a daemon, detach from the parent process + if let Some(mut handle) = handle { + handle.detach() + } + // Wait for signal let mut lock = exit.0.lock(); if !lock.should_exit { @@ -306,6 +338,11 @@ fn main_direct(force_can_restart: bool) -> i32 { }, }, Err(err) => { + // error occured during start up + // if this is a daemon, detach from the parent process + if let Some(mut handle) = handle { + handle.detach_with_msg(format!("{}", Colour::Red.paint(&err))) + } writeln!(&mut stdio::stderr(), "{}", err).expect("StdErr available; qed"); 1 }, diff --git a/parity/run.rs b/parity/run.rs index 03dbe447f37..805a38c4ab8 100644 --- a/parity/run.rs +++ b/parity/run.rs @@ -488,14 +488,6 @@ fn execute_impl(cmd: RunCmd, logger: Arc, on_client_rq: let passwords = passwords_from_files(&cmd.acc_conf.password_files)?; - // Run in daemon mode. - // Note, that it should be called before we leave any file descriptor open, - // since `daemonize` will close them. - if let Some(pid_file) = cmd.daemon { - info!("Running as a daemon process!"); - daemonize(pid_file)?; - } - // prepare account provider let account_provider = Arc::new(prepare_account_provider(&cmd.spec, &cmd.dirs, &spec.data_dir, cmd.acc_conf, &passwords)?); @@ -954,23 +946,6 @@ pub fn execute(cmd: RunCmd, logger: Arc, } } -#[cfg(not(windows))] -fn daemonize(pid_file: String) -> Result<(), String> { - extern crate daemonize; - - daemonize::Daemonize::new() - .pid_file(pid_file) - .chown_pid_file(true) - .start() - .map(|_| ()) - .map_err(|e| format!("Couldn't daemonize; {}", e)) -} - -#[cfg(windows)] -fn daemonize(_pid_file: String) -> Result<(), String> { - Err("daemon is no supported on windows".into()) -} - fn print_running_environment(data_dir: &str, dirs: &Directories, db_dirs: &DatabaseDirectories) { info!("Starting {}", Colour::White.bold().paint(version())); info!("Keys path {}", Colour::White.bold().paint(dirs.keys_path(data_dir).to_string_lossy().into_owned())); From 3b23c2e86d09a8a8b8cd99dfa02390177498e6b7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tomasz=20Drwi=C4=99ga?= Date: Sun, 3 Feb 2019 12:26:25 +0100 Subject: [PATCH 66/68] Additional tests for uint deserialization. (#10279) --- rpc/src/v1/types/bytes.rs | 4 +++- rpc/src/v1/types/hash.rs | 2 +- rpc/src/v1/types/uint.rs | 4 +++- 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/rpc/src/v1/types/bytes.rs b/rpc/src/v1/types/bytes.rs index 12edd76bc86..837f3b5f9a6 100644 --- a/rpc/src/v1/types/bytes.rs +++ b/rpc/src/v1/types/bytes.rs @@ -74,7 +74,7 @@ impl<'a> Visitor<'a> for BytesVisitor { } fn visit_str(self, value: &str) -> Result where E: Error { - if value.len() >= 2 && &value[0..2] == "0x" && value.len() & 1 == 0 { + if value.len() >= 2 && value.starts_with("0x") && value.len() & 1 == 0 { Ok(Bytes::new(FromHex::from_hex(&value[2..]).map_err(|e| Error::custom(format!("Invalid hex: {}", e)))?)) } else { Err(Error::custom("Invalid bytes format. Expected a 0x-prefixed hex string with even length")) @@ -101,6 +101,7 @@ mod tests { #[test] fn test_bytes_deserialize() { + let bytes0: Result = serde_json::from_str(r#""∀∂""#); let bytes1: Result = serde_json::from_str(r#""""#); let bytes2: Result = serde_json::from_str(r#""0x123""#); let bytes3: Result = serde_json::from_str(r#""0xgg""#); @@ -109,6 +110,7 @@ mod tests { let bytes5: Bytes = serde_json::from_str(r#""0x12""#).unwrap(); let bytes6: Bytes = serde_json::from_str(r#""0x0123""#).unwrap(); + assert!(bytes0.is_err()); assert!(bytes1.is_err()); assert!(bytes2.is_err()); assert!(bytes3.is_err()); diff --git a/rpc/src/v1/types/hash.rs b/rpc/src/v1/types/hash.rs index 9a51b063061..6cdaccf43b8 100644 --- a/rpc/src/v1/types/hash.rs +++ b/rpc/src/v1/types/hash.rs @@ -129,7 +129,7 @@ macro_rules! impl_hash { fn visit_str(self, value: &str) -> Result where E: serde::de::Error { - if value.len() < 2 || &value[0..2] != "0x" { + if value.len() < 2 || !value.starts_with("0x") { return Err(E::custom("expected a hex-encoded hash with 0x prefix")); } if value.len() != 2 + $size * 2 { diff --git a/rpc/src/v1/types/uint.rs b/rpc/src/v1/types/uint.rs index 122cb2269a4..3c5801c07ce 100644 --- a/rpc/src/v1/types/uint.rs +++ b/rpc/src/v1/types/uint.rs @@ -72,7 +72,7 @@ macro_rules! impl_uint { } fn visit_str(self, value: &str) -> Result where E: serde::de::Error { - if value.len() < 2 || &value[0..2] != "0x" { + if value.len() < 2 || !value.starts_with("0x") { return Err(E::custom("expected a hex-encoded numbers with 0x prefix")) } @@ -140,12 +140,14 @@ mod tests { #[test] fn should_fail_to_deserialize_decimals() { + let deserialized0: Res = serde_json::from_str(r#""∀∂""#); let deserialized1: Res = serde_json::from_str(r#""""#); let deserialized2: Res = serde_json::from_str(r#""0""#); let deserialized3: Res = serde_json::from_str(r#""10""#); let deserialized4: Res = serde_json::from_str(r#""1000000""#); let deserialized5: Res = serde_json::from_str(r#""1000000000000000000""#); + assert!(deserialized0.is_err()); assert!(deserialized1.is_err()); assert!(deserialized2.is_err()); assert!(deserialized3.is_err()); From 12ac992ffb43167273da01920505414ade37a8eb Mon Sep 17 00:00:00 2001 From: Pierre Krieger Date: Sun, 3 Feb 2019 13:23:07 +0100 Subject: [PATCH 67/68] Don't run the CPP example on CI (#10285) * Don't run the CPP example on CI * Add comment --- test.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/test.sh b/test.sh index 1e38c2a23df..1b05194e471 100755 --- a/test.sh +++ b/test.sh @@ -57,8 +57,8 @@ cpp_test () { cd $DIR cmake .. make -j $THREADS - ./parity-example > example.logs - tail --lines 100 example.logs + # Note: we don't try to run the example because it tries to sync Kovan, and we don't want + # that to happen on CI cd - rm -rf $DIR ;; From 06cae8a53556dede67e163325657bee3fba8feda Mon Sep 17 00:00:00 2001 From: Pierre Krieger Date: Sun, 3 Feb 2019 13:32:06 +0100 Subject: [PATCH 68/68] Fix Windows build (#10284) --- Cargo.toml | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/Cargo.toml b/Cargo.toml index 6123b55d314..54b89b0f159 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -50,6 +50,7 @@ node-filter = { path = "ethcore/node-filter" } ethkey = { path = "accounts/ethkey" } rlp = { version = "0.3.0", features = ["ethereum"] } cli-signer= { path = "cli-signer" } +parity-daemonize = "0.1.1" parity-hash-fetch = { path = "updater/hash-fetch" } parity-ipfs-api = { path = "ipfs" } parity-local-store = { path = "miner/local-store" } @@ -83,9 +84,6 @@ fake-fetch = { path = "util/fake-fetch" } [target.'cfg(windows)'.dependencies] winapi = { version = "0.3.4", features = ["winsock2", "winuser", "shellapi"] } -[target.'cfg(not(windows))'.dependencies] -parity-daemonize = "0.1.1" - [features] miner-debug = ["ethcore/miner-debug"] json-tests = ["ethcore/json-tests"]