Compare commits

..

No commits in common. "c90ef5f7e3387d1f2a6b2d9db789c7432e16323b" and "eb9fc16b439ce1d1f0c399db79f08a873ee71290" have entirely different histories.

9 changed files with 233 additions and 424 deletions

14
Cargo.lock generated
View File

@ -3530,7 +3530,7 @@ dependencies = [
[[package]] [[package]]
name = "ghost-cli" name = "ghost-cli"
version = "0.8.5" version = "0.8.4"
dependencies = [ dependencies = [
"cfg-if", "cfg-if",
"clap 4.5.4", "clap 4.5.4",
@ -3586,7 +3586,7 @@ dependencies = [
[[package]] [[package]]
name = "ghost-machine-primitives" name = "ghost-machine-primitives"
version = "0.8.5" version = "0.8.4"
dependencies = [ dependencies = [
"lazy_static", "lazy_static",
"sc-sysinfo", "sc-sysinfo",
@ -3595,7 +3595,7 @@ dependencies = [
[[package]] [[package]]
name = "ghost-metrics" name = "ghost-metrics"
version = "0.8.5" version = "0.8.4"
dependencies = [ dependencies = [
"assert_cmd", "assert_cmd",
"bs58 0.5.1", "bs58 0.5.1",
@ -3670,7 +3670,7 @@ dependencies = [
[[package]] [[package]]
name = "ghost-node" name = "ghost-node"
version = "0.8.5" version = "0.8.4"
dependencies = [ dependencies = [
"assert_cmd", "assert_cmd",
"color-eyre", "color-eyre",
@ -3701,7 +3701,7 @@ dependencies = [
[[package]] [[package]]
name = "ghost-rpc" name = "ghost-rpc"
version = "0.8.5" version = "0.8.4"
dependencies = [ dependencies = [
"ghost-core-primitives", "ghost-core-primitives",
"jsonrpsee", "jsonrpsee",
@ -3753,7 +3753,7 @@ dependencies = [
[[package]] [[package]]
name = "ghost-service" name = "ghost-service"
version = "0.8.5" version = "0.8.4"
dependencies = [ dependencies = [
"assert_matches", "assert_matches",
"async-trait", "async-trait",
@ -3837,7 +3837,7 @@ dependencies = [
[[package]] [[package]]
name = "ghost-slow-clap" name = "ghost-slow-clap"
version = "0.4.14" version = "0.4.12"
dependencies = [ dependencies = [
"frame-benchmarking", "frame-benchmarking",
"frame-support", "frame-support",

View File

@ -17,7 +17,7 @@ homepage.workspace = true
[workspace.package] [workspace.package]
license = "GPL-3.0-only" license = "GPL-3.0-only"
authors = ["571nky", "57r37ch", "f4750"] authors = ["571nky", "57r37ch", "f4750"]
version = "0.8.5" version = "0.8.4"
edition = "2021" edition = "2021"
homepage = "https://ghostchain.io" homepage = "https://ghostchain.io"
repository = "https://git.ghostchain.io/ghostchain/ghost-node" repository = "https://git.ghostchain.io/ghostchain/ghost-node"

View File

@ -1,6 +1,6 @@
[package] [package]
name = "ghost-slow-clap" name = "ghost-slow-clap"
version = "0.4.14" version = "0.4.12"
description = "Applause protocol for the EVM bridge" description = "Applause protocol for the EVM bridge"
license.workspace = true license.workspace = true
authors.workspace = true authors.workspace = true

View File

@ -166,9 +166,6 @@ enum OffchainErr<NetworkId> {
EmptyResponses, EmptyResponses,
NotValidator, NotValidator,
DifferentEvmResponseTypes, DifferentEvmResponseTypes,
MissingBlockNumber(u32, u32),
ContradictoryTransactionLogs(u32, u32),
ContradictoryBlockMedian(u64, u64, u64),
UnparsableRequestBody(Vec<u8>), UnparsableRequestBody(Vec<u8>),
NoEndpointAvailable(NetworkId), NoEndpointAvailable(NetworkId),
StorageRetrievalError(NetworkId), StorageRetrievalError(NetworkId),
@ -207,21 +204,9 @@ impl<NetworkId: core::fmt::Debug> core::fmt::Debug for OffchainErr<NetworkId> {
fmt, fmt,
"Different endpoints returned conflicting response types." "Different endpoints returned conflicting response types."
), ),
OffchainErr::MissingBlockNumber(ref index, ref length) => write!(
fmt,
"Could not get block response at index {index} where total length is {length}.",
),
OffchainErr::ContradictoryBlockMedian(ref mid, ref prev, ref distance) => write!(
fmt,
"Contradictory block median: values are {prev} {mid} while max distance is {distance}.",
),
OffchainErr::ContradictoryTransactionLogs(ref count, ref number) => write!(
fmt,
"Contradictory tx logs: {number} event sequences from {count} endpoints.",
),
OffchainErr::UnparsableRequestBody(ref bytes) => write!( OffchainErr::UnparsableRequestBody(ref bytes) => write!(
fmt, fmt,
"Could not get valid utf8 request body from bytes: {:?}.", "Could not get valid utf8 request body from bytes: {:?}",
bytes bytes
), ),
OffchainErr::NoEndpointAvailable(ref network_id) => write!( OffchainErr::NoEndpointAvailable(ref network_id) => write!(
@ -898,17 +883,18 @@ impl<T: Config> Pallet<T> {
let pending_requests = let pending_requests =
Self::prepare_pending_evm_requests(&rpc_endpoints, &request_body)?; Self::prepare_pending_evm_requests(&rpc_endpoints, &request_body)?;
let parsed_evm_responses = Self::fetch_multiple_evm_from_remote(pending_requests) let parsed_evm_responses =
.iter() Self::fetch_multiple_evm_from_remote(pending_requests)
.filter_map(|response_bytes| { .iter()
let parsed_evm_response = Self::parse_evm_response(response_bytes).ok()?; .filter_map(|response_bytes| {
Some(parsed_evm_response) let parsed_evm_response =
}) Self::parse_evm_response(response_bytes).ok()?;
.collect::<Vec<EvmResponseType>>(); Some(parsed_evm_response)
})
.collect::<Vec<EvmResponseType>>();
Self::check_evm_responses_correctness(&parsed_evm_responses)?; Self::check_evm_responses_correctness(&parsed_evm_responses)?;
let parsed_evm_response = let parsed_evm_response = Self::get_balanced_evm_response(&parsed_evm_responses)?;
Self::get_balanced_evm_response(&parsed_evm_responses, max_block_distance)?;
let new_block_range = match parsed_evm_response { let new_block_range = match parsed_evm_response {
EvmResponseType::BlockNumber(new_evm_block) if from_block.le(&to_block) => { EvmResponseType::BlockNumber(new_evm_block) if from_block.le(&to_block) => {
@ -1006,7 +992,9 @@ impl<T: Config> Pallet<T> {
.deadline(deadline) .deadline(deadline)
.send() .send()
{ {
Ok(pending) => pending_requests.push(pending), Ok(pending) => {
pending_requests.push(pending)
}
Err(_) => { Err(_) => {
log::info!( log::info!(
target: LOG_TARGET, target: LOG_TARGET,
@ -1023,7 +1011,7 @@ impl<T: Config> Pallet<T> {
log::info!( log::info!(
target: LOG_TARGET, target: LOG_TARGET,
"👻 Requests sent {} out of {} possible RPC endpoints", "👻 Requests sent {} out of {}",
pending_requests.len(), pending_requests.len(),
rpc_endpoints.len(), rpc_endpoints.len(),
); );
@ -1033,7 +1021,6 @@ impl<T: Config> Pallet<T> {
fn get_balanced_evm_response( fn get_balanced_evm_response(
parsed_evm_responses: &Vec<EvmResponseType>, parsed_evm_responses: &Vec<EvmResponseType>,
max_block_distance: u64,
) -> OffchainResult<T, EvmResponseType> { ) -> OffchainResult<T, EvmResponseType> {
let first_evm_response = parsed_evm_responses let first_evm_response = parsed_evm_responses
.first() .first()
@ -1048,68 +1035,27 @@ impl<T: Config> Pallet<T> {
EvmResponseType::BlockNumber(block) => Some((index as u32, *block)), EvmResponseType::BlockNumber(block) => Some((index as u32, *block)),
EvmResponseType::TransactionLogs(_) => None, EvmResponseType::TransactionLogs(_) => None,
}) })
.collect::<Vec<_>>(); .collect();
let block_numbers_len = block_numbers.len() as u32;
let median_value = Self::calculate_median_value(&mut block_numbers); let median_value = Self::calculate_median_value(&mut block_numbers);
// there is no intention to make it resistent to *ANY* type of issues around RPC
// ednpoint. here we are trying to protect against `parsed_evm_responses.len() ==
// 2` while one of it is malicious in order not to fall in the block backoff later
let mid_idx =
block_numbers.partition_point(|&block_meta| block_meta.1 < median_value);
let mid_block = block_numbers.get(mid_idx).map(|(_, block)| *block).ok_or(
OffchainErr::MissingBlockNumber(mid_idx as u32, block_numbers_len),
)?;
let prev_block = if block_numbers_len % 2 == 0 {
let prev_idx = mid_idx.saturating_sub(1);
let prev_block = block_numbers.get(prev_idx).map(|(_, block)| *block).ok_or(
OffchainErr::MissingBlockNumber(prev_idx as u32, block_numbers_len),
)?;
prev_block
} else {
mid_block
};
if mid_block.abs_diff(prev_block) > max_block_distance {
return Err(OffchainErr::ContradictoryBlockMedian(
mid_block,
prev_block,
max_block_distance,
));
}
EvmResponseType::BlockNumber(median_value) EvmResponseType::BlockNumber(median_value)
} }
EvmResponseType::TransactionLogs(_) => { EvmResponseType::TransactionLogs(_) => {
let mut count_btree_map = BTreeMap::new(); let mut btree_map = BTreeMap::new();
parsed_evm_responses.iter().for_each(|response| { parsed_evm_responses.iter().for_each(|response| {
if let EvmResponseType::TransactionLogs(logs) = response { if let EvmResponseType::TransactionLogs(logs) = response {
let mut inner_logs = logs.clone(); let mut inner_logs = logs.clone();
inner_logs.sort_by_key(|l| l.block_number); inner_logs.sort_by_key(|l| l.block_number);
*count_btree_map.entry(inner_logs).or_insert(0) += 1; *btree_map.entry(inner_logs).or_insert(0) += 1;
} }
}); });
let (best_logs_ref, max_count) = count_btree_map let best_logs = btree_map
.iter() .into_iter()
.max_by_key(|&(_, count)| count) .max_by_key(|&(_, count)| count)
.map(|(logs, count)| (logs, count)) .map(|(v, _)| v.clone())
.ok_or(OffchainErr::EmptyResponses)?; .ok_or(OffchainErr::EmptyResponses)?;
let best_logs_count = count_btree_map EvmResponseType::TransactionLogs(best_logs)
.values()
.filter(|&&count| count == *max_count)
.count();
if best_logs_count > 1 {
return Err(OffchainErr::ContradictoryTransactionLogs(
*max_count,
best_logs_count as u32,
));
}
EvmResponseType::TransactionLogs(best_logs_ref.clone())
} }
}; };
@ -1133,7 +1079,9 @@ impl<T: Config> Pallet<T> {
Ok(()) Ok(())
} }
fn fetch_multiple_evm_from_remote(pending_requests: Vec<PendingRequest>) -> Vec<Vec<u8>> { fn fetch_multiple_evm_from_remote(
pending_requests: Vec<PendingRequest>,
) -> Vec<Vec<u8>> {
let mut requests_failed = 0; let mut requests_failed = 0;
let mut responses_failed = 0; let mut responses_failed = 0;
let mut responses_non_200 = 0; let mut responses_non_200 = 0;
@ -1175,8 +1123,8 @@ impl<T: Config> Pallet<T> {
log::info!( log::info!(
target: LOG_TARGET, target: LOG_TARGET,
"👻 Fetched {} of {}: {} failed request, {} failed responses, {} non 200 code", "👻 Fetched {} of {}: {} failed request, {} failed responses, {} non 200 code",
parsed_evm_responses.len(),
pending_requests_len, pending_requests_len,
parsed_evm_responses.len(),
requests_failed, requests_failed,
responses_failed, responses_failed,
responses_non_200, responses_non_200,

View File

@ -1565,10 +1565,9 @@ fn should_check_responses_correctly() {
#[test] #[test]
fn should_get_balanced_responses_correctly() { fn should_get_balanced_responses_correctly() {
new_test_ext().execute_with(|| { new_test_ext().execute_with(|| {
let max_distance = 420;
let empty_responses = vec![]; let empty_responses = vec![];
assert_err!( assert_err!(
SlowClap::get_balanced_evm_response(&empty_responses, max_distance), SlowClap::get_balanced_evm_response(&empty_responses),
OffchainErr::EmptyResponses, OffchainErr::EmptyResponses,
); );
@ -1578,20 +1577,10 @@ fn should_get_balanced_responses_correctly() {
EvmResponseType::BlockNumber(422), EvmResponseType::BlockNumber(422),
EvmResponseType::BlockNumber(1337), EvmResponseType::BlockNumber(1337),
]; ];
let median_block = let median_block = SlowClap::get_balanced_evm_response(&correct_block_responses)
SlowClap::get_balanced_evm_response(&correct_block_responses, max_distance) .expect("median block should be extractable; qed");
.expect("median block should be extractable; qed");
assert_eq!(median_block, EvmResponseType::BlockNumber(421)); assert_eq!(median_block, EvmResponseType::BlockNumber(421));
let contradictory_block_responses = vec![
EvmResponseType::BlockNumber(69),
EvmResponseType::BlockNumber(1337),
];
assert_err!(
SlowClap::get_balanced_evm_response(&contradictory_block_responses, max_distance),
OffchainErr::ContradictoryBlockMedian(1337, 69, max_distance),
);
let first_correct_log = Log { let first_correct_log = Log {
transaction_hash: Some(H256::random()), transaction_hash: Some(H256::random()),
block_number: Some(69), block_number: Some(69),
@ -1652,7 +1641,7 @@ fn should_get_balanced_responses_correctly() {
second_wrong_transaction_log, second_wrong_transaction_log,
]), ]),
]; ];
let best_logs = SlowClap::get_balanced_evm_response(&correct_log_responses, 420) let best_logs = SlowClap::get_balanced_evm_response(&correct_log_responses)
.expect("best logs should be extractable; qed"); .expect("best logs should be extractable; qed");
assert_eq!( assert_eq!(
best_logs, best_logs,

View File

@ -209,13 +209,9 @@ if [[ $HARD_RESET = true ]]; then
echo "WARNING!!! THIS ACTION WILL COMPLETELY PURGE THE LEDGER AND REBUILD THE NODE USING THE LATEST" echo "WARNING!!! THIS ACTION WILL COMPLETELY PURGE THE LEDGER AND REBUILD THE NODE USING THE LATEST"
echo "REPOSITORY VERSION. NOTE THAT THE VALIDATION PROCESS WILL BE LOST BECAUSE SESSION OF KEYS." echo "REPOSITORY VERSION. NOTE THAT THE VALIDATION PROCESS WILL BE LOST BECAUSE SESSION OF KEYS."
echo "THERE ARE TWO SCENARIOS IN WHICH YOU MIGHT NEED TO PROCEED:" echo "THERE ARE TWO SCENARIOS IN WHICH YOU MIGHT NEED TO PROCEED:"
echo -e "\t- A new version of the network has been released, and a restart is neccessary" echo -e "\t- A new version of the network hsa been released, and a restart is neccessary"
echo -e "\t- There is a critical issue, and you require a hard reset of the node in a single command" echo -e "\t- There is a critical issue, and you require a hard reset of the node in a single command"
echo -e "\n" echo -e "\n"
echo "IMPORTANT!!! Your validator's session keys will be also removed. Consequently, your validator node"
echo "will be slashed indefinitely and will become inactive. After hard reset, you'll need to manage the"
echo "keys manually to reactivate the validator."
echo -e "\n"
if prompt "[?] do you understand all risks?"; then if prompt "[?] do you understand all risks?"; then
echo "[+] you were warned, I hope you know what you're doing" echo "[+] you were warned, I hope you know what you're doing"
else else
@ -231,9 +227,8 @@ if [[ $HARD_RESET = true ]]; then
sudo rm -rf "$BASE_PATH/chains/casper_staging_testnet" sudo rm -rf "$BASE_PATH/chains/casper_staging_testnet"
cd $PROJECT_FOLDER cd $PROJECT_FOLDER
# TODO: change to main back before merging git switch main
git switch pallet-slow-clap git pull origin main
git pull origin pallet-slow-clap
echo "[+] starting build in 3 seconds..." echo "[+] starting build in 3 seconds..."
sleep 3 sleep 3
cargo build --release cargo build --release

File diff suppressed because one or more lines are too long

View File

@ -190,55 +190,33 @@ fn casper_testnet_evm_accounts() -> Vec<(AccountId, u128, u8)> {
#[cfg(feature = "casper-native")] #[cfg(feature = "casper-native")]
fn casper_testnet_evm_networks() -> Vec<(u32, Vec<u8>, u128)> { fn casper_testnet_evm_networks() -> Vec<(u32, Vec<u8>, u128)> {
vec![ vec![(
( 11155111,
11155111, ghost_networks::NetworkData {
ghost_networks::NetworkData { chain_name: "sepolia-ethereum-testnet".into(),
chain_name: "sepolia-ethereum-testnet".into(), default_endpoints: vec![
default_endpoints: vec![ "https://sepolia.drpc.org".into(),
"https://sepolia.drpc.org".into(), "https://sepolia.gateway.tenderly.co".into(),
"https://sepolia.gateway.tenderly.co".into(), "https://api.zan.top/eth-sepolia".into(),
"https://api.zan.top/eth-sepolia".into(), "https://rpc.sepolia.ethpandaops.io".into(),
"https://rpc.sepolia.ethpandaops.io".into(), "https://ethereum-sepolia-rpc.publicnode.com".into(),
"https://ethereum-sepolia-rpc.publicnode.com".into(), "https://1rpc.io/sepolia".into(),
"https://1rpc.io/sepolia".into(), "https://0xrpc.io/sep".into(),
"https://0xrpc.io/sep".into(), "https://eth-sepolia.api.onfinality.io/public".into(),
"https://eth-sepolia.api.onfinality.io/public".into(), ],
], finality_delay: 69u64,
finality_delay: 69u64, rate_limit_delay: 5_000u64,
rate_limit_delay: 5_000u64, block_distance: 20u64,
block_distance: 20u64, avg_block_speed: 12_000,
avg_block_speed: 12_000, network_type: ghost_networks::NetworkType::Evm,
network_type: ghost_networks::NetworkType::Evm, gatekeeper: "0xc85129A097773B7F8970a7364c928C05f265E6A1".into(),
gatekeeper: "0xc85129A097773B7F8970a7364c928C05f265E6A1".into(), topic_name: "0x7ab52ec05c331e6257a3d705d6bea6e4c27277351764ad139209e06b203811a6".into(),
topic_name: "0x7ab52ec05c331e6257a3d705d6bea6e4c27277351764ad139209e06b203811a6".into(), incoming_fee: 69_000_000u32,
incoming_fee: 69_000_000u32, outgoing_fee: 0u32,
outgoing_fee: 0u32, }
}.encode(), .encode(),
2048861035254140036511u128, 1464619352760244956993u128,
), )]
(
63,
ghost_networks::NetworkData {
chain_name: "mordor-classic-testnet".into(),
default_endpoints: vec![
"https://rpc.mordor.etccooperative.org".into(),
"https://geth-mordor.etc-network.info".into(),
"https://0xrpc.io/mordor".into(),
],
finality_delay: 3_000u64,
rate_limit_delay: 5_000u64,
block_distance: 20u64,
avg_block_speed: 13_000,
network_type: ghost_networks::NetworkType::Evm,
gatekeeper: "0xA59cB4ff90bE2206121aE61eEB68d0AeC7BA095f".into(),
topic_name: "0x7ab52ec05c331e6257a3d705d6bea6e4c27277351764ad139209e06b203811a6".into(),
incoming_fee: 69_000_000u32,
outgoing_fee: 0u32,
}.encode(),
5100000000000000000u128,
),
]
} }
/// Helper function to create casper `GenesisConfig` for testing /// Helper function to create casper `GenesisConfig` for testing
@ -460,7 +438,7 @@ fn casper_staging_config_genesis() -> serde_json::Value {
.collect::<Vec<_>>(), .collect::<Vec<_>>(),
}, },
"staking": { "staking": {
"validatorCount": 69, "validatorCount": 500,
"minimumValidatorCount": 3, "minimumValidatorCount": 3,
"stakers": initial_authorities "stakers": initial_authorities
.iter() .iter()
@ -475,10 +453,8 @@ fn casper_staging_config_genesis() -> serde_json::Value {
.collect::<Vec<_>>(), .collect::<Vec<_>>(),
"forceEra": Forcing::NotForcing, "forceEra": Forcing::NotForcing,
"slashRewardFraction": Perbill::from_percent(10), "slashRewardFraction": Perbill::from_percent(10),
"minNominatorBond": 690 * STRH, "minNominatorBond": 6_900 * STRH,
"minValidatorBond": 6_900 * STRH, "minValidatorBond": 6_900 * STRH,
"maxNominatorCount": Some(1337),
"maxValidatorCount": Some(420),
}, },
"babe": { "babe": {
"epochConfig": Some(casper::BABE_GENESIS_EPOCH_CONFIG), "epochConfig": Some(casper::BABE_GENESIS_EPOCH_CONFIG),

View File

@ -8,7 +8,7 @@ pub fn legacy_endowments() -> Vec<(primitives::AccountId, u128)> {
), ),
( (
hex!["88a74a42ca9a17acc210ae56ff8ace565e246025a2743da967dfde9d6c76277c"].into(), hex!["88a74a42ca9a17acc210ae56ff8ace565e246025a2743da967dfde9d6c76277c"].into(),
20734039366660590012u128, 11499490981584684807u128,
), ),
( (
hex!["94addf7d81d155c9f4d8d0eab3ceb019939db5f3b0081ae3e888a6ed3c845307"].into(), hex!["94addf7d81d155c9f4d8d0eab3ceb019939db5f3b0081ae3e888a6ed3c845307"].into(),
@ -16,11 +16,11 @@ pub fn legacy_endowments() -> Vec<(primitives::AccountId, u128)> {
), ),
( (
hex!["6e4429a8fa85cfe2a60488af446d57e719207831b2579b937325645e110bb666"].into(), hex!["6e4429a8fa85cfe2a60488af446d57e719207831b2579b937325645e110bb666"].into(),
21042733373739997438u128, 20045398007416485176u128,
), ),
( (
hex!["7409c6caca65472f77938a143a7ee73a85dd9c1acf60fcc13aade8dc1be38a0a"].into(), hex!["7409c6caca65472f77938a143a7ee73a85dd9c1acf60fcc13aade8dc1be38a0a"].into(),
8609732485052672834u128, 30478997642754917282u128,
), ),
( (
hex!["fa402c6b1c1db2ce9e3e1ba4e559581faa821d20254d8d16e4e18057a3b90672"].into(), hex!["fa402c6b1c1db2ce9e3e1ba4e559581faa821d20254d8d16e4e18057a3b90672"].into(),
@ -36,19 +36,19 @@ pub fn legacy_endowments() -> Vec<(primitives::AccountId, u128)> {
), ),
( (
hex!["1225d9453ad3fe1197dfc2410760cea284529e226fef262fb01574ae2a6c5900"].into(), hex!["1225d9453ad3fe1197dfc2410760cea284529e226fef262fb01574ae2a6c5900"].into(),
25679625557282857591u128, 16442998462241875728u128,
), ),
( (
hex!["ac871e8bab00dd56ba3a1c0bd289357203dcaf10010b0b04ad7472870cd22a3c"].into(), hex!["ac871e8bab00dd56ba3a1c0bd289357203dcaf10010b0b04ad7472870cd22a3c"].into(),
4495926542421046636u128, 1998508837042115740u128,
), ),
( (
hex!["6cabf6e32fb8909acae30605bb3e5997d201103d298734851d58022423977655"].into(), hex!["6cabf6e32fb8909acae30605bb3e5997d201103d298734851d58022423977655"].into(),
301045085375060900u128, 12822257832237511466u128,
), ),
( (
hex!["fe0f596b6bf22b5fbad52ebce3429bb6bdeb00996fc8e51aae2e437450f6b578"].into(), hex!["fe0f596b6bf22b5fbad52ebce3429bb6bdeb00996fc8e51aae2e437450f6b578"].into(),
2686488249070628254u128, 12157355198880897693u128,
), ),
( (
hex!["84e01e431c701383fb0fc204338aca8cff0a2e88bb9397ba7b5ec8b236850e17"].into(), hex!["84e01e431c701383fb0fc204338aca8cff0a2e88bb9397ba7b5ec8b236850e17"].into(),
@ -56,11 +56,11 @@ pub fn legacy_endowments() -> Vec<(primitives::AccountId, u128)> {
), ),
( (
hex!["507110e1a96c4b781207ad9c790c558f752ca99614f281b6b24a2e467e04e25e"].into(), hex!["507110e1a96c4b781207ad9c790c558f752ca99614f281b6b24a2e467e04e25e"].into(),
446342905026072u128, 9713310740009473644u128,
), ),
( (
hex!["005dc72f4d842896adf3505695eef833aad9cdee22448751f0500c30cfdda247"].into(), hex!["005dc72f4d842896adf3505695eef833aad9cdee22448751f0500c30cfdda247"].into(),
19922026892862601u128, 14021423144351682305u128,
), ),
( (
hex!["a64f42e128afa40b848faf5df5e260e58390c6ca2bbcd5e866b5460a4c2dc60c"].into(), hex!["a64f42e128afa40b848faf5df5e260e58390c6ca2bbcd5e866b5460a4c2dc60c"].into(),
@ -68,7 +68,7 @@ pub fn legacy_endowments() -> Vec<(primitives::AccountId, u128)> {
), ),
( (
hex!["4a32ed6e36b6dec1ce328c650f5276a6e5ac4e594b7ba71a1cb87a2770f53b33"].into(), hex!["4a32ed6e36b6dec1ce328c650f5276a6e5ac4e594b7ba71a1cb87a2770f53b33"].into(),
726673904645949199u128, 14140001662633653275u128,
), ),
( (
hex!["58967ccdc9d4ddab5c32b6605947becba27cca5799a93c9d4d03a0fb3ebc7316"].into(), hex!["58967ccdc9d4ddab5c32b6605947becba27cca5799a93c9d4d03a0fb3ebc7316"].into(),
@ -76,23 +76,19 @@ pub fn legacy_endowments() -> Vec<(primitives::AccountId, u128)> {
), ),
( (
hex!["323158b7e1cb9b3104fce73ed72095764fe785a1d14b9a8f73e54973f04b9d74"].into(), hex!["323158b7e1cb9b3104fce73ed72095764fe785a1d14b9a8f73e54973f04b9d74"].into(),
531467153727934259u128, 13375245216003871505u128,
), ),
( (
hex!["3e130ccc1fac5e9d5c2c280341ce8b8dbcafc17ceb75d3722f83404ed2215856"].into(), hex!["3e130ccc1fac5e9d5c2c280341ce8b8dbcafc17ceb75d3722f83404ed2215856"].into(),
16753318413269579418u128, 16753318413269579418u128,
), ),
(
hex!["a003dfd6d28a3fabf2b46df20383635c72c5a41d8ee79a5fb75e9d1298b3761f"].into(),
1172036132833830838u128,
),
( (
hex!["acbda1ba4cfd81cd430b53a834c0d92085e8efc6948a03c10c2f6a66ba19443a"].into(), hex!["acbda1ba4cfd81cd430b53a834c0d92085e8efc6948a03c10c2f6a66ba19443a"].into(),
36751232674856508996u128, 36751232674856508996u128,
), ),
( (
hex!["4cecf92b37e6954f086002cf7b6a61ac7d9ba40c83ef963005e3cacfb5c1e13f"].into(), hex!["4cecf92b37e6954f086002cf7b6a61ac7d9ba40c83ef963005e3cacfb5c1e13f"].into(),
14038937501875054342u128, 14040022959030355565u128,
), ),
( (
hex!["f09c9f7ecdd1be0d07a2d0759efdff5152f23ec742f86e15a9ac03c0995f2365"].into(), hex!["f09c9f7ecdd1be0d07a2d0759efdff5152f23ec742f86e15a9ac03c0995f2365"].into(),
@ -102,10 +98,6 @@ pub fn legacy_endowments() -> Vec<(primitives::AccountId, u128)> {
hex!["8256b4a52f0277042cacc427cf00b8d668d0e7fe7824f53acf927da985f32410"].into(), hex!["8256b4a52f0277042cacc427cf00b8d668d0e7fe7824f53acf927da985f32410"].into(),
898508876174623538u128, 898508876174623538u128,
), ),
(
hex!["bea3d9a526bfdbd98870bb615dc91d5d9295a6e021e5e9b9193801697a05586e"].into(),
225166041881037450131u128,
),
( (
hex!["3a926d7cf3546e58e48f9faf392b02e6d1d43011676378914988eeaea2cbff3a"].into(), hex!["3a926d7cf3546e58e48f9faf392b02e6d1d43011676378914988eeaea2cbff3a"].into(),
4035504698494152u128, 4035504698494152u128,
@ -116,19 +108,15 @@ pub fn legacy_endowments() -> Vec<(primitives::AccountId, u128)> {
), ),
( (
hex!["cc88301ef74e085f731220d101dcd14d2b04bc1e59a6c45009c156a9990eab46"].into(), hex!["cc88301ef74e085f731220d101dcd14d2b04bc1e59a6c45009c156a9990eab46"].into(),
153582139771143223684u128, 38103139771143223684u128,
), ),
( (
hex!["46f41aed549dcfa8c094c19787dfbe974fef680eacd209ef88640c82bcb77811"].into(), hex!["46f41aed549dcfa8c094c19787dfbe974fef680eacd209ef88640c82bcb77811"].into(),
13819008291976111251u128, 13819008291976111251u128,
), ),
(
hex!["58ed8cee04bcfb70719644a6b9478b8eebfe7ffc8964590e12e1bf36ea245375"].into(),
11624450784910043012u128,
),
( (
hex!["9a3e9942c0cb9fe1f1acc97c3bf458e9b7955f44604183e569d5120de3400e10"].into(), hex!["9a3e9942c0cb9fe1f1acc97c3bf458e9b7955f44604183e569d5120de3400e10"].into(),
14452183576445203470u128, 8835780408986419448u128,
), ),
( (
hex!["9aceaa2fa9e3226bbe106cd0150f9807b089281b16942bff471caa1359aa8a22"].into(), hex!["9aceaa2fa9e3226bbe106cd0150f9807b089281b16942bff471caa1359aa8a22"].into(),
@ -138,33 +126,29 @@ pub fn legacy_endowments() -> Vec<(primitives::AccountId, u128)> {
hex!["661fd59a3748d65d66d9612f0c8f5871029e8e74deb3c0e1fbdbcf3c04e84a5e"].into(), hex!["661fd59a3748d65d66d9612f0c8f5871029e8e74deb3c0e1fbdbcf3c04e84a5e"].into(),
246508876174623538u128, 246508876174623538u128,
), ),
(
hex!["d02a399ba8d6efe950c0c6557606b8b13147b353c11f4495a2cba2a396e7be2f"].into(),
29163375134216277028u128,
),
( (
hex!["20fed126411d5d1a1ab3915bffac49297b0eae9dcf4288589c0cad49d925637b"].into(), hex!["20fed126411d5d1a1ab3915bffac49297b0eae9dcf4288589c0cad49d925637b"].into(),
5963508876174623538u128, 1308508876174623538u128,
), ),
( (
hex!["eeaaf5db1b1eb55cc8c1b26c5092868ada9af63c2961bba4d4b5d63e99371c00"].into(), hex!["eeaaf5db1b1eb55cc8c1b26c5092868ada9af63c2961bba4d4b5d63e99371c00"].into(),
11725156115646367945u128, 13381482878571786796u128,
), ),
( (
hex!["ac9e227e30a63ce6eeb55cfbb1fb832aa7e1d3fad2bcb3f663de4a91d744fd50"].into(), hex!["ac9e227e30a63ce6eeb55cfbb1fb832aa7e1d3fad2bcb3f663de4a91d744fd50"].into(),
7523053899371678858u128, 75053899371678858u128,
), ),
( (
hex!["144a1fa97fdba679efd2a36696a0d40f585b649143bb7da5cbd7458ea4a0f674"].into(), hex!["144a1fa97fdba679efd2a36696a0d40f585b649143bb7da5cbd7458ea4a0f674"].into(),
28761584046403187249u128, 19762757562620855283u128,
), ),
( (
hex!["a231498b31f698619d80746aa2049ec187c4a103a3c5a8940e14d1b03abe1239"].into(), hex!["a231498b31f698619d80746aa2049ec187c4a103a3c5a8940e14d1b03abe1239"].into(),
1093016078816558319u128, 676568060690000000u128,
), ),
( (
hex!["d05b788865ffffdfbb7dfecd937188628a275926ab47742f84b5cda86e5d825d"].into(), hex!["d05b788865ffffdfbb7dfecd937188628a275926ab47742f84b5cda86e5d825d"].into(),
4095526634890427372u128, 97017752349247076u128,
), ),
( (
hex!["7673ef8a48eaf9364831735201743d20587e27ff5ff2df42808e4625be6f656b"].into(), hex!["7673ef8a48eaf9364831735201743d20587e27ff5ff2df42808e4625be6f656b"].into(),
@ -204,7 +188,7 @@ pub fn legacy_endowments() -> Vec<(primitives::AccountId, u128)> {
), ),
( (
hex!["d84a9b4a2039ac793cb4108990e10e8341039a9c5caee9ed271cd84cc91d2e10"].into(), hex!["d84a9b4a2039ac793cb4108990e10e8341039a9c5caee9ed271cd84cc91d2e10"].into(),
136401570550894040265u128, 82999821765415413069u128,
), ),
( (
hex!["a280b6e97389ed44d9ae9fcb36df39072ab60c7e71088087c4890b8e07f1d97b"].into(), hex!["a280b6e97389ed44d9ae9fcb36df39072ab60c7e71088087c4890b8e07f1d97b"].into(),
@ -228,7 +212,7 @@ pub fn legacy_endowments() -> Vec<(primitives::AccountId, u128)> {
), ),
( (
hex!["3a6626211a2dd35683fd7cb5f2f343d75f2b698d6c48c2d6eb1cdbe116e32315"].into(), hex!["3a6626211a2dd35683fd7cb5f2f343d75f2b698d6c48c2d6eb1cdbe116e32315"].into(),
56407584060005963171u128, 28409923837144670351u128,
), ),
( (
hex!["785b89d27366fcba6ff4dc6a6fa3dfc586d2f5edc15f9416e3a93229f0e7c45d"].into(), hex!["785b89d27366fcba6ff4dc6a6fa3dfc586d2f5edc15f9416e3a93229f0e7c45d"].into(),
@ -236,7 +220,7 @@ pub fn legacy_endowments() -> Vec<(primitives::AccountId, u128)> {
), ),
( (
hex!["985562d52d2ce181cdfe12598b40c15ea91adbf74a681ce82029d323f63af45d"].into(), hex!["985562d52d2ce181cdfe12598b40c15ea91adbf74a681ce82029d323f63af45d"].into(),
12374996121419906402u128, 10071185931226347521u128,
), ),
( (
hex!["fa7728904cfced5998fd559251a9dfb008d2bd838917b9eb6c5332a9ed22b302"].into(), hex!["fa7728904cfced5998fd559251a9dfb008d2bd838917b9eb6c5332a9ed22b302"].into(),
@ -244,11 +228,11 @@ pub fn legacy_endowments() -> Vec<(primitives::AccountId, u128)> {
), ),
( (
hex!["80aac52e8482215ae5d022f71c50734b9f5e6d5048bb4d7a198fb77925f97a34"].into(), hex!["80aac52e8482215ae5d022f71c50734b9f5e6d5048bb4d7a198fb77925f97a34"].into(),
21321617482381290055u128, 11402028653479979903u128,
), ),
( (
hex!["0afa4924d17ab1f9d4aa4197f566ab29f5360a3e03949799f74638cf33d9b852"].into(), hex!["0afa4924d17ab1f9d4aa4197f566ab29f5360a3e03949799f74638cf33d9b852"].into(),
10790907513786741192u128, 12792398754994057800u128,
), ),
( (
hex!["42c3d5a95c5ba5b9daaa0f68631fa1d0cc744c0dc50476c392167d86d6368b0a"].into(), hex!["42c3d5a95c5ba5b9daaa0f68631fa1d0cc744c0dc50476c392167d86d6368b0a"].into(),
@ -260,7 +244,7 @@ pub fn legacy_endowments() -> Vec<(primitives::AccountId, u128)> {
), ),
( (
hex!["ea1c01ff56725c6fdd62efaa119b704a2f467fd21d20a3c2117668bfeba02e76"].into(), hex!["ea1c01ff56725c6fdd62efaa119b704a2f467fd21d20a3c2117668bfeba02e76"].into(),
24674926655816994525u128, 15364926655816994525u128,
), ),
( (
hex!["ea24c5b5640658f8ad793b40d819dc22c4d55415c666c2e402f6c8412c9c3126"].into(), hex!["ea24c5b5640658f8ad793b40d819dc22c4d55415c666c2e402f6c8412c9c3126"].into(),
@ -286,17 +270,13 @@ pub fn legacy_endowments() -> Vec<(primitives::AccountId, u128)> {
hex!["2224294c8b826c3d35b6105a91923dfcf6c50706a2d57527b971dbc1f4a8c90b"].into(), hex!["2224294c8b826c3d35b6105a91923dfcf6c50706a2d57527b971dbc1f4a8c90b"].into(),
529726628523870614u128, 529726628523870614u128,
), ),
(
hex!["3a77a32adecbed35c23e07ed397d22a135542e0d8f265b874f9985792e7bc600"].into(),
86560477751508148u128,
),
( (
hex!["20655f7d14fb63c001601c177e513c4e2197253e38638cb034e0ecda9f93db79"].into(), hex!["20655f7d14fb63c001601c177e513c4e2197253e38638cb034e0ecda9f93db79"].into(),
1005108876174623538u128, 1005108876174623538u128,
), ),
( (
hex!["7000daf495c30583e255cbf926dcc278427a300c96ef807ddf3f05a38bb3bd6f"].into(), hex!["7000daf495c30583e255cbf926dcc278427a300c96ef807ddf3f05a38bb3bd6f"].into(),
114705813875568537231u128, 12295813875568537231u128,
), ),
( (
hex!["fa18d3053a66f26a024bbf0b04571477688542fab309fc4fab6419e7744e023d"].into(), hex!["fa18d3053a66f26a024bbf0b04571477688542fab309fc4fab6419e7744e023d"].into(),
@ -328,7 +308,7 @@ pub fn legacy_endowments() -> Vec<(primitives::AccountId, u128)> {
), ),
( (
hex!["6d6f646c70792f74727372790000000000000000000000000000000000000000"].into(), hex!["6d6f646c70792f74727372790000000000000000000000000000000000000000"].into(),
853506701376908793934u128, 490184997478957959982u128,
), ),
( (
hex!["9607407bc837b24624c7886129755843bd3a149f8bfec76bc8f828876cac3461"].into(), hex!["9607407bc837b24624c7886129755843bd3a149f8bfec76bc8f828876cac3461"].into(),
@ -348,15 +328,15 @@ pub fn legacy_endowments() -> Vec<(primitives::AccountId, u128)> {
), ),
( (
hex!["b624cb291f7464773f3b449ee2252165f3934ace08b1e10611a53e174766fc73"].into(), hex!["b624cb291f7464773f3b449ee2252165f3934ace08b1e10611a53e174766fc73"].into(),
30936250630249413310u128, 20389023363985231125u128,
), ),
( (
hex!["1eef351e2c381586366f89bbdf5c690372fa05c7c5a47e6351315f0aa9507029"].into(), hex!["1eef351e2c381586366f89bbdf5c690372fa05c7c5a47e6351315f0aa9507029"].into(),
19477108324061651032u128, 13515506357309430378u128,
), ),
( (
hex!["4a2aa2bccfe5ae7a771fc2ce7732ad2da397ee51f0a45f18c167bb555fa70506"].into(), hex!["4a2aa2bccfe5ae7a771fc2ce7732ad2da397ee51f0a45f18c167bb555fa70506"].into(),
1936519460520939399u128, 2793000000000000000u128,
), ),
( (
hex!["909f0584f25fd044fc4336f966e14e925d77466e8629f4c6888d55cf594b6d76"].into(), hex!["909f0584f25fd044fc4336f966e14e925d77466e8629f4c6888d55cf594b6d76"].into(),
@ -368,7 +348,7 @@ pub fn legacy_endowments() -> Vec<(primitives::AccountId, u128)> {
), ),
( (
hex!["749089588c2a57b4cc4adc4541c441332d2fa11acf13f785e470d03cef61d75d"].into(), hex!["749089588c2a57b4cc4adc4541c441332d2fa11acf13f785e470d03cef61d75d"].into(),
15232317322641616299u128, 13128362389531005022u128,
), ),
( (
hex!["de3d246b0109357114d1ee78ec4598fcff1cf19da4254ced289ac4e534b6084b"].into(), hex!["de3d246b0109357114d1ee78ec4598fcff1cf19da4254ced289ac4e534b6084b"].into(),
@ -376,7 +356,7 @@ pub fn legacy_endowments() -> Vec<(primitives::AccountId, u128)> {
), ),
( (
hex!["2a5bc425d9c6b8e29d5ccfe3282560fc8ab079262763aaf4d9269c7c6043f208"].into(), hex!["2a5bc425d9c6b8e29d5ccfe3282560fc8ab079262763aaf4d9269c7c6043f208"].into(),
19879072140569666945u128, 12344029246075616723u128,
), ),
( (
hex!["347db8f39a1a1efa2ec9daeaaa04e3512238e9a6970fba65878f83366e927f27"].into(), hex!["347db8f39a1a1efa2ec9daeaaa04e3512238e9a6970fba65878f83366e927f27"].into(),
@ -384,19 +364,19 @@ pub fn legacy_endowments() -> Vec<(primitives::AccountId, u128)> {
), ),
( (
hex!["4a5596e97c602e7846d54fae81dcdc5a553b7422231e32f9567ac30a6b7c743a"].into(), hex!["4a5596e97c602e7846d54fae81dcdc5a553b7422231e32f9567ac30a6b7c743a"].into(),
41638135068286046818u128, 31034809886518069653u128,
), ),
( (
hex!["3cae73748956c91dc21f54e2653e0fb76b9c8ffe38c2c3e2ad6483e88c968a02"].into(), hex!["3cae73748956c91dc21f54e2653e0fb76b9c8ffe38c2c3e2ad6483e88c968a02"].into(),
4059791817567310973u128, 12376423999653776239u128,
), ),
( (
hex!["5688a4d3171b935a3b038729ccb0cca068a4243cd3a6b7e102e7e14ac49d6427"].into(), hex!["5688a4d3171b935a3b038729ccb0cca068a4243cd3a6b7e102e7e14ac49d6427"].into(),
14893617583873139066u128, 13207638229965515023u128,
), ),
( (
hex!["8c7a053eb4ce5a680150650e88533ade4ce08fee5340888ae655df3c37910d04"].into(), hex!["8c7a053eb4ce5a680150650e88533ade4ce08fee5340888ae655df3c37910d04"].into(),
3076517758715803834u128, 388508876174623538u128,
), ),
( (
hex!["3a2e10fef720299388eb789aaab0e0bb1b7c10464aa7c442c6a584cf11c01845"].into(), hex!["3a2e10fef720299388eb789aaab0e0bb1b7c10464aa7c442c6a584cf11c01845"].into(),
@ -404,7 +384,7 @@ pub fn legacy_endowments() -> Vec<(primitives::AccountId, u128)> {
), ),
( (
hex!["8e20ae229b297cdb71aaa122c0182c636d9f97f9d38e7dffb24045b00374a060"].into(), hex!["8e20ae229b297cdb71aaa122c0182c636d9f97f9d38e7dffb24045b00374a060"].into(),
343021429061225383u128, 316542729061225383u128,
), ),
( (
hex!["4850e7dd6e309b3758b16a43e96cc16455245ab31dbf2920397e58106ee7a112"].into(), hex!["4850e7dd6e309b3758b16a43e96cc16455245ab31dbf2920397e58106ee7a112"].into(),
@ -420,23 +400,23 @@ pub fn legacy_endowments() -> Vec<(primitives::AccountId, u128)> {
), ),
( (
hex!["5a792ca101c15da5b237477a3c1e30f4873a21c8046bfc44117d4f3dedceb374"].into(), hex!["5a792ca101c15da5b237477a3c1e30f4873a21c8046bfc44117d4f3dedceb374"].into(),
24023038343078900634u128, 24125718413269577510u128,
), ),
( (
hex!["3068d31973cc3b18745cf5d6e75e2ec0a940d2aec79af2b313a530f6c558d77e"].into(), hex!["3068d31973cc3b18745cf5d6e75e2ec0a940d2aec79af2b313a530f6c558d77e"].into(),
2095662152322035040u128, 1990135504698494152u128,
), ),
( (
hex!["76ef9c99dfb1ee5604b7d7314f61908957db55fa294a0794c6bf793691c49954"].into(), hex!["76ef9c99dfb1ee5604b7d7314f61908957db55fa294a0794c6bf793691c49954"].into(),
17910287937252530940u128, 13101580949598094188u128,
), ),
( (
hex!["c8ffc2b4e770b08b9a4ae10168c48dd821581a2df3cf5f3a371dcc1326bbe94c"].into(), hex!["c8ffc2b4e770b08b9a4ae10168c48dd821581a2df3cf5f3a371dcc1326bbe94c"].into(),
25677594611394060807u128, 9310000000000000000u128,
), ),
( (
hex!["f235af8680ec5cbfbac0fc818da07c727e449454b04e2d96671e2d64ececb30a"].into(), hex!["f235af8680ec5cbfbac0fc818da07c727e449454b04e2d96671e2d64ececb30a"].into(),
4260671995070680428u128, 4167571995070680428u128,
), ),
( (
hex!["c8f4d838e6e262a7c905eb268f36a3e5b7240130aa895384822cdd968586cb01"].into(), hex!["c8f4d838e6e262a7c905eb268f36a3e5b7240130aa895384822cdd968586cb01"].into(),
@ -444,11 +424,11 @@ pub fn legacy_endowments() -> Vec<(primitives::AccountId, u128)> {
), ),
( (
hex!["160d647d9a380687f63cbe4ea23279692b997a3dad19227b1bb85f08965d7859"].into(), hex!["160d647d9a380687f63cbe4ea23279692b997a3dad19227b1bb85f08965d7859"].into(),
15825904340197502330u128, 15280448272566261071u128,
), ),
( (
hex!["e872e23fc05919751708f5bf887a68ef9c175cf7f1728dca6220e2a2370e163f"].into(), hex!["e872e23fc05919751708f5bf887a68ef9c175cf7f1728dca6220e2a2370e163f"].into(),
25193857844634143446u128, 12599268699455778903u128,
), ),
( (
hex!["685c600574546bad67b0ae6768f07b7fee1f1aec6473c941606f9829cfa93b6c"].into(), hex!["685c600574546bad67b0ae6768f07b7fee1f1aec6473c941606f9829cfa93b6c"].into(),
@ -456,7 +436,7 @@ pub fn legacy_endowments() -> Vec<(primitives::AccountId, u128)> {
), ),
( (
hex!["ba821401516b2429cd25e506c1af11b23808d039d1319d6b2eb7a9222d922179"].into(), hex!["ba821401516b2429cd25e506c1af11b23808d039d1319d6b2eb7a9222d922179"].into(),
28918786313447682171u128, 18372096744466282652u128,
), ),
( (
hex!["2e1158566a7c2a57c68e542b64ac5987cb69aaaf846735addafc6f90cb5d8e3b"].into(), hex!["2e1158566a7c2a57c68e542b64ac5987cb69aaaf846735addafc6f90cb5d8e3b"].into(),
@ -466,10 +446,6 @@ pub fn legacy_endowments() -> Vec<(primitives::AccountId, u128)> {
hex!["da35bf90643e1f5431031728c9f9c3eebea63c6bcfce1c8b468591cf6ed35210"].into(), hex!["da35bf90643e1f5431031728c9f9c3eebea63c6bcfce1c8b468591cf6ed35210"].into(),
11680033590958446157u128, 11680033590958446157u128,
), ),
(
hex!["d0b6e4237e5d05345ce398eed219ae1be33b4180afb35c54d1d02a5da4feeb68"].into(),
30482480277587823790u128,
),
( (
hex!["a8c76be6e69cb05748f5accbced41809a1bdf30400402e63753fc85adfbea418"].into(), hex!["a8c76be6e69cb05748f5accbced41809a1bdf30400402e63753fc85adfbea418"].into(),
8060691100000000000u128, 8060691100000000000u128,
@ -480,16 +456,12 @@ pub fn legacy_endowments() -> Vec<(primitives::AccountId, u128)> {
), ),
( (
hex!["909ab2271d3fc8df9e8556232a29eea7cf1cfdf8c89603a602779daa6484f011"].into(), hex!["909ab2271d3fc8df9e8556232a29eea7cf1cfdf8c89603a602779daa6484f011"].into(),
24759199566796371707u128, 15989848178884321645u128,
), ),
( (
hex!["f0515fcc6570d35645675f99aa04295fd1e12d88ab9abcac61f58092a5c3e316"].into(), hex!["f0515fcc6570d35645675f99aa04295fd1e12d88ab9abcac61f58092a5c3e316"].into(),
1622526628523870614u128, 1622526628523870614u128,
), ),
(
hex!["8af45cf6dd06aeb958c3b41fe2b37a2d523179efffe7ce287fbe0b80471e363b"].into(),
6949838187631199u128,
),
( (
hex!["a02d33ee7c4d38649d4bd88f330e75740ab4e4aa55e0f18110d8e6c72f71615a"].into(), hex!["a02d33ee7c4d38649d4bd88f330e75740ab4e4aa55e0f18110d8e6c72f71615a"].into(),
430027752349247076u128, 430027752349247076u128,
@ -502,17 +474,13 @@ pub fn legacy_endowments() -> Vec<(primitives::AccountId, u128)> {
hex!["562f42de365612dd23609a21117e3b807242f50af7a51877fc907656e723b41c"].into(), hex!["562f42de365612dd23609a21117e3b807242f50af7a51877fc907656e723b41c"].into(),
23545504698493896u128, 23545504698493896u128,
), ),
(
hex!["bc5660de2352353da342e9c853ff20f820929aff755a0802841d32f36cf06672"].into(),
14997410948120188860u128,
),
( (
hex!["3cd73e0f752cf301d3c2bca3d72d2502003d7143bacac8944e972bbe921a1b11"].into(), hex!["3cd73e0f752cf301d3c2bca3d72d2502003d7143bacac8944e972bbe921a1b11"].into(),
1193117758715803834u128, 539608876174623538u128,
), ),
( (
hex!["223ab980529a7f877a79fb4bd2280c60e8ed0978b21007de70e1682f5d0fe846"].into(), hex!["223ab980529a7f877a79fb4bd2280c60e8ed0978b21007de70e1682f5d0fe846"].into(),
6566608321352507005u128, 6394212201126639927u128,
), ),
( (
hex!["74302b4989cfd149c4a99b0bc9a4ff82cf63d3f4291fa2597963fe4db56e401a"].into(), hex!["74302b4989cfd149c4a99b0bc9a4ff82cf63d3f4291fa2597963fe4db56e401a"].into(),
@ -520,39 +488,31 @@ pub fn legacy_endowments() -> Vec<(primitives::AccountId, u128)> {
), ),
( (
hex!["9696d44dce264f5c1e2e5cdbc3c0609a627ac712dbd7ce6a24a415b7ea652773"].into(), hex!["9696d44dce264f5c1e2e5cdbc3c0609a627ac712dbd7ce6a24a415b7ea652773"].into(),
20698814168008932416u128, 13064032622783391575u128,
), ),
( (
hex!["b852757ba5ce6a3fddcdd13f7a548d16532dbf1b16693d951c348860c421ab16"].into(), hex!["b852757ba5ce6a3fddcdd13f7a548d16532dbf1b16693d951c348860c421ab16"].into(),
11351527332712054762u128, 13090753661669103954u128,
), ),
( (
hex!["223983e8b68f45666ec4faa573b2aa9b664b20bc25517c179cb354eda6704b04"].into(), hex!["223983e8b68f45666ec4faa573b2aa9b664b20bc25517c179cb354eda6704b04"].into(),
14905713185341512010u128, 15187474897366947923u128,
), ),
( (
hex!["94cc169c4cd81710fe19a6ce10ef35b1fe1d53aa04dc24e0a55d3a6dda728909"].into(), hex!["94cc169c4cd81710fe19a6ce10ef35b1fe1d53aa04dc24e0a55d3a6dda728909"].into(),
9490152116008452257u128, 9490152116008452257u128,
), ),
(
hex!["9811dbf8f334e5bd354374b5224be3db6d2d0019d4abd84e57701093ae2fcd38"].into(),
508205226151823215u128,
),
( (
hex!["daff035dfadff80ada04930d67be6dc9837d65d39a124a64973b1f52e6203876"].into(), hex!["daff035dfadff80ada04930d67be6dc9837d65d39a124a64973b1f52e6203876"].into(),
14139373499800648011u128, 16388220707138965567u128,
), ),
( (
hex!["a04214ec6484663f990a1dd3f4a02f8f174723a54a369478c076573aa43d1e30"].into(), hex!["a04214ec6484663f990a1dd3f4a02f8f174723a54a369478c076573aa43d1e30"].into(),
16582086343620630086u128, 11024583916484684117u128,
),
(
hex!["3884cb632764ef37c200430b9247935df3370eb1f68e26d2335e7a08cfee6331"].into(),
15809344826831310198u128,
), ),
( (
hex!["425533de216bf2e3a9d1f3358dbf23a8d56d3d2fdbfe5deb2d989716fd26734f"].into(), hex!["425533de216bf2e3a9d1f3358dbf23a8d56d3d2fdbfe5deb2d989716fd26734f"].into(),
14123180658174610206u128, 14124681775633429910u128,
), ),
( (
hex!["fc1310a824a7c8744b6f6308198e4a9bf9baea4a673bafedd49f35824eeb3947"].into(), hex!["fc1310a824a7c8744b6f6308198e4a9bf9baea4a673bafedd49f35824eeb3947"].into(),
@ -582,25 +542,17 @@ pub fn legacy_endowments() -> Vec<(primitives::AccountId, u128)> {
hex!["30acd0fd37df7b6b9dca64287fe3bf0ad3563ad2868567170b79d48a2be1905d"].into(), hex!["30acd0fd37df7b6b9dca64287fe3bf0ad3563ad2868567170b79d48a2be1905d"].into(),
10233781528150093525u128, 10233781528150093525u128,
), ),
(
hex!["10b2b93e271f30d21a3c0c8937e5190750667fea2ae7fb56a0f179a86c383713"].into(),
21613466323512262u128,
),
( (
hex!["46c78fcacffd80abc9cca4917ef8369a37e21a1691ca11e7a3b53f80be745313"].into(), hex!["46c78fcacffd80abc9cca4917ef8369a37e21a1691ca11e7a3b53f80be745313"].into(),
7147764927833644204u128, 7147764927833644204u128,
), ),
(
hex!["d25b9ebe75a5d72c366c26588416509881a273ac9411e5fe6052c25ab7ed5311"].into(),
25066498882541180296u128,
),
( (
hex!["e8c8d51024385be1fa0e5003a6725626d96f7b02fdc0a289bdef2095a2170039"].into(), hex!["e8c8d51024385be1fa0e5003a6725626d96f7b02fdc0a289bdef2095a2170039"].into(),
461545504698494152u128, 461545504698494152u128,
), ),
( (
hex!["a0746c5aee539430c94f18adc4a723d3216e348a5e770bd65c70c8e2655e4f73"].into(), hex!["a0746c5aee539430c94f18adc4a723d3216e348a5e770bd65c70c8e2655e4f73"].into(),
19193345540608109431u128, 12197794185639438614u128,
), ),
( (
hex!["da59bcd9273cea92f120a9a9a5a5148a551decb191588dc949331d6badf29a19"].into(), hex!["da59bcd9273cea92f120a9a9a5a5148a551decb191588dc949331d6badf29a19"].into(),
@ -614,17 +566,13 @@ pub fn legacy_endowments() -> Vec<(primitives::AccountId, u128)> {
hex!["96b26d15a812e30bc0dae710eb6ab9ce0c82a450e8eeb94c19c9ee0483ed907c"].into(), hex!["96b26d15a812e30bc0dae710eb6ab9ce0c82a450e8eeb94c19c9ee0483ed907c"].into(),
3389562133222364766u128, 3389562133222364766u128,
), ),
(
hex!["8a5807668ec5a9f0cad02fa02a7b8b5ac7a754f94f00da5048de53e883c54d14"].into(),
20555316237553836240u128,
),
( (
hex!["8610f2ee704cb43240f62a9d7aafa91e31168976c4f91ce7f87db37f42db2953"].into(), hex!["8610f2ee704cb43240f62a9d7aafa91e31168976c4f91ce7f87db37f42db2953"].into(),
2702544380873117690u128, 1702544380873117690u128,
), ),
( (
hex!["96cd8b97a9256ee5ddac3d5d4e128544041d041957815f415d33e51212e5794d"].into(), hex!["96cd8b97a9256ee5ddac3d5d4e128544041d041957815f415d33e51212e5794d"].into(),
2790800114219541994u128, 1396585066737448782u128,
), ),
( (
hex!["b0d88e3974dd9b8e2b5919bb3eaca3241bc3ceca163df036ea539528121cde36"].into(), hex!["b0d88e3974dd9b8e2b5919bb3eaca3241bc3ceca163df036ea539528121cde36"].into(),
@ -632,7 +580,7 @@ pub fn legacy_endowments() -> Vec<(primitives::AccountId, u128)> {
), ),
( (
hex!["8a0d0b66e827bf20e79f9a499317e73925ce4f422371067edfab690e43857f13"].into(), hex!["8a0d0b66e827bf20e79f9a499317e73925ce4f422371067edfab690e43857f13"].into(),
17029519112752711171u128, 3909659906201812974u128,
), ),
( (
hex!["40ad428cb7a2530fc0c38ab879e7f5d54f25cd757cfcb21f46cb023d413eb916"].into(), hex!["40ad428cb7a2530fc0c38ab879e7f5d54f25cd757cfcb21f46cb023d413eb916"].into(),
@ -640,7 +588,7 @@ pub fn legacy_endowments() -> Vec<(primitives::AccountId, u128)> {
), ),
( (
hex!["4cec57aebb419ab80b7d8b699024eaaa9016bb2b90821f18303abebe87b4983e"].into(), hex!["4cec57aebb419ab80b7d8b699024eaaa9016bb2b90821f18303abebe87b4983e"].into(),
5989065741777255205u128, 15265761957965221177u128,
), ),
( (
hex!["2c2d1ac621c332cc1b8e5c1bfc5b1c00c61e9767e8fcf96b1852bb39940fa209"].into(), hex!["2c2d1ac621c332cc1b8e5c1bfc5b1c00c61e9767e8fcf96b1852bb39940fa209"].into(),
@ -648,15 +596,15 @@ pub fn legacy_endowments() -> Vec<(primitives::AccountId, u128)> {
), ),
( (
hex!["6ea653659d6a5e6f3fa95b2ffa4acad62233f91d2dc323632a3fa5c9fc7b533a"].into(), hex!["6ea653659d6a5e6f3fa95b2ffa4acad62233f91d2dc323632a3fa5c9fc7b533a"].into(),
7082036763487176084u128, 12393794455887420639u128,
), ),
( (
hex!["f614e6494fbb66397fe4c799971be187183d85996ac08c2ba37d666635fd0f7d"].into(), hex!["f614e6494fbb66397fe4c799971be187183d85996ac08c2ba37d666635fd0f7d"].into(),
14369468997618688200u128, 14633565813546398869u128,
), ),
( (
hex!["24fae36f401bf052057d4a011dc8b9ec40fcd9ef12a2823c9c8a2acbd40b906d"].into(), hex!["24fae36f401bf052057d4a011dc8b9ec40fcd9ef12a2823c9c8a2acbd40b906d"].into(),
2315886107309065433u128, 2386381009396988304u128,
), ),
( (
hex!["46b7889030d5f4653002b4b3cc50b031548c237e1b26639e26b66af113258c65"].into(), hex!["46b7889030d5f4653002b4b3cc50b031548c237e1b26639e26b66af113258c65"].into(),
@ -670,29 +618,25 @@ pub fn legacy_endowments() -> Vec<(primitives::AccountId, u128)> {
hex!["4ec775d54f1e4d03524571e664108c5c7d8e256ac0b7a9566fe91a13fb489c1d"].into(), hex!["4ec775d54f1e4d03524571e664108c5c7d8e256ac0b7a9566fe91a13fb489c1d"].into(),
9489578019617777151u128, 9489578019617777151u128,
), ),
(
hex!["cebeae91074bd44a612a42098fc923e69d9b2986a9346b9e22e194867cfe1878"].into(),
15601890531640086483u128,
),
( (
hex!["2c1a2fcaaddeb083764fdd5364e961506807f295b7de086bfebcf85323ec3e6f"].into(), hex!["2c1a2fcaaddeb083764fdd5364e961506807f295b7de086bfebcf85323ec3e6f"].into(),
13079350324389304724u128, 13079350324389304724u128,
), ),
( (
hex!["345ff8df58e39dbae032bfed1a3f5d41078376d57adb6cabd8b319fb817b892e"].into(), hex!["345ff8df58e39dbae032bfed1a3f5d41078376d57adb6cabd8b319fb817b892e"].into(),
23468808288638423759u128, 14761261709701909726u128,
), ),
( (
hex!["da6875e9df9a7894e065ef5befcde567dec4dc2c0b73a6ad5514dcca26a90702"].into(), hex!["da6875e9df9a7894e065ef5befcde567dec4dc2c0b73a6ad5514dcca26a90702"].into(),
6493072525488370028u128, 3496638131388321921u128,
), ),
( (
hex!["1a32c203646616b88f262569c5e52c8c45468c0b5ade90996af844a9971ddf31"].into(), hex!["1a32c203646616b88f262569c5e52c8c45468c0b5ade90996af844a9971ddf31"].into(),
19038726261292405641u128, 15811907815599745021u128,
), ),
( (
hex!["e261f574706b696fa627ca60abcd27d71e509d48955c7bd39cfe26a4dbd1a305"].into(), hex!["e261f574706b696fa627ca60abcd27d71e509d48955c7bd39cfe26a4dbd1a305"].into(),
21295213717464967001u128, 10913969526740320780u128,
), ),
( (
hex!["3484fb56e2660d6d91ef93f432777778dcff9df2f9cccf0672504dd71a705358"].into(), hex!["3484fb56e2660d6d91ef93f432777778dcff9df2f9cccf0672504dd71a705358"].into(),
@ -710,10 +654,6 @@ pub fn legacy_endowments() -> Vec<(primitives::AccountId, u128)> {
hex!["94715daf5090147de11f48aee9661c46f98b1215e3a4e54867344635c7e8cf68"].into(), hex!["94715daf5090147de11f48aee9661c46f98b1215e3a4e54867344635c7e8cf68"].into(),
1000000000000000u128, 1000000000000000u128,
), ),
(
hex!["3618b39b2ea7f3b6540772f898d4e10659e63be2cae3f83809464ca0bb5db22a"].into(),
464151188721441320u128,
),
( (
hex!["d2da442bc774b21bf0a2485bc6099e468765255363136b6517adda3d6ceb8e39"].into(), hex!["d2da442bc774b21bf0a2485bc6099e468765255363136b6517adda3d6ceb8e39"].into(),
11360623175679553528u128, 11360623175679553528u128,
@ -722,10 +662,6 @@ pub fn legacy_endowments() -> Vec<(primitives::AccountId, u128)> {
hex!["4e5dbd1516d69f4132e5ea96b7cf92799075c14a32f7995fb9d6f6ebed537d64"].into(), hex!["4e5dbd1516d69f4132e5ea96b7cf92799075c14a32f7995fb9d6f6ebed537d64"].into(),
898508876174623538u128, 898508876174623538u128,
), ),
(
hex!["c60a0232c2be6412a0d4e48d6754179b554d35a245adf6f6fccde7ae6cc0243e"].into(),
58698491577496531u128,
),
( (
hex!["dc3c2d888a41e766647e56ec7e9b71cc8db6553407be8646e35d4c0f803b9946"].into(), hex!["dc3c2d888a41e766647e56ec7e9b71cc8db6553407be8646e35d4c0f803b9946"].into(),
118117752349247076u128, 118117752349247076u128,
@ -736,11 +672,7 @@ pub fn legacy_endowments() -> Vec<(primitives::AccountId, u128)> {
), ),
( (
hex!["422f1935ec60c7e30ea45aa8b9f94adf9fc416887bdfb797860eae4d6ff2552c"].into(), hex!["422f1935ec60c7e30ea45aa8b9f94adf9fc416887bdfb797860eae4d6ff2552c"].into(),
13279615062396777665u128, 13280690314171744710u128,
),
(
hex!["90d14cddba5be458254e80a127cb06f6b2e0344928d949241da6c3e230a9c374"].into(),
4686200000000000000u128,
), ),
( (
hex!["728d8f346c9be14f387d1ce92598cee4becdb41d944ed0d77b9ee3d652e7ec62"].into(), hex!["728d8f346c9be14f387d1ce92598cee4becdb41d944ed0d77b9ee3d652e7ec62"].into(),
@ -748,7 +680,7 @@ pub fn legacy_endowments() -> Vec<(primitives::AccountId, u128)> {
), ),
( (
hex!["3e4c0237d057d92401fc9188893254f503d28af6b35535749f46420827de754d"].into(), hex!["3e4c0237d057d92401fc9188893254f503d28af6b35535749f46420827de754d"].into(),
19242175230462504503u128, 11870458022253848637u128,
), ),
( (
hex!["4c19778e758d3f4763972e2b5119aee898a0c86b3f7dc2f4536f495b44f7a151"].into(), hex!["4c19778e758d3f4763972e2b5119aee898a0c86b3f7dc2f4536f495b44f7a151"].into(),
@ -760,7 +692,7 @@ pub fn legacy_endowments() -> Vec<(primitives::AccountId, u128)> {
), ),
( (
hex!["80eca749f37cb93f00f5309552c26b2c70960452e11faa63d081090542aeac42"].into(), hex!["80eca749f37cb93f00f5309552c26b2c70960452e11faa63d081090542aeac42"].into(),
15018909223219290155u128, 15018816123219290155u128,
), ),
( (
hex!["585bde23981ce0400b174cf234c495114421bb01554344c63dc724357a6dac24"].into(), hex!["585bde23981ce0400b174cf234c495114421bb01554344c63dc724357a6dac24"].into(),
@ -774,18 +706,10 @@ pub fn legacy_endowments() -> Vec<(primitives::AccountId, u128)> {
hex!["328135c5defeeb32f3b3f90196108f56837bb1cb999033bf380464c20ede0d4e"].into(), hex!["328135c5defeeb32f3b3f90196108f56837bb1cb999033bf380464c20ede0d4e"].into(),
1670483976174623538u128, 1670483976174623538u128,
), ),
(
hex!["fc01510458f9a54c10b0fb9be4f6a5f110388ecffbffb79e3b6bfd999a17ed4c"].into(),
1824791460713404165u128,
),
( (
hex!["1c96c3a56374256afa95ffa1c15cb9730d33d91fa4a8fa10b4053b166e714e68"].into(), hex!["1c96c3a56374256afa95ffa1c15cb9730d33d91fa4a8fa10b4053b166e714e68"].into(),
9310000000000000u128, 9310000000000000u128,
), ),
(
hex!["6c151c9f790fa18a0dd60debb296bb252700c482298eaf8b681f599b6f7b5150"].into(),
100000000000000u128,
),
( (
hex!["844ee060a2a94beb0c3a744d00093d1929a68f3b5acc2265e99375855bd60c00"].into(), hex!["844ee060a2a94beb0c3a744d00093d1929a68f3b5acc2265e99375855bd60c00"].into(),
6979217752349247076u128, 6979217752349247076u128,
@ -796,11 +720,11 @@ pub fn legacy_endowments() -> Vec<(primitives::AccountId, u128)> {
), ),
( (
hex!["68c3d18fb07714cab1b1f8b5368e9c1e1f2b5f0e739c0602eeffc1669936ed02"].into(), hex!["68c3d18fb07714cab1b1f8b5368e9c1e1f2b5f0e739c0602eeffc1669936ed02"].into(),
23861181086695331736u128, 14676476815062037968u128,
), ),
( (
hex!["5cb839c6a5e065e83b5dbf20d7082086a376586fe37fa7658cba71eda689c118"].into(), hex!["5cb839c6a5e065e83b5dbf20d7082086a376586fe37fa7658cba71eda689c118"].into(),
14120423305018263853u128, 11658791447719213988u128,
), ),
] ]
} }